]> git.proxmox.com Git - grub2.git/blob - ChangeLog
Don't override more informative errors.
[grub2.git] / ChangeLog
1 2011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Don't override more informative errors.
4
5 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6 * grub-core/font/font.c (open_section): Likewise.
7 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
8 filename. Don't override errors.
9 (grub_cmd_openbsd_ramdisk): Don't override errors.
10 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
11 (grub_cmd_initrd): Likewise.
12 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13 (grub_cmd_initrd): Likewise.
14 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
15 (grub_cmd_linux): Likewise.
16 (grub_cmd_initrd): Likewise.
17 (grub_cmd_payload): Likewise.
18 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
19 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
20 (grub_cmd_module): Likewise.
21 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
22 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
23 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
24 (grub_cmd_xnu_mkext): Likewise.
25 (grub_cmd_xnu_ramdisk): Likewise.
26 (grub_xnu_check_os_bundle_required): Likewise.
27 (grub_xnu_load_kext_from_dir): Likewise.
28 (grub_cmd_xnu_kextdir): Likewise.
29 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
30
31 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
32
33 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
34 as 1024 in block size field. Found on one of my test images.
35 Small optimisation while on it.
36
37 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
38
39 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
40 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
41 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
42 performance fixes while on it.
43 (grub_sfs_close): Fix memory leak while on it.
44 (grub_sfs_label): Convert Latin1 to UTF-8.
45
46 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
49 space to avoid overflows.
50 (grub_hfs_label): Convert from macroman to UTF-8.
51
52 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
53
54 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
55
56 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
57
58 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
59
60 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
61
62 * unicode: Import Unicode 6.0 data.
63
64 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
65
66 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
67 outside of range.
68
69 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
70
71 Avoid cutting in the middle of UTF-8 character.
72
73 * include/grub/charset.h (grub_getend): New function.
74 * grub-core/script/function.c (grub_script_function_find): Use
75 grub_getend.
76 * grub-core/normal/completion.c (add_completion): Likewise.
77
78 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
79
80 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
81 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
82 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
83 (GRUB_UNICODE_TAG_END): Likewise.
84 (GRUB_UNICODE_LAST_VALID): Likewise.
85
86 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
87
88 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
89 len and make it smaller. All users updated.
90 * util/import_unicode.py: Put length and not end character.
91 Check length.
92
93 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
94
95 Make better Unicode-compliant and unify some UTF-8 code pathes.
96
97 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
98 valid character.
99 (grub_is_valid_utf8): Use grub_utf8_process.
100 Check resulting code range.
101 (grub_utf8_to_ucs4): Use grub_utf8_process.
102 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
103 valid character.
104
105 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
106
107 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
108
109 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
110
111 * docs/grub.texi (Filesystems): Mention AFS.
112
113 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
114
115 * docs/grub.texi (Filesystems): Clarify restrictions.
116 (Regexp): Mention non-Unicode regexp behaviour.
117 (Other): Mention non-Unicode matching behaviour.
118
119 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
120
121 Make HFS implementation use MacRoman.
122
123 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
124 (macroman): New const array.
125 (macroman_to_utf8): New function.
126 (utf8_to_macroman): Likewise.
127 (grub_hfs_find_dir): Use utf8_to_macroman.
128 (grub_hfs_dir): Use macroman_to_utf8.
129 Set case_insensitive.
130
131 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
132
133 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
134
135 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
136
137 Integrate hints into autogeneration scripts.
138
139 * docs/grub.texi (Filesystems): Add a hostdisk example.
140 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
141 (grub-probe): Add ofpath.
142 * gentpl.py: Remove group nosparc64.
143 * grub-core/commands/search.c (cache_entry): New struct.
144 (cache): New var.
145 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
146 * grub-core/commands/search_wrap.c (options): Add platform-specific
147 hint options.
148 (grub_cmd_search): Handle platform-specific hints.
149 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
150 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
151 (grub_util_biosdisk_data): Likewise.
152 (grub_util_biosdisk_open): Set device_map.
153 (read_device_map): Handle "" as indication of no map.
154 Set device_map.
155 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
156 (grub_util_biosdisk_get_compatibility_hint): New function.
157 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
158 * include/grub/emu/hostdisk.h
159 (grub_util_biosdisk_get_compatibility_hint): New proto.
160 * util/grub-install.in: Don't call grub-mkdevicemap.
161 Add platform-specific hint to load.cfg.
162 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
163 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
164 hints. Set root preliminary to compatibility hint, not to OS name.
165 * util/grub-probe.c (PRINT_*): Add hints.
166 (print): Make static.
167 (escape_of_path): New function.
168 (guess_bios_drive): Likewise.
169 (guess_efi_drive): Likewise.
170 (guess_baremetal_drive): Likewise.
171 (print_full_name): Likewise.
172 (probe): Handle hints.
173 (main): Likewise.
174 * util/ieee1275/devicemap.c: Removed.
175 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
176 updated.
177 (grub_util_devname_to_ofpath): Return NULL on failure.
178
179 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
180 resource leak.
181 * util/getroot.c (grub_util_pull_device): Fix memory leak.
182
183 * po/POTFILES.in: Regenerated.
184
185 Allow purely long options
186
187 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
188 (SHORT_ARG_USAGE): Likewise.
189 (grub_arg_show_help): Compare opt with help_options.
190 (parse_option): Receive opt as argument. If makes big simplificatons.
191 All users updated
192
193 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
196 Restructure to avoid warning.
197
198 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * util/grub-install.in: Account for possible escaped comma in device
201 name.
202
203 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
206 channel.
207
208 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
211 allocation and zero-setting.
212 (grub_ieee1275_get_devname): Check that alias is complete.
213
214 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
215
216 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
217 unaligned segments.
218
219 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
222 prefix.
223 (grub_ofdisk_open): Check and discard ieee1275 prefix.
224 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
225 Add ieee1275 prefix.
226
227 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
228
229 * docs/grub.texi (Filesystems): Update.
230
231 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
232
233 Support odc, newc and bigendian cpio formats.
234
235 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
236 * grub-core/Makefile.core.def (newc): New module.
237 (odc): Likewise.
238 (cpio_be): Likewise.
239 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
240 (MAGIC): Likewise.
241 (MAGIC2): Likewise.
242 (head) [MODE_ODC]: Adapt for the format.
243 (head) [MODE_NEWC]: Likewise.
244 (head) [!MODE_*]: Write fields of interest as arrays.
245 (MAGIC_USTAR): Removed.
246 (read_number) [MODE_NEWC]: Change to hex.
247 (read_number) [!MODE_*]: Parse binary arrays.
248 (grub_cpio_find_file): Factor out the code for better structure and
249 always use read_number.
250 (grub_cpio_mount): Use MAGIC and MAGIC2.
251 (grub_cpio_dir): Exit on first hook non-0 return.
252 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
253 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
254 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
255 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
256 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
257 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
258 * grub-core/fs/newc.c: New file.
259 * grub-core/fs/odc.c: Likewise.
260 * grub-core/fs/cpio_be.c: Likewise.
261
262 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
263
264 Fix handling of tar numbers occupying the whole field.
265
266 * grub-core/fs/cpio.c (read_number): New function.
267 (grub_cpio_find_file): Use read_number instead of strtoull.
268
269 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
270
271 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
272 occupying the whole field size.
273
274 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
275
276 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
277
278 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
279
280 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
281
282 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
283
284 * grub-core/Makefile.core.def (lzma_decompress): Add missing
285 TARGET_IMG_LDFLAGS.
286
287 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
288
289 * util/getroot.c (ESCAPED_PATH_MAX): New define.
290 (mountinfo_entry): Increase the field size to take escaping into
291 account.
292 (find_root_device_from_libzfs): Add one byte to size of strings for
293 security.
294
295 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
298 an assert.
299 * util/grub-setup.c (setup): Likewise.
300
301 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
302
303 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
304 _LzmaDecodeA.
305
306 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
307
308 * docs/grub.texi (Internationalisation): New section.
309
310 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
311
312 * docs/grub.texi (Loopback booting): New section.
313
314 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
315
316 * util/grub-mkstandalone.in: Fix minor typo errors.
317
318 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
319
320 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
321
322 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
323 net/icmp.c and net/icmp6.c.
324 (http): New module.
325 (priority_queue): Likewise.
326 * grub-core/io/bufio.c: Rewritten.
327 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
328 TYPE_WITH_CONFIGFILE_OPTION.
329 (legacy_commands): Add bootp and dhcp.
330 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
331 (grub_legacy_parse): Likewise.
332 * grub-core/lib/priority_queue.c: New file.
333 * grub-core/net/arp.c: Add missing license header.
334 (arp_find_entry): Removed.
335 (arp_find_entry): Likewise.
336 (grub_net_arp_resolve): Rename to ...
337 (grub_net_arp_send_request): ...this.
338 (grub_net_arp_receive): New card argument.
339 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
340 Set router and DNS server.
341 (grub_net_configure_by_dhcp_ack): Handle routing information.
342 (grub_cmd_bootp): Set checksum.
343 (grub_bootp_init): Remove net_dhcp.
344 * grub-core/net/dns.c: New file.
345 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
346 completion.
347 (get_card_packet): Handle allocation.
348 (grub_efinet_findcards): Set mtu.
349 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
350 (get_card_packet): Handle allocation.
351 (emucard): Set mtu.
352 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
353 (GRUB_MOD_INIT): Set mtu.
354 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
355 mtu.
356 (get_card_packet): Handle allocation.
357 (grub_ofnet_findcards): Set mtu.
358 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
359 assert.
360 (grub_net_recv_ethernet_packet): Handle IPv6.
361 * grub-core/net/http.c: New file.
362 * grub-core/net/icmp.c: Likewise.
363 * grub-core/net/icmp6.c: Likewise.
364 * grub-core/net/ip.c (ip6addr): New type.
365 (ip6hdr): Likewise.
366 (reassemble): Likewise.
367 (cmp): New function.
368 (reassembles): New variable.
369 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
370 (id): New variable.
371 (send_fragmented): New function.
372 (grub_net_send_ip_packet): Rename to ...
373 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
374 Handle non-UDP.
375 (grub_net_recv_ip_packets): Rename to ...
376 (handle_dgram): ... this. Check checksum. Handle non-UDP.
377 (free_rsm): New function.
378 (free_old_fragments): Likewise.
379 (grub_net_recv_ip4_packets): New function.
380 (grub_net_send_ip6_packet): Likewise.
381 (grub_net_send_ip_packet): Likewise.
382 (grub_net_recv_ip6_packets): Likewise.
383 (grub_net_recv_ip_packets): Likewise.
384 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
385 (LINK_LAYER_CACHE_SIZE): New const.
386 (link_layer_find_entry): New function.
387 (grub_net_link_layer_add_address): Likewise.
388 (grub_net_link_layer_resolve_check): Likewise.
389 (grub_net_link_layer_resolve): Likewise.
390 (grub_net_ipv6_get_slaac): Likewise.
391 (grub_net_ipv6_get_link_local): Likewise.
392 (grub_cmd_ipv6_autoconf): Likewise.
393 (parse_ip): Handle one number representation.
394 (parse_ip6): New functoion.
395 (match_net): Handle IPv6.
396 (grub_net_resolve_address): Handle IPv6 and DNS.
397 (grub_net_resolve_net_address): Handle IPv6.
398 (route_cmp): New function.
399 (grub_net_route_address): Find best route.
400 (grub_net_addr_to_str): Handle IPv6.
401 (grub_net_addr_cmp): New function.
402 (grub_net_add_addr): Register local route.
403 (print_net_address): Handle net address.
404 (grub_net_poll_cards): Retransmit TCP.
405 (grub_net_poll_cards_idle_real): Likewise.
406 (have_ahead): New function.
407 (grub_net_seek_real): Use underlying seek.
408 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
409 * grub-core/net/tcp.c: New file.
410 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
411 (cmp): New function.
412 (ack): Likewise.
413 (tftp_receive): Handle unordered input.
414 (destroy_pq): New function.
415 (tftp_close): Close pq.
416 * grub-core/net/udp.c: Put missing license header.
417 (grub_net_udp_socket): New function.
418 (udp_socket_register): Likewise.
419 (grub_net_udp_close): Likewise.
420 (grub_net_recv_udp_packet): Check checksum.
421 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
422 * include/grub/misc.h (grub_memchr): New function.
423 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
424 (grub_net_card_driver): Return buf in recv.
425 (grub_net_slaac_mac_list): New struct.
426 (grub_network_level_protocol_id): Add ipv6.
427 (grub_net_network_level_addr): Likewise.
428 (grub_net_network_level_net_addr): Likewise.
429 (grub_net_app_protocol): Add seek.
430 (grub_net_socket): Removed.
431 (grub_net_sockets): Likewise.
432 (grub_net_socket_register): Likewise.
433 (grub_net_socket_unregister): Likewise.
434 (FOR_NET_SOCKETS): Likewise.
435 (grub_net_add_addr): Add const.
436 (GRUB_NET_BOOTP_*): New enum.
437 (grub_net_addr_cmp): New proto.
438 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
439 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
440 (grub_net_hwaddr_to_str): NEw proto.
441 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
442 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
443 (grub_dns_init): New proto.
444 (grub_dns_fini): Likewise.
445 (grub_net_tcp_retransmit): Likewise.
446 (grub_net_link_layer_add_address): Likewise.
447 (grub_net_link_layer_resolve_check): Likewise.
448 (grub_net_link_layer_resolve): Likewise.
449 (grub_net_dns_lookup): Likewise.
450 (grub_net_add_dns_server): Likewise.
451 (grub_net_remove_dns_server): Likewise.
452 (GRUB_NET_TRIES): New const.
453 (GRUB_NET_INTERVAL): Likewise.
454 * include/grub/net/arp.h: Mostly rewritten.
455 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
456 * include/grub/net/ip.h: Mostly rewritten.
457 * include/grub/net/netbuff.h: Indent.
458 * include/grub/net/tcp.h: New file.
459 * include/grub/net/udp.h: Mostly rewritten.
460 * include/grub/priority_queue.h: New file.
461 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
462 (grub_swap_bytes64_compile_time): Likewise.
463 (grub_cpu_to_be16_compile_time): Likewise.
464 (grub_cpu_to_be32_compile_time): Likewise.
465 (grub_cpu_to_be64_compile_time): Likewise.
466 (grub_be_to_cpu64_compile_time): Likewise.
467
468 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
469
470 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
471 UINT_TO_PTR with cast.
472
473 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
474
475 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
476 don't use them.
477
478 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
481 already there.
482
483 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
484
485 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
486 confusing ipxe.
487
488 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
491 Add missing const attribute.
492 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
493 Likewise.
494 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
495 Likewise.
496
497 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
500 misaligned access.
501 (serpent_setkey): Likewise.
502 (serpent_encrypt_internal): Likewise.
503 (serpent_decrypt_internal): Likewise.
504 (serpent_encrypt): Don't put an alignment-increasing cast.
505 (serpent_decrypt): Likewise.
506 (serpent_test): Likewise.
507
508 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
509
510 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
511
512 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
513
514 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
515
516 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
517 grub_addr_t casts.
518 (PTR_TO_UINT64): Likewise.
519 (PTR_TO_UINT32): Likewise.
520
521 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
522
523 * util/grub-mkimage.c (generate_image): Decrease the higher limit
524 because of stack.
525 * util/grub-setup.c (setup): Don't add redundancy past the higher load
526 limit.
527
528 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
531 text_width > available width a bit more gracefully.
532
533 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
536 current address calculation.
537
538 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
541 stack.
542 (encode_block): Likewise.
543
544 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
547 certainety.
548
549 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
552 non-RS part to avoid RS messing with GDT.
553 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
554 Increase to suit in realmode routines.
555
556 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
557
558 * grub-core/kern/i386/realmode.S: Increase alignment.
559 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
560
561 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
564 be deterministic.
565 (syndroms): Compute 0 syndrom.
566 (rs_recover): Use 0 syndrom.
567
568 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
571
572 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
575 brackets.
576
577 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
580 account.
581 (get_top_pad): Likewise.
582 (get_right_pad): Likewise.
583 (get_bottom_pad): Likewise.
584
585 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
588
589 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
592 attribute as the structure isn't guaranteed to be properly aligned.
593 (grub_efi_pci_device_path): Likewise.
594 (grub_efi_pccard_device_path): Likewise.
595 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
596 specify the size of `memory_type'.
597 (grub_efi_vendor_device_path): Likewise.
598 (grub_efi_controller_device_path): Likewise.
599 (grub_efi_acpi_device_path): Likewise.
600 (grub_efi_expanded_acpi_device_path): Likewise.
601 (grub_efi_atapi_device_path): Likewise.
602 (grub_efi_scsi_device_path): Likewise.
603 (grub_efi_fibre_channel_device_path): Likewise.
604 (grub_efi_1394_device_path): Likewise.
605 (grub_efi_usb_device_path): Likewise.
606 (grub_efi_usb_class_device_path): Likewise.
607 (grub_efi_i2o_device_path): Likewise.
608 (grub_efi_mac_address_device_path): Likewise.
609 (grub_efi_ipv4_device_path): Likewise.
610 (grub_efi_ipv6_device_path): Likewise.
611 (grub_efi_infiniband_device_path): Likewise.
612 (grub_efi_uart_device_path): Likewise.
613 (grub_efi_vendor_messaging_device_path): Likewise.
614 (grub_efi_hard_drive_device_path): Likewise.
615 (grub_efi_cdrom_device_path): Likewise.
616 (grub_efi_vendor_media_device_path): Likewise.
617 (grub_efi_file_path_device_path): Likewise.
618 (grub_efi_protocol_device_path): Likewise.
619 (grub_efi_piwg_device_path): Likewise.
620 (grub_efi_bios_device_path): Likewise.
621
622 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
623
624 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
625 (grub_ucs4_to_utf8_alloc): Likewise.
626 (grub_ucs4_to_utf8): Likewise.
627 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
628 (grub_ucs4_to_utf8_alloc): Likewise.
629
630 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
631
632 AFFS never uses unicode.
633
634 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
635 (grub_latin1_to_utf8): New inline function.
636 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
637
638 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
641 overflow.
642
643 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
646 (grub_squash_dirent_header): Likewise.
647 (read_chunk): Don't double swap.
648 (grub_squash_iterate_dir): Fix swap sizes.
649
650 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
653
654 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
657 (grub_hfs_iterate_dir): Likewise.
658
659 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
660
661 Fix video on platforms where unaligned access is forbidden.
662 Make several optimisations while on it.
663
664 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
665 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
666 (grub_video_fbblit_replace_32bit_1bit): Likewise.
667 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
668 Disable.
669 (grub_video_fbblit_replace_16bit_1bit):
670 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
671 (grub_video_fbblit_replace_8bit_1bit): Likewise.
672 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
673 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
674 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
675 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
676 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
677 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
678 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
679 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
680 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
681 (grub_video_fbblit_replace_index_RGB888): Likewise.
682 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
683 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
684 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
685 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
686 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
687 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
688 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
689 Disable.
690 (grub_video_fbblit_blend_XXX565_1bit):
691 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
692 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
693 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
694 void *.
695 * grub-core/video/fb/video_fb.c (common_blitter)
696 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
697 (grub_video_fb_create_render_target_from_pointer)
698 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
699 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
700 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
701 definition.
702 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
703
704 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
707 HH22 and HM10 relocations.
708
709 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
712
713 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
716 allocation succeeded.
717
718 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
721 argument a u8 pointer. All users updated.
722 Handle unaligned buffers.
723
724 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
727 add_part to workaround compiler bug.
728
729 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
730
731 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
732
733 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
734
735 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
736 Reserve alignment invariants.
737 (grub_multiboot_load): Likewise.
738 (retrieve_video_parameters): Likewise.
739 (grub_multiboot_make_mbi): Likewise.
740
741 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
742
743 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
744 incorrect pointer.
745
746 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
749 (grub_pata_pio_write): Likewise.
750
751 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
752
753 Add noreturn attributes and remove unreachable code.
754
755 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
756 code.
757 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
758 code. Mark as noreturn.
759 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
760 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
761 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
762 unreachable code.
763 * grub-core/kern/main.c (grub_main): Mark as noreturn.
764 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
765 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
766 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
767 * include/grub/kernel.h (grub_main): Mark as noreturn.
768 * include/grub/reader.h (grub_rescue_run): Likewise.
769
770 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
771
772 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
773 redundant declaration.
774
775 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
776
777 * include/grub/net.h (grub_net_network_level_interfaces): Remove
778 redundant declaration.
779 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
780
781 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
782
783 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
784 to ensure alignment.
785 (grub_hdparm_print_identify): Make argument uint16 * to ensure
786 alignment. Ensure tmp alignment.
787 (grub_cmd_hdparm): Ensure buf alignment.
788 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
789 to ensure alignment.
790 (grub_ata_dumpinfo): Ensure text alignment.
791 (grub_atapi_identify): Preserve alignment invariant.
792 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
793
794 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
795
796 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
797 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
798 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
799 * include/grub/misc.h (grub_reboot)
800 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
801 (grub_halt) [__mips__]: Likewise.
802
803 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
806 Remove redundant declaration.
807 (grub_mmap_get_post64): Likewise.
808 (grub_mmap_get_upper): Likewise.
809 (grub_mmap_get_lower): Likewise.
810
811 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
814 uint32_t * to ensure alignment.
815 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
816
817 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
820 uint16_t * to ensure alignment.
821 (sun_pc_partition_map_iterate): Make `block' a union to ensure
822 alignment.
823
824 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
825
826 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
827 to ensure alignment.
828 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
829
830 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/fs/ntfs.c (u16at): Make into inline function.
833 Handle unaligned pointers.
834 (u32at): Likewise.
835 (u64at): Likewise.
836 (fixup): Use byte access instead of v16at.
837 (find_attr): Fix imporper usage of v32at.
838 (read_data): Likewise.
839 (list_file): Handle byte-swapping and unaligned strings.
840 (grub_ntfs_label): Likewise.
841
842 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
843
844 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
845 as it's not necessarily aligned.
846
847 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
850 redundant declaration.
851 (grub_serial_init): Likewise.
852 (grub_terminfo_init): Likewise.
853
854 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
857 function.
858 (ZAP_HASH_IDX): Likewise.
859 (ZAP_LEAF_HASH_SHIFT): Likewise.
860 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
861 (LEAF_HASH): Likewise.
862 (ZAP_LEAF_NUMCHUNKS): Likewise.
863 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
864 alignment invariants. Return pointer. All users updated.
865 (ZAP_LEAF_ENTRY): Make into inline function.
866 (NBBY): Removed.
867 (xor): LIkewise.
868 (xor_out): Use grub_crypto_xor.
869 (dnode_get_path): Use grub_get_unaligned.
870 (nvlist_find_value): Likewise.
871 (grub_zfs_nvlist_lookup_uint64): Likewise.
872 (grub_zfs_nvlist_lookup_string): Likewise.
873 (get_nvlist_size): Likewise.
874 (grub_zfs_open): Likewise.
875 (fill_fs_info): Likewise.
876 (grub_zfs_dir): Likewise.
877 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
878 alignment invariants.
879 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
880 necessarily aligned.
881
882 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
883
884 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
885
886 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
887
888 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
889 arithmetic to conserve alignment invariants.
890
891 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
892
893 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
894 redundant declaration.
895 (grub_efiemu_mm_obtain_request): Likewise.
896 (grub_efiemu_prepare): Likewise.
897
898 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
901 to match types.
902
903 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
904
905 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
906 case of aunaligned recptr.
907 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
908 alignment.
909 (grub_hfsplus_btree_search): Handle unaligned index.
910
911 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
912
913 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
914 to get freetag and skip.
915
916 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
917
918 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
919 array.
920 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
921 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
922
923 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
924
925 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
926 name for checksum and fix allocation algorithm.
927
928 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * include/grub/types.h (grub_properly_aligned_t): New type.
931 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
932 (grub_get_unaligned16): Add explicit casts.
933 (grub_get_unaligned32): Likewise.
934 (grub_get_unaligned64): Likewise.
935 (grub_set_unaligned16): New function.
936 (grub_set_unaligned32): Likewise.
937
938 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
941
942 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
943
944 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
945 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
946 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
947
948 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
951 conditionals.
952
953 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
956 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
957
958 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
959
960 Unify and improve RAID and crypto xor.
961
962 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
963 changed to grub_crypto_xor
964 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
965 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
966 Use bigger types when possible.
967
968 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/disk/raid.c (scan_devices): Fix condition.
971
972 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
975 Make name a const ptr.
976
977 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
980 first argument a const pointer.
981 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
982 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
983 proto.
984 (grub_children_iterate): Likewise.
985 (grub_machine_mmap_iterate): Remove redundant declaration.
986
987 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
990 (grub_cmd_acpi) [!x86]: Disable EBDA.
991
992 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
993
994 Enable UTF8 in gnulib regexp.
995
996 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
997 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
998 (isupper): Use grub_isupper.
999 (isascii): New inline function.
1000 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
1001 * grub-core/lib/posix_wrap/wctype.h: Likewise.
1002 * grub-core/normal/charset.c (grub_utf8_process): New function.
1003 (grub_utf8_to_utf16): Use grub_utf8_process.
1004 (grub_encode_utf8_character): New function.
1005 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
1006 * include/grub/charset.h (grub_utf8_process): New declaration.
1007 (grub_encode_utf8_character): Likewise.
1008 * include/grub/misc.h (grub_islower): New inline function.
1009 (grub_isupper): Likewise.
1010 (grub_strchrsub): Moved down to fix the definitions.
1011
1012 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1013
1014 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
1015 specification.
1016
1017 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * include/grub/loader.h (grub_loader_register_preboot_hook):
1020 Use struct preboot * and not void * for handle. All users updated.
1021 (grub_loader_unregister_preboot_hook): Likewise.
1022
1023 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
1026 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
1027 UTF-16-BE. All users updated.
1028 (grub_hfsplus_cmp_catkey): Fix unicode handling.
1029 (grub_hfsplus_iterate_dir): Likewise.
1030 (grub_hfsplus_label): Likewise.
1031
1032 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
1035
1036 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 Add missing const qualifiers.
1039
1040 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
1041 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
1042 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
1043 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
1044 (grub_lvm_check_flag): Likewise.
1045 * grub-core/efiemu/i386/coredetect.c
1046 (grub_efiemu_get_default_core_name): Likewise
1047 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
1048 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
1049 * grub-core/fs/ntfs.c (fixup): Likewise.
1050 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
1051 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
1052 (fzap_lookup): Likewise.
1053 (zap_lookup): Likewise.
1054 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
1055 * grub-core/lib/legacy_parse.c (check_option): Likewise.
1056 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
1057 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
1058 (grub_freebsd_add_meta_module): Likewise.
1059 (grub_cmd_freebsd_module): Likewise.
1060 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1061 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1062 (grub_xnu_writetree_get_size): Likewise.
1063 (grub_xnu_writetree_toheap_real): Likewise.
1064 (grub_xnu_find_key): Likewise.
1065 (grub_xnu_create_key): Likewise.
1066 (grub_xnu_create_value): Likewise.
1067 (grub_xnu_register_memory): Likewise.
1068 (grub_xnu_check_os_bundle_required): Likewise.
1069 (grub_xnu_scan_dir_for_kexts): Likewise.
1070 (grub_xnu_load_kext_from_dir): Likewise.
1071 * grub-core/normal/color.c (color_list): Likewise.
1072 * grub-core/normal/completion.c (current_word): Likewise.
1073 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1074 * grub-core/term/serial.c (grub_serial_find): Likewise.
1075 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1076 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1077 Likewise.
1078 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1079 (grub_freebsd_add_meta_module): Likewise.
1080 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1081 * include/grub/net.h (grub_net_card_driver): Likewise.
1082 (grub_net_card): Likewise.
1083 (grub_net_app_protocol): Likewise.
1084 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1085 * include/grub/serial.h (grub_serial_find): Likewise.
1086 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1087 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1088 (grub_xnu_create_value): Likewise.
1089 (grub_xnu_find_key): Likewise.
1090 (grub_xnu_scan_dir_for_kexts): Likewise.
1091 (grub_xnu_load_kext_from_dir): Likewise.
1092
1093 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1094 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1095 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1096 Moved from here ...
1097 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1098
1099 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1100
1101 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1102
1103 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1106 (read_device): Fix size calculation.
1107
1108 2011-11-25 Robert Millan <rmh@gnu.org>
1109
1110 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1111 (find_root_device_from_libzfs): Add zpool output parser to be used
1112 as fallback when libzfs isn't available.
1113
1114 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1115
1116 * po/Makefile.in.in: Add missing escape-continuation.
1117
1118 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1119
1120 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1121
1122 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1125
1126 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1127
1128 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1129
1130 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1131
1132 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1133
1134 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/lib/adler32.c: Add missing license specification.
1137 * grub-core/lib/crc64.c: Likewise.
1138 * grub-core/loader/i386/pc/plan9.c: Likewise.
1139 * grub-core/partmap/plan.c: Likewise.
1140
1141 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1142
1143 Add facility to debug GRUB with gdb under qemu.
1144
1145 * grub-core/gdb_grub.in: New file.
1146 * grub-core/gmodule.pl.in: Likewise.
1147 * grub-core/Makefile.core.def (gmodule.pl): New script.
1148 (gdb_grub): Likewise.
1149
1150 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 * util/grub-mount.c (argp_parser): Accept relative pathes.
1153 * util/grub-fstest.c (argp_parser): Likewise.
1154
1155 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 Plan9 support.
1158
1159 * Makefile.util.def (libgrubmods): Add
1160 grub-core/partmap/plan.c.
1161 * docs/grub.texi: Notice Plan9 support.
1162 * grub-core/Makefile.core.def (plan9): New module.
1163 (part_plan): Likewise.
1164 * grub-core/loader/i386/pc/plan9.c: New file.
1165 * grub-core/partmap/plan.c: Likewise.
1166 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1167 define.
1168 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1169 * include/grub/mm.h (grub_extend_alloc): New inline function.
1170
1171 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 Make Reed-Solomon faster by using power of generator representation of
1174 GF(256)*.
1175
1176 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1177 (gf_double_t): Likewise.
1178 (gf_invert): Removed.
1179 (gf_powx): New array.
1180 (gf_powx_inv): Likewise.
1181 (scratch): Move higher.
1182 (gf_reduce): Removed.
1183 (gf_mul): Use powx.
1184 (gf_invert): Likewise.
1185 (init_inverts): Replaced with ...
1186 (init_powx): ...this. All users updated.
1187 (pol_evaluate): Replace multiplications with additions.
1188 (rs_encode): Likewise.
1189 (gauss_eliminate): Call gf_invert.
1190 (grub_reed_solomon_add_redundancy): Call init_powx.
1191 (grub_reed_solomon_recover): Call init_powx unconditionally.
1192
1193 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1196
1197 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1200 disk->partiton for safety.
1201
1202 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1205 Fix a memory leak.
1206 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1207
1208 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1209
1210 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1211
1212 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1215
1216 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 Fix spaces handling in proc/self/mountinfo.
1219
1220 * util/getroot.c (unescape): New function.
1221 (grub_find_root_device_from_mountinfo): Use unescape.
1222
1223 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 Support ZFS embedding.
1226
1227 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1228 (grub_zfs_fs): Register grub_zfs_embed.
1229
1230 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1231
1232 Fix MIPS compilation.
1233
1234 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1235 * include/grub/offsets.h: Rename decompressor fields from
1236 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1237 * util/grub-mkimage.c (image_targets): Use new names.
1238
1239 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 Defer multiboot device parsing until we're in compressed part.
1242
1243 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1244 bsd_part. setdevice has fallen into disuse.
1245 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1246 (bsd_part): Likewise.
1247 (boot_dev): New variable.
1248 (multiboot_trampoline): Don't parse multiboot device.
1249 Pass multiboot device in %edx.
1250 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1251 grub_boot_device.
1252 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1253 Likewise.
1254 * grub-core/kern/i386/pc/startup.S: Save edx.
1255 (grub_boot_drive): Removed.
1256 (grub_install_dos_part): Likewise.
1257 (grub_install_bsd_part): Likewise.
1258 (grub_boot_device): New variable.
1259 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1260 (grub_install_bsd_part): Likewise.
1261 (grub_boot_drive): Likewise.
1262 (grub_boot_device): New variable.
1263 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1264 Removed.
1265 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1266 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1267 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1268 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1269 * util/grub-install.in: Remove redundant condition.
1270
1271 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 Fix bug introduced by previous commit.
1274
1275 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1276
1277 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 Use decompressors framework on i386-pc. It increases core size
1280 by 46 bytes but improves compatibility and maintainability.
1281
1282 * grub-core/Makefile.core.def (lzma_decompress): New image.
1283 (kernel): Add i386_pc_ldflags.
1284 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1285 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1286 to real_to_prot, prot_to_real and device info.
1287 * include/grub/offsets.h: Renamed decompressor offsets.
1288 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1289 (image_target_desc): Remove raw_size and rename decompressor fields.
1290 (compress_kernel): Handle lzma.
1291 (generate_image): Handle decompressors on i386-pc.
1292
1293 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1294
1295 * configure.ac: Add -fno-asynchronous-unwind-tables.
1296
1297 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1298
1299 Move assembly code to C by using intwrap. It increases core size
1300 by 88 bytes but improves compatibility and maintainability.
1301
1302 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1303 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1304 ... here. Translated to C.
1305 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1306 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1307 ... here. Translated to C.
1308 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1309 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1310 ... here. Translated to C.
1311 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1312 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1313 ... here. Translated to C.
1314 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1315 * grub-core/term/i386/pc/console.c (grub_console_cls):
1316 ... here. Translated to C.
1317 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1318 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1319 ... here. Translated to C.
1320 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1321 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1322 Translated to C.
1323 * grub-core/term/i386/pc/console.c (int10_9): New function.
1324 (grub_console_putchar): Likewise.
1325 * include/grub/i386/pc/console.h: Removed the not anymore shared
1326 functions.
1327
1328 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 Move grub_chainloader_real_boot out of the kernel.
1331
1332 * grub-core/Makefile.am: Remove machine/loader.h.
1333 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1334 Removed.
1335 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1336 variable.
1337 (grub_relocator16_keep_a20_enabled): Likewise.
1338 (grub_relocator16_boot): Fill new variables.
1339 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1340 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1341 relocator.
1342 (grub_chainloader_unload): Likewise.
1343 (grub_chainloader_cmd): Likewise.
1344 * include/grub/i386/pc/loader.h: Removed.
1345 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1346 and esi. All initialisers updated.
1347
1348 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1349 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
1350
1351 * Makefile.util.def (grub-mount): New util.
1352 * .bzrignore: Add grub-mount.
1353 * configure.ac: Check for fuse and enable grub-mount if available.
1354 * docs/man/grub-mount.h2m: New file.
1355 * util/grub-mount.c: Likewise.
1356
1357 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1358
1359 * grub-core/commands/efi/fixvideo.c: Gettextize.
1360 * grub-core/commands/hashsum.c: Likewise.
1361 * grub-core/commands/i386/cmostest.c: Likewise.
1362 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1363 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1364 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1365 * grub-core/commands/lsmmap.c: Likewise.
1366 * grub-core/commands/menuentry.c: Likewise.
1367 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1368 * grub-core/commands/setpci.c: Likewise.
1369 * grub-core/loader/i386/bsd.c: Likewise.
1370 * grub-core/loader/i386/linux.c: Likewise.
1371 * util/getroot.c: Likewise.
1372 * util/grub-editenv.c: Likewise.
1373 * util/grub-fstest.c: Likewise.
1374 * util/grub-mkfont.c: Likewise.
1375 * util/grub-mkimage.c: Likewise.
1376 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1377 * util/grub-pe2elf.c: Likewise.
1378 * util/grub-probe.c: Likewise.
1379 * util/grub-setup.c: Likewise.
1380 * util/ieee1275/ofpath.c: Likewise.
1381 * util/misc.c: Likewise.
1382 * util/raid.c: Likewise.
1383
1384 2011-11-11 Robert Millan <rmh@gnu.org>
1385
1386 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1387 __attribute__((unused)) from `os_dev', which *is* being used.
1388
1389 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1390
1391 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1392 forgotten define.
1393 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1394 GRUB_IA64_DL_GOT_ALIGN.
1395 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1396 GRUB_IA64_DL_TRAMP_ALIGN.
1397
1398 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 Replace grub_fatal with normal errors in i386 linux loader.
1401
1402 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1403 (allocate_pages): Check find_efi_mmap_size return value.
1404 (grub_e820_add_region): Return error.
1405 (grub_linux_boot): Check mmap return value.
1406
1407 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/commands/acpihalt.c: Gettextized.
1410 * grub-core/commands/cacheinfo.c: Likewise.
1411 * grub-core/commands/cmp.c: Likewise.
1412 * grub-core/commands/efi/loadbios.c: Likewise.
1413 * grub-core/commands/gptsync.c: Likewise.
1414 * grub-core/commands/ieee1275/suspend.c: Likewise.
1415 * grub-core/commands/legacycfg.c: Likewise.
1416 * grub-core/commands/memrw.c: Likewise.
1417 * grub-core/commands/minicmd.c: Likewise.
1418 * grub-core/commands/parttool.c: Likewise.
1419 * grub-core/commands/time.c: Likewise.
1420 * grub-core/commands/videoinfo.c: Likewise.
1421 * grub-core/disk/geli.c: Likewise.
1422 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1423 * grub-core/disk/luks.c: Likewise.
1424 * grub-core/disk/lvm.c: Likewise.
1425 * grub-core/font/font_cmd.c: Likewise.
1426 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1427 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1428 * grub-core/gfxmenu/view.c: Likewise.
1429 * grub-core/kern/emu/hostdisk.c: Likewise.
1430 * grub-core/kern/emu/main.c: Likewise.
1431 * grub-core/kern/emu/misc.c: Likewise.
1432 * grub-core/kern/emu/mm.c: Likewise.
1433 * grub-core/kern/mips/arc/init.c: Likewise.
1434 * grub-core/kern/mips/loongson/init.c: Likewise.
1435 * grub-core/kern/partition.c: Likewise.
1436 * grub-core/lib/i386/halt.c: Likewise.
1437 * grub-core/lib/mips/arc/reboot.c: Likewise.
1438 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1439 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1440 * grub-core/loader/i386/xnu.c: Likewise.
1441 * grub-core/loader/multiboot.c: Likewise.
1442 * grub-core/net/bootp.c: Likewise.
1443 * grub-core/net/net.c: Likewise.
1444 * grub-core/normal/term.c: Likewise.
1445 * grub-core/partmap/bsdlabel.c: Likewise.
1446 * grub-core/parttool/msdospart.c: Likewise.
1447 * grub-core/term/gfxterm.c: Likewise.
1448 * grub-core/term/terminfo.c: Likewise.
1449 * grub-core/video/i386/pc/vbe.c: Likewise.
1450 * util/grub-menulst2cfg.c: Likewise.
1451 * util/grub-mkdevicemap.c: Likewise.
1452 * util/grub-mklayout.c: Likewise.
1453 * util/grub-mkrelpath.c: Likewise.
1454 * util/grub-script-check.c: Likewise.
1455 * util/ieee1275/grub-ofpathname.c: Likewise.
1456 * util/resolve.c: Likewise.
1457
1458 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1459
1460 Support %1$d syntax.
1461
1462 * tests/printf_unit_test.c: New file.
1463 * Makefile.util.def (printf_test): New test.
1464 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1465
1466 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1469 fix.
1470
1471 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1472
1473 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1474 dprintf.
1475 * grub-core/font/font.c (grub_font_load): Likewise.
1476
1477 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * util/grub-macho2img.c: Add comment concerning gettext.
1480 * grub-core/lib/legacy_parse.c: Likewise.
1481
1482 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1485 (grub_xvasprintf): Likewise.
1486
1487 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 Add const keyword to grub_env_get and gettextize week days.
1490
1491 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1492 (grub_read_hook_datetime): Return const char *.
1493 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1494 updated.
1495 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1496 Mark for gettext.
1497 (grub_get_weekday_name): Return const char *. Call gettext.
1498 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1499 char * and len as the argument. All users updated.
1500 (grub_script_argv_split_append): Receive const char *.
1501 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1502 * include/grub/env.h (grub_env_get): Likewise.
1503 (grub_env_read_hook_t): Return const char *.
1504 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1505 (grub_script_argv_split_append): Likewise.
1506
1507 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1510
1511 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1512
1513 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1514 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1515
1516 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1519 Fix prototype.
1520
1521 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 Fix mips compilation.
1524
1525 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1526 normal decoder.
1527 (hashes): Use in embed decoder as well (for sizes).
1528 (dec_stream_header): Fix embed decompressor logic.
1529 (dec_stream_footer): Likewise.
1530
1531 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1534 an error and not a fatal on unrecognised relocation types.
1535
1536 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1539 Issue error rather than printf on unknown arguments.
1540
1541 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1544 Make buf a const.
1545
1546 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1549 Fix module name.
1550
1551 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1554 leftover debug printf.
1555
1556 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1559
1560 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1563 A stylistic fix.
1564
1565 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1566
1567 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1568
1569 2011-11-10 Shea Levy <slevy@tieronedesign.com>
1570
1571 Allow all modules to perform serial IO
1572
1573 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1574 * include/grub/serial.h (grub_serial_port_configure): New inline
1575 function.
1576 (grub_serial_port_fetch): Likewise.
1577 (grub_serial_port_put): Likewise.
1578 (grub_serial_port_fini): Likewise.
1579 (grub_serial_find): New proto.
1580
1581 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 Put symlink at the end of the node and fix a potential
1584 memory corruption.
1585
1586 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1587 Make symlink into an array.
1588 (set_rockridge): Set have_symlink and alloc_dirents.
1589 (grub_iso9660_read_symlink): Use new layout.
1590 (grub_iso9660_iterate_dir): Fix memory corruption.
1591 Use new layout.
1592 (grub_iso9660_dir): Set have_symlink.
1593 (grub_iso9660_open): Likewise.
1594
1595 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1596
1597 Remove local keyword.
1598
1599 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1600 (version_test_gt): Likewise.
1601 (version_find_latest): Likewise.
1602 (gettext_printf): Likewise.
1603 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1604
1605 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1608
1609 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 Fix ZFS memory and resource leaks.
1612
1613 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1614 All users updated.
1615 Free type on exit.
1616 (fill_vdev_info): New parameter inserted. All users updated.
1617 (check_pool_label): Likewise.
1618 (scan_disk): Likewise.
1619 (scan_devices): Close non-inserted disks.
1620 (fzap_iterate): Free l.
1621 (unmount_device): Free children descripto memory.
1622
1623 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1624
1625 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1626 argument (access out of bounds).
1627
1628 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1631 >= 6 drives.
1632
1633 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1634
1635 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1636 Fix declaration.
1637
1638 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1639
1640 Fix several memory leaks.
1641
1642 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1643 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1644 (grub_cpio_dir): Likewise.
1645 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1646 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1647 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1648 (grub_romfs_label): Likewise.
1649 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1650 (squash_unmount): New function.
1651 (grub_squash_dir): Fix memory leak.
1652 (grub_squash_open): Likewise.
1653 (grub_squash_read): Likewise.
1654 (grub_squash_mtime): Likewise.
1655 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1656 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1657 * util/grub-fstest.c (fstest): Likewise.
1658
1659 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1660
1661 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1662 avoid accessing beyond the array.
1663
1664 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1667
1668 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1669
1670 Several AFFS fixes.
1671
1672 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1673 (GRUB_AFFS_FLAG_FFS): Removed.
1674 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1675 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1676 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1677 (grub_fshelp_node): Make block 32-bit.
1678 Add block_cache and last_block_cache.
1679 (grub_affs_read_block): Fill and use block cache.
1680 (grub_affs_read_file): Removed.
1681 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1682 boot block.
1683 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1684 safety.
1685 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1686 space.
1687 (grub_affs_close): Free block cache.
1688 (grub_affs_read): Use grub_fshelp_read_file directly.
1689
1690 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1691
1692 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1693 with no error set.
1694
1695 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1698 used variable.
1699 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1700 Likewise.
1701
1702 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1705
1706 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1707 byteswap when needed.
1708
1709 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 Fix FreeBSD compilation.
1712
1713 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1714 to avoid circular dependency.
1715 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1716 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1717 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1718
1719 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 Fix ZFS crypto error types.
1722
1723 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1724 (grub_gcm_decrypt): Likewise.
1725 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1726 from PBKDF2.
1727
1728 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 Illumos support.
1731
1732 * Makefile.util.def (10_illumos): New script.
1733 * configure.ac: Set COND_HOST_ILLUMOS.
1734 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
1735 Support Illumos calls.
1736 (find_partition_start) [__sun__]: Likewise.
1737 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
1738 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
1739 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
1740 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
1741 device.
1742 * util/grub-probe.c (probe) [__sun__]: Do character check.
1743 * util/grub.d/10_illumos.in: New file.
1744
1745 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 Support escaped commas in hostdisk.
1748
1749 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
1750 (find_grub_drive): Use unescape_cmp.
1751 (make_device_name): Escape commas.
1752
1753 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1754
1755 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
1756
1757 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
1760 variable.
1761
1762 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 Support trampoline jumps on powerpc.
1765
1766 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
1767 __ia64__ path.
1768 (grub_dl_load_segments): Set mod->sz.
1769 (grub_dl_flush_cache): Flush whole space occupied by module, not just
1770 segments.
1771 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
1772 (jump): Likewise.
1773 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
1774 function.
1775 (trampoline): New struct.
1776 (trampoline_template): New const.
1777 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
1778 * include/grub/dl.h (grub_dl): Add sz element.
1779 [__powerpc__]: Follow __ia64__.
1780 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
1781 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
1782 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
1783 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
1784
1785 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 ZFS crypto support.
1788
1789 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
1790 * grub-core/Makefile.core.def (zfscrypt): New module.
1791 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
1792 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
1793 it. All users updated.
1794 (grub_zfs_decrypt): New var.
1795 (grub_zfs_load_key): Likewise.
1796 (zio_checksum_functions): Add SHA256+MAC.
1797 (zio_checksum_verify): Handle incomplete comparison due to MAC.
1798 (zio_read): Handle encrypted blocks.
1799 (zap_verify): Remove incorrect check.
1800 (fzap_iterate): Handle non-standard fzap.
1801 (zap_iterate): Likewise.
1802 (zap_iterate_u64): New function.
1803 (dnode_get_fullpath): Load keys.
1804 * grub-core/fs/zfs/zfscrypt.c: New file.
1805 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
1806 (grub_crypto_ecb_encrypt): Make input const.
1807 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
1808 (grub_crypto_ecb_encrypt): Make input const.
1809 (GRUB_CIPHER_AES): New macro.
1810 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
1811 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
1812 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
1813 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
1814 prefix. All users updated.
1815 (grub_zfs_add_key): New proto.
1816 (grub_zfs_decrypt): Likewise.
1817 (grub_zfs_load_key): Likewise.
1818 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
1819 * util/grub-fstest.c (options): Add -K option.
1820 (argp_parser): Likewise.
1821
1822 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1823
1824 Support zle compression on ZFS.
1825
1826 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
1827 (decomp_table): Add zle.
1828 * include/grub/zfs/zio.h (zio_compress): Add zle.
1829
1830 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1831
1832 Support BtrFS embedding.
1833
1834 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
1835 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
1836 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
1837 * util/grub-setup.c (setup): Use fs embedding if available.
1838 Add additional sanity check.
1839
1840 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1841
1842 * util/grub-install.in: Fix condition for config_opt.
1843
1844 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 Support third redundancy strip on raidz3.
1847
1848 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
1849 Return error on singularity. All users updated.
1850 (read_device): Don't stop on 3rd failure on raidz3.
1851
1852 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 Support case-insensitive ZFS subvolumes.
1855
1856 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
1857 All users updated.
1858 (zap_hash): Likewise.
1859 (name_cmp): New function.
1860 (zap_leaf_array_equal): New parameter case_insensitive.
1861 All users updated.
1862 (zap_leaf_lookup): Likewise.
1863 (fzap_lookup): Likewise.
1864 (zap_lookup): Likewise.
1865 (dnode_get_path): New parameter case_insensitive. Retrieve case
1866 sensitiviness of a volume. All users updated.
1867 (dnode_get_fullpath): New parameter case_insensitive.
1868 All users updated.
1869 (grub_zfs_dir): Set info.case_insensitiveness.
1870
1871 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 Support second redundancy strip on raidz(2,3).
1874
1875 * grub-core/fs/zfs/zfs.c (powx): New array.
1876 (powx_inv): Likewise.
1877 (poly): New const.
1878 (xor_out): New function.
1879 (gf_mul): Likewise.
1880 (recovery): Likewise.
1881 (read_device): Use second redundancy strip.
1882
1883 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 Use a power of generator representation of GF(256) multiplication group
1886 to save space time and complexity.
1887
1888 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
1889 (raid6_table2): Likewise.
1890 (powx): New array.
1891 (powx_inv): Likewise.
1892 (poly): New const.
1893 (grub_raid_block_mul): Replace with ...
1894 (grub_raid_block_mulx): ...this.
1895 (grub_raid6_init_table): Rewritten.
1896 (grub_raid6_recover): Use power of generator representation.
1897
1898 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
1901 for the right device.
1902
1903 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
1906 expected by grub-mkimage and it's more clear since there is no implicit
1907 padding.
1908
1909 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1910
1911 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
1912 disk.
1913 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1914
1915 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
1916
1917 * util/grub-mkrescue.in: Fix handling xorriso option.
1918
1919 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1920
1921 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
1922 NULL.
1923
1924 2011-11-03 crocket <crockabiscuit@gmail.com>
1925
1926 * util/grub.d/10_linux.in: Add Slackware initrd naming.
1927
1928 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 XZ CRC64 and SHA256 support.
1931
1932 * Makefile.util.def (libgrubmods): Add crc64.c.
1933 * grub-core/Makefile.core.def (crc64): New module.
1934 * grub-core/lib/crc64.c: New file.
1935 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
1936 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
1937 Fix the type.
1938 (MAX_HASH_SIZE): New define.
1939 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
1940 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
1941 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1942 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1943 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
1944 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
1945 Handle non-crc32 hashes.
1946 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
1947 (dec_stream_header): Handle non-crc32 hashes.
1948 (dec_stream_footer): Likewise.
1949 (dec_block_header): Likewise.
1950 (dec_main): Likewise.
1951 (xz_dec_init): Likewise.
1952 (xz_dec_reset): Likewise.
1953 (xz_dec_end): Likewise.
1954 * util/import_gcry.py: Add CRC64 line.
1955
1956 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1957
1958 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
1959 as well.
1960
1961 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1962
1963 Make reiserfs label retrieval similar to other *_label functions.
1964
1965 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
1966 (REISERFS_MAX_LABEL_LENGTH): Removed.
1967 (REISERFS_LABEL_OFFSET): Likewise.
1968 (grub_reiserfs_label): Rewritten.
1969
1970 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1971
1972 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
1973 field.
1974
1975 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1976
1977 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
1978
1979 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
1982 drive failure on both raidz and raidz2.
1983
1984 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 Fix RAIDZ(2) for >= 5 devices.
1987
1988 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
1989 asize argument. All users updated.
1990
1991 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Fix RAIDZ(2).
1994
1995 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
1996 (fill_vdev_info_real): Set ashift.
1997 (read_device): Rewrite RAIDZ part based on reverse engineering.
1998
1999 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
2002 don't report potentially unavialiable fields in debug output.
2003 (find_path): Fix double-free and memory leak.
2004
2005 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 Read label on UFS1.
2008
2009 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
2010 (grub_ufs_fs): Always set .label.
2011
2012 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2013
2014 Use shifts in UFS.
2015
2016 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
2017 (grub_ufs_data): New field log2_blksz.
2018 (grub_ufs_read_file): Use shifts.
2019 (grub_ufs_mount): Check block size and logarithm it.
2020
2021 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
2024 long symlinks.
2025
2026 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Handle symlinks and long names on tar and cpio.
2029
2030 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
2031 (ATTR_FILE): Likewise.
2032 (ATTR_DIR): Likewise.
2033 (ATTR_LNK): Likewise.
2034 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
2035 (grub_cpio_find_file): Fill mode, handle linkname field as well as
2036 L and K entries.
2037 (grub_cpio_mount): Zero-fill data.
2038 (handle_symlink): New function.
2039 (grub_cpio_dir): Handle symlinks.
2040 (grub_cpio_open): Likewise.
2041 (grub_cpio_close) [MODE_USTAR]: Free linkname.
2042
2043 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2044
2045 Fix iso9660 filename limitations and fix memory leaks.
2046
2047 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
2048 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
2049
2050 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2051
2052 Fix JFS file name length limitations.
2053
2054 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
2055 (grub_jfs_diropen): Fix maximum filename length.
2056 (grub_jfs_getent): Fix filename length.
2057 (grub_jfs_lookup_symlink): Fix size checks.
2058
2059 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2060
2061 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2062 string.
2063
2064 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 Leverage BFS implementation to read AFS.
2067
2068 * Makefile.util.def (libgrubmods): Add afs.c.
2069 * grub-core/Makefile.core.def (afs): New module
2070 * grub-core/fs/afs.c: New file.
2071 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2072
2073 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2074
2075 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2076
2077 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/fs/bfs.c: Run indent.
2080
2081 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 BFS implementation based on the specification.
2084
2085 * grub-core/fs/bfs.c: New file.
2086 * Makefile.util.def (libgrubmods): Add bfs.c.
2087 * grub-core/Makefile.core.def (bfs): New module.
2088
2089 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 * util/grub-fstest.c (cmd_cp): Clarify error message.
2092 (cmd_cmp): Likewise.
2093
2094 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2095
2096 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2097 and befs_be.
2098
2099 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 Remove afs and befs because of copyright problem.
2102
2103 * grub-core/fs/afs.c: Removed.
2104 * grub-core/fs/afs_be.c: Removed.
2105 * grub-core/fs/befs.c: Removed.
2106 * grub-core/fs/befs_be.c: Removed.
2107 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2108 * grub-core/Makefile.core.def (afs): Removed.
2109 (afs_be): Likewise.
2110 (befs): Likewise.
2111 (befs_be): Likewise.
2112
2113 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2114
2115 Prefer rockridge over Joliet.
2116
2117 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2118 to ...
2119 (set_rockridge): ... here.
2120 (grub_iso9660_mount): Check rockridge on the primary label when
2121 discovering. Ignore Joliet if Rockridge is present.
2122
2123 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Use shifts in nilfs2.
2126
2127 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2128 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2129 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2130 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2131 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2132 (grub_nilfs2_entries_per_block): Replaced with ...
2133 (grub_nilfs2_log_entries_per_block_log): ... this.
2134 (grub_nilfs2_blocks_per_group): Replaced with ...
2135 (grub_nilfs2_blocks_per_group_log): ... this.
2136 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2137 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2138 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2139 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2140 (grub_nilfs2_palloc_entry_offset): Replaced ...
2141 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2142 (grub_nilfs2_dat_translate): Use shifts.
2143 (grub_nilfs2_read_inode): Likewise.
2144 (GRUB_MOD_INIT): Ensure that logs are correct.
2145
2146 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 Use shifts in minix filesystem.
2149
2150 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2151 (GRUB_MINIX_ZONE2SECT): Likewise.
2152 (grub_minix_data): Replace block_size with log_block_size.
2153 (grub_minix_read_file): Use shifts.
2154 (grub_minix_mount): Check block size and take a logarithm.
2155
2156 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2157
2158 Use shifts in squash4.
2159
2160 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2161 (squash_mount): Check block size and take logarithm.
2162 (direct_read): Use shifts.
2163
2164 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2165
2166 Correct befs block counting logic.
2167
2168 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2169 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2170 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2171 (grub_afs_read_inode): Use block_shift.
2172 (RANGE_SHIFT): New definition.
2173 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2174 unexpected conditions, use shifts and appropriate types.
2175 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2176
2177 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/disk/raid.c (scan_devices): Check partition.
2180 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2181
2182 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 Support BFS (befs) UUID.
2185
2186 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2187 (grub_afs_small_data_element_header): New struct.
2188 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2189 (grub_afs_read_attribute) [MODE_BFS]: New function.
2190 (grub_afs_iterate_dir): Allocate for complete inode.
2191 (grub_afs_mount): Likewise.
2192 (grub_afs_uuid) [MODE_BFS]: New function.
2193 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2194
2195 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2198 (zfs_unmount): Fix memory leak.
2199
2200 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2201
2202 Support NTFS reparse points.
2203
2204 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2205 (symlink_descriptor): New struct.
2206 (grub_ntfs_read_symlink): New function.
2207 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2208 (grub_ntfs_open): Likewise.
2209
2210 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2213
2214 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 fstest xnu_uuid subcommand.
2217
2218 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2219 grub-core/commands/xnu_uuid.c.
2220 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2221 (fstest): Handle xnu_uuid.
2222 (options): Document xnu_uuid.
2223 (argp_parser): Parse xnu_uuid.
2224
2225 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2228 -l argument. Add newline at the end if printing.
2229 (GRUB_MOD_INIT): Document -l.
2230
2231 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2234
2235 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 ZFS multi-device and version 33 support.
2238
2239 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2240 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2241 (grub_zfs_data): Add multidev-ice-related fields.
2242 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2243 (dva_get_offset): Make dva const.
2244 (zfs_fetch_nvlist): New function.
2245 (fill_vdev_info_real): Likewise.
2246 (fill_vdev_info): Likewise.
2247 (check_pool_label): Likewise.
2248 (scan_disk): Likewise.
2249 (scan_devices): Likewise.
2250 (read_device): Likewise.
2251 (read_dva): Likewise.
2252 (zio_read_gang): Use read_dva.
2253 (zio_read_data): Likewise.
2254 (zap_leaf_lookup): Add missing endian conversion.
2255 (zap_verify): Add missing endian conversion. All users updated.
2256 (fzap_lookup): Likewise.
2257 (fzap_iterate): Likewise.
2258 (dnode_get_path): Handle SA bonus.
2259 (nvlist_find_value): Make input const. All users updated.
2260 (unmount_device): New function.
2261 (zfs_unmount): Use unmount_device.
2262 (zfs_mount): Use scan_disk.
2263 (zfs_mtime): New function.
2264 (grub_zfs_open): Handle system attributes.
2265 (fill_fs_info): Likewise.
2266 (grub_zfs_dir): Likewise.
2267 (grub_zfs_fs): Add mtime.
2268 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2269 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2270 (SA_MTIME_OFFSET): Likewise.
2271 (SA_SYMLINK_OFFSET): Likewise.
2272 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2273 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2274 (fstest): Support zfsinfo.
2275 (argp_parser): Likewise.
2276
2277 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2280 error.
2281
2282 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2283
2284 ZFS fixes.
2285
2286 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2287 sharing the same block. Iterate over correct number of indices.
2288 (dnode_get_path): Handle symlinks correctly.
2289
2290 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2293
2294 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 Read label on HFS+.
2297
2298 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2299 (grub_hfsplus_btree_search): Fix types.
2300 (grub_hfsplus_label): Implement.
2301
2302 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2305
2306 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2309
2310 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 Fix symlink handling on iso9660.
2313
2314 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2315 All users updated.
2316 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2317 (grub_iso9660_read_symlink): Moved most of code ...
2318 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2319
2320 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2323 Use union to avoid breaking strict-aliasing rules.
2324
2325 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2326
2327 Support multi-extent iso files.
2328
2329 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2330 Add node.
2331 (grub_fshelp_node): Revamp. All users updated.
2332 (FLAG_*): New enum.
2333 (read_node): New function.
2334 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2335 All users updated.
2336 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2337 (get_node_size): New function.
2338 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2339 entries.
2340 Fix memory leak on . and ..
2341 (grub_iso9660_read): Use read_node.
2342 (grub_iso9660_close): Free node.
2343
2344 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 Fix tar 4G limit and handle paths containing dot.
2347
2348 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2349 (canonicalize): New function.
2350 (grub_cpio_find_file): Use canonicalize. Store offs in
2351 grub_disk_addr_t.
2352 (grub_cpio_dir): Use grub_disk_addr_t.
2353 (grub_cpio_open): Likewise.
2354
2355 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2358
2359 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2360 unused flags.
2361 (grub_squash_inode): Add long_file and block_size.
2362 (grub_squash_cache_inode): New struct.
2363 (grub_squash_dirent): Make types into enum.
2364 (SQUASH_TYPE_LONG_REGULAR): New type.
2365 (grub_squash_frag_desc): Add field size.
2366 (SQUASH_BLOCK_FLAGS): New enum.
2367 (grub_squash_data): Use grub_squash_cache_inode.
2368 (grub_fshelp_node): Make ino_chunk 64-bit.
2369 (read_chunk): Minor argument change. All users updated.
2370 (squash_mount): Use correct le_to_cpu.
2371 (grub_squash_open): Handle LONG_REGULAR.
2372 (direct_read): New function.
2373 (grub_squash_read_data): Handle blocks correctly.
2374
2375 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2378
2379 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2382
2383 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Fix 2G limit on ZFS.
2386
2387 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2388 types.
2389 (uberblock_verify): Likewise.
2390 (dmu_read): Likewise.
2391 (grub_zfs_read): Likewise. Remove invalid cast.
2392
2393 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2396 (grub_jfs_blkno): Fix incorrect shift.
2397 (grub_jfs_read_file): Use more appropriate types.
2398
2399 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2400
2401 Support triple indirect on minix2 and minix3.
2402
2403 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2404 Declare triple_indir_zone.
2405 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2406 indirect.
2407
2408 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 Minix FS fixes.
2411
2412 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2413 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2414 Rename ctime to mtime. All users updated.
2415 (grub_minix_get_file_block): Fix types and double indirect computations.
2416
2417 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2418
2419 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2420 if no label is found.
2421 (grub_fat_iterate_dir): Fix file size type.
2422 (grub_fat_iterate_dir): Likewise.
2423
2424 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2427 save some space.
2428 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2429 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2430
2431 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2434
2435 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 * util/import_gcry.py: Accept space between # and include.
2438
2439 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2442
2443 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2446
2447 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2448 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2449 yylex_strncpy.
2450 * grub-core/script/yylex.l: Add fine-grained #pragma.
2451
2452 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2453
2454 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2455 New inline function.
2456 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2457 Likewise.
2458 (memset) [GRUB_UTIL]: Likewise.
2459 (memcmp) [GRUB_UTIL]: Likewise.
2460
2461 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2464 inline function rather than a define.
2465
2466 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2467
2468 * util/grub-setup.c: Add missing include.
2469
2470 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2471
2472 * util/ieee1275/grub-ofpathname.c: Add missing include.
2473
2474 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2477 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2478 Likewise.
2479
2480 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2481
2482 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2483 grub_memcmp usage.
2484
2485 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2486
2487 * util/grub-install.in: Add datarootdir as per automake manual
2488 suggestion.
2489 * util/grub-mknetdir.in: Likewise.
2490
2491 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2492
2493 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2494 suggestion.
2495 * util/grub.d/10_kfreebsd.in: Likewise.
2496 * util/grub.d/10_linux.in: Likewise.
2497 * util/grub.d/10_netbsd.in: Likewise.
2498 * util/grub.d/10_windows.in: Likewise.
2499 * util/grub.d/20_linux_xen.in: Likewise.
2500
2501 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2502
2503 Remove redundant grub_kernel_image_size.
2504
2505 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2506 _edata and _start.
2507 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2508 the small code. It moves it only by few bytes but simplifies the code.
2509 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2510 _start.
2511 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2512 (grub_kernel_image_size): Removed.
2513 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2514 (grub_kernel_image_size): Removed.
2515 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2516 compiled with Apple toolchain.
2517 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2518 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2519 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2520 (grub_total_module_size): Likewise.
2521 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2522 Removed.
2523 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2524 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2525 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2526 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2527 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2528 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2529 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2530 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2531 Removed.
2532 (grub_total_module_size): Removed.
2533 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2534 (image_targets): Likewise.
2535 Set .compressed_size to no field on sparc.
2536 (generate_image): Remove kernel_image_size handling.
2537
2538 2011-10-19 Szymon Janc <szymon@janc.net.pl>
2539
2540 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2541 NULL pointer dereference.
2542
2543 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2544
2545 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2546 done with a dedicated section.
2547
2548 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2549 Ensure the correct position of boot_path.
2550 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2551 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2552 other fields.
2553 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2554 * include/grub/boot.h: Removed. All references removed.
2555 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2556 Removed.
2557 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2558
2559 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2560
2561 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2562 name.
2563
2564 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2567
2568 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2571 Don't add the bogus brackets.
2572
2573 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 ExFAT support.
2576
2577 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2578 * grub-core/Makefile.core.def (exfat): New module.
2579 * grub-core/fs/exfat.c: New file.
2580 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2581 (GRUB_FAT_ATTR_*): Make into an enum.
2582 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2583 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2584 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2585 (GRUB_FAT_MAXFILE): Removed.
2586 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2587 (grub_current_fat_bpb_t): New type.
2588 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2589 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2590 (grub_fat_dir_node_t): New type.
2591 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2592 (fat_log2) [MODE_EXFAT]: Removed.
2593 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2594 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2595 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2596 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2597 (grub_fat_label) [MODE_EXFAT]: New function.
2598 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2599 reserved_first_sector to 0.
2600
2601 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2602
2603 Move grub_reboot out of the kernel.
2604
2605 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2606 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2607 * grub-core/lib/efi/reboot.c: ... here.
2608 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2609 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2610 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2611 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2612 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2613 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2614 * grub-core/lib/ieee1275/reboot.c: ... here.
2615 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2616 * grub-core/lib/mips/arc/reboot.c: ... here.
2617 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2618 * grub-core/lib/mips/loongson/reboot.c: ...here.
2619 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2620 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2621 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2622 * include/grub/i386/reboot.h: New file.
2623 * include/grub/mips/loongson/ec.h: Fix includes.
2624 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2625 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2626 * grub-core/lib/i386/reboot.c: New file.
2627
2628 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2629
2630 Make grub_prefix into module to fix the arbitrary limit and save
2631 some space.
2632
2633 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2634 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2635 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2636 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2637 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2638 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2639 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2640 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2641 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2642 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2643 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2644 * include/grub/ia64/efi/kernel.h: Removed.
2645 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2646 (grub_prefix): Removed.
2647 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2648 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2649 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2650 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2651 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2652 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2653 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2654 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2655 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2656 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2657 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2658 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2659 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2660 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2661 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2662 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2663 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2664 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2665 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2666 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2667 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2668 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2669 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2670 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2671 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2672 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2673 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2674 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2675 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2676 from module.
2677 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2678 prefix_end.
2679 (image_targets): Likewise.
2680 (generate_image): Put prefix as a module.
2681
2682 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2683
2684 Replace grub_module_iterate with FOR_MODULES.
2685
2686 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2687 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2688 (grub_efi_modules_addr): ...this.
2689 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2690 (grub_efi_init): Set grub_modbase.
2691 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2692 (grub_modbase): New variable.
2693 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2694 (grub_modbase): New variable.
2695 (grub_machine_init): Set grub_modbase.
2696 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2697 (grub_modbase): New variable.
2698 (grub_machine_init): Set grub_modbase.
2699 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2700 (grub_modbase): New variable.
2701 (grub_machine_init): Set grub_modbase.
2702 * grub-core/kern/main.c (grub_module_iterate): Remove.
2703 (grub_modules_get_end): Use grub_modbase.
2704 (grub_load_modules): Use FOR_MODULES.
2705 (grub_load_config): Likewise.
2706 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2707 (grub_modbase): New variable.
2708 (grub_machine_init): Set grub_modbase.
2709 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2710 (grub_modbase): New variable.
2711 (grub_machine_init): Set grub_modbase.
2712 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2713 Removed.
2714 (grub_modbase): New variable.
2715 (grub_machine_init): Set grub_modbase.
2716 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2717 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2718 (grub_module_iterate): Likewise.
2719 (grub_modbase): New variable declaration.
2720 (FOR_MODULES): New macro.
2721
2722 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2725 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2726
2727 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Fix few obvious type discrepancies.
2730
2731 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2732 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2733 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
2734 variable.
2735 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
2736 and connected types.
2737 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
2738 offset.
2739 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
2740 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
2741 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
2742 and connected types.
2743
2744 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2745
2746 Fix python 3.x incompatibilities.
2747
2748 * gentpl.py: Put brackets around print strings.
2749 * util/import_gcry.py: Open explicitly as utf-8.
2750 Use in instead of has_key.
2751
2752 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
2755 (GRUB_XFS_INO_AGBITS): Make into inline function.
2756 (GRUB_XFS_INO_INOINAG): Likewise.
2757 (GRUB_XFS_INO_AG): Likewise.
2758 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2759 (GRUB_XFS_EXTENT_OFFSET): Likewise.
2760 (GRUB_XFS_EXTENT_BLOCK): Likewise.
2761 (GRUB_XFS_EXTENT_SIZE): Likewise.
2762 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
2763 (GRUB_XFS_NEXT_DIRENT): Likewise.
2764 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
2765 (grub_xfs_read_file): Fix offset type.
2766
2767 2011-10-15 Robert Millan <rmh@gnu.org>
2768
2769 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
2770
2771 2011-10-15 Robert Millan <rmh@gnu.org>
2772
2773 Fix build problem on FreeBSD and GNU/kFreeBSD.
2774
2775 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
2776
2777 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
2780
2781 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
2782 types.
2783 (grub_hfsplus_btree_recoffset): Likewise.
2784 (grub_hfsplus_btree_recptr): Likewise.
2785 (grub_hfsplus_find_block): Likewise.
2786 (grub_hfsplus_btree_search): Likewise.
2787 (grub_hfsplus_read_block): Likewise.
2788 (grub_hfsplus_read_file): Likewise.
2789 (grub_hfsplus_mount): Likewise.
2790 (grub_hfsplus_btree_iterate_node): Likewise.
2791 (grub_hfsplus_btree_search): Likewise.
2792 (grub_hfsplus_iterate_dir): Likewise.
2793 (grub_hfsplus_read): A small code simplification.
2794
2795 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * grub-core/kern/emu/hostdisk.c
2798 (convert_system_partition_to_system_disk): Don't assume that children
2799 of mapper nodes are mapper nodes.
2800
2801 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
2804 * include/grub/misc.h (grub_isxdigit): New function.
2805 * grub-core/video/colors.c (my_isxdigit): Removed. All users
2806 switched to grub_isxdigit.
2807 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
2808 number starting with a letter.
2809
2810 2011-10-09 Robert Millan <rmh@gnu.org>
2811
2812 LVM support for FreeBSD and GNU/kFreeBSD.
2813
2814 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
2815 GNU/kFreeBSD.
2816 (LVM_DEV_MAPPER_STRING): Move from here ...
2817 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
2818 * util/getroot.c: Include `<grub/util/lvm.h>'.
2819 (grub_util_get_dev_abstraction): Enable
2820 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
2821 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
2822 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
2823 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
2824 support it.
2825 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
2826 GNU/kFreeBSD.
2827 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
2828 when LVM abstraction is required for ${GRUB_DEVICE}.
2829
2830 2011-10-06 Szymon Janc <szymon@janc.net.pl>
2831
2832 Add support for LZO compression in GRUB:
2833 - import of minilzo library,
2834 - LZO decompression for btrfs,
2835 - lzop files decompression.
2836
2837 * grub-core/io/lzopio.c: New file.
2838 * grub-core/lib/adler32.c: Likewise.
2839 * grub-core/lib/minilzo/lzoconf.h: Likewise.
2840 * grub-core/lib/minilzo/lzodefs.h: Likewise.
2841 * grub-core/lib/minilzo/minilzo.c: Likewise.
2842 * grub-core/lib/minilzo/minilzo.h: Likewise.
2843 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
2844 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
2845 grub-core/lib/minilzo/minilzo.c to common.
2846 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
2847 cflags in cppflags.
2848 * grub-core/Makefile.core.def (btrfs): Likewise.
2849 * grub-core/Makefile.core.def (lzopio): New module.
2850 (adler32): Likewise.
2851 * grub-core/fs/btrfs.c: Include minilzo.h.
2852 (GRUB_BTRFS_COMPRESSION_LZO): New define.
2853 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
2854 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
2855 (grub_btrfs_lzo_decompress): New function.
2856 (grub_btrfs_extent_read): Add support for LZO compression type.
2857 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
2858 (GRUB_USHRT_MAX): Likewise.
2859 (GRUB_UINT_MAX): Likewise.
2860 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
2861 (UINT_MAX): Likewise.
2862 (CHAR_BIT): Likewise.
2863 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
2864 grub-core/lib/posix_wrap/limits.h
2865 (UCHAR_MAX): Likewise.
2866 * include/grub/file.h (grub_file_filter_id): New compression filter
2867 GRUB_FILE_FILTER_LZOPIO.
2868 * include/grub/file.h (grub_file_filter_id): Set
2869 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
2870 * include/grub/types.h (grub_get_unaligned16): New function.
2871 (grub_get_unaligned32): Likewise.
2872 (grub_get_unaligned64): Likewise.
2873 * util/import_gcry.py (cryptolist): Add adler32.
2874
2875 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
2878 in perspective decreases the complexity of build system and fixes
2879 compilation right now.
2880
2881 2011-10-01 Ales Nesrsta <starous@volny.cz>
2882
2883 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
2884 (fixed problem related to using UHCI with coreboot).
2885
2886 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2887
2888 * gentpl.py: Use Autogen macros so that the output template file
2889 (Makefile.tpl) size is reduced.
2890
2891 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
2892
2893 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
2894 extra_dist.
2895
2896 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2897
2898 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
2899 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
2900
2901 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2902
2903 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
2904 _fullpath.
2905
2906 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2907
2908 Remove extra declaration of sleep for mingw32.
2909
2910 * util/misc.c (sleep) [__MINGW32__]: Removed.
2911 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
2912
2913 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2914
2915 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
2916 type and packname.
2917 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
2918 Resurrected.
2919 (NETBSD_BTINFO_BOOTWEDGE): New definition.
2920 (grub_netbsd_btinfo_bootwedge): New struct.
2921 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2922 New function.
2923 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
2924
2925 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2926
2927 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
2928 loader.
2929
2930 2011-09-28 Andreas Born <futur.andy@googlemail.com>
2931
2932 Fix incorrect identifiers in bash-completion.
2933
2934 * util/bash-completion.d/grub-completion.bash.in
2935 (_grub_mkpasswd-pbkdf2): Rename to ...
2936 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
2937 (_grub_script-check): Rename to ...
2938 (_grub_script_check): ... this. All users updated.
2939
2940 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2943 Return 0 if disk isn't biosdisk.
2944
2945 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2946
2947 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
2948 on NetBSD.
2949 * Makefile.util.def (grub-fstest): Likewise.
2950
2951 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2952
2953 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
2954 Get sector size from disk label.
2955
2956 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
2957
2958 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
2959 */README* as well as README*.
2960 Reported by: Axel Beckert.
2961
2962 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2963
2964 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
2965 case of less than 256 MiB of RAM.
2966
2967 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/commands/wildcard.c (make_regex): Handle @.
2970
2971 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2972
2973 * util/grub-install.in: Move cryptodisk logic to appropriate place.
2974
2975 2011-08-21 Szymon Janc <szymon@janc.net.pl>
2976
2977 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
2978 AC_LANG_CONFTEST macros.
2979
2980 2011-08-20 Szymon Janc <szymon@janc.net.pl>
2981
2982 Add grub-fstest option to uncompress data for commands.
2983
2984 * util/grub-fstest.c (uncompress): New var.
2985 (options): New option -u.
2986
2987 2011-08-20 Szymon Janc <szymon@janc.net.pl>
2988
2989 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2990 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
2991
2992 2011-08-20 Szymon Janc <szymon@janc.net.pl>
2993
2994 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
2995 file type was not recognized correctly (not gzip or corrupted).
2996
2997 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
3000 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
3001
3002 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3003
3004 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
3005 loongson.
3006 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
3007 video_radeon_fuloong2e.
3008 * grub-core/video/radeon_fuloong2e.c: New file.
3009 * include/grub/video.h (grub_video_id_t): Add new ID
3010 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
3011
3012 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
3015 define.
3016 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
3017 that PRID matches the detected subplatform and reset the subplatform
3018 if it doesn't.
3019
3020 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
3023
3024 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 Fix PCI iterating on functions >= 4.
3027
3028 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
3029 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
3030 Removed.
3031 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
3032 (grub_pci_read): Fix bitmask.
3033 (grub_pci_read_word): Likewise.
3034 (grub_pci_read_byte): Likewise.
3035 (grub_pci_write): Likewise.
3036 (grub_pci_write_word): Likewise.
3037 (grub_pci_write_byte): Likewise.
3038
3039 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
3042 can still be specified in TARGET_CFLAGS)
3043
3044 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
3047
3048 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
3049 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
3050 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
3051 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
3052 (FULOONG): Rename to ...
3053 (FULOONG2F): ... this. All users updated.
3054 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
3055 (machtype_fuloong2f_str): ... this.
3056 (machtype_fuloong2e_str): New string.
3057 Check for machtype_fuloong2e_str.
3058 * grub-core/loader/mips/linux.c (loongson_machtypes)
3059 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3060 * grub-core/term/serial.c (loongson_defserial)
3061 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3062 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3063 loongson_defserial.
3064 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3065 Rename to ...
3066 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3067 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3068 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3069 to IMAGE_FULOONG2F_FLASH. All users updated.
3070 (image_targets): Rename images.
3071 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3072
3073 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3074
3075 Make enable of disk cache statistics code configurable.
3076
3077 * configure.ac: --enable-cache-stats added.
3078 * config.h.in (DISK_CACHE_STATS): New define.
3079 * grub-core/Makefile.core.def (cacheinfo): New command.
3080 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3081 * grub-core/commands/cacheinfo.c: New file.
3082 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3083 moved to cacheinfo.c.
3084 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3085 debug code.
3086 * include/grub/disk.h: Likewise.
3087
3088 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3089
3090 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3091 * grub-core/Makefile.am: Likewise.
3092
3093 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3096 non-zero pull.
3097
3098 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3101 All users updated.
3102 (grub_jfs_lookup_symlink): Use correct starting inode.
3103
3104 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * util/grub-setup.c (main): Add missing gcry initialisation.
3107
3108 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3109
3110 Don't accept text modes on EFI when booting Linux.
3111
3112 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3113 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3114
3115 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3116 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3117
3118 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3119 use of "/path/.." as in grub-install for EFI as well as handling
3120 symlinks correctly.
3121 Fixes Debian bug #637768.
3122
3123 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3124
3125 * util/grub-probe.c: Remove duplicate #include.
3126
3127 2011-08-10 Robert Millan <rmh@gnu.org>
3128
3129 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3130
3131 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3132 function.
3133 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3134 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3135
3136 2011-08-03 Robert Millan <rmh@gnu.org>
3137
3138 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3139 la_array as packed.
3140 Reported by: Zachary Bedell
3141
3142 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3143
3144 * configure.ac: The Loongson port requires grub-mkfont due to its
3145 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3146 be built.
3147
3148 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3149
3150 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3151 processing arguments (otherwise help2man fails when GRUB has not yet
3152 been installed).
3153
3154 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3155
3156 New script grub-mkstandalone.
3157
3158 * Makefile.util.def (grub-mkstandalone): New script.
3159 * docs/man/grub-mkstandalone.h2m: New file.
3160 * util/grub-mkstandalone.in: Likewise.
3161
3162 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3163
3164 Support ATA disks with 4K sectors.
3165
3166 * include/grub/ata.h (grub_ata): New member log_sector_size.
3167 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3168 (grub_ata_identify): Read sector size.
3169 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3170
3171 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * util/grub-install.in: Don't use uhci outside of x86.
3174
3175 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3176
3177 * util/grub-mkrescue.in: Add missing quotes.
3178
3179 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3180
3181 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3182 dereference.
3183
3184 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3185
3186 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3187
3188 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3189
3190 * include/grub/video.h: add missing EXPORT_FUND on
3191 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3192
3193 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * include/grub/mips/kernel.h: Fix define conflict.
3196
3197 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3198
3199 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3200 all four ways.
3201
3202 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3203
3204 Preferred resolution detection for VBE.
3205
3206 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3207 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3208 the Flat Panel extension, in line with the X.org VESA driver.
3209 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3210 New function.
3211 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3212 (grub_vbe_bios_read_edid): Likewise.
3213 (grub_vbe_get_preferred_mode): Likewise.
3214 (grub_video_vbe_setup): When the mode is "auto", try to get the
3215 preferred mode from VBE, and use the largest mode that is no larger
3216 than the preferred mode (some BIOSes expose a preferred mode that is
3217 not in their mode list!). If this fails, fall back to 640x480 as a
3218 safe conservative choice.
3219 (grub_video_vbe_get_edid): New function.
3220 (grub_video_vbe_adapter): Add get_edid.
3221 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3222 (struct grub_video_adapter): Add get_edid.
3223 (grub_video_edid_checksum): Add prototype.
3224 (grub_video_edid_preferred_mode): Likewise.
3225 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3226 structure.
3227
3228 * grub-core/commands/videoinfo.c (print_edid): New function.
3229 (grub_cmd_videoinfo): Print EDID if available.
3230
3231 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3232 is more appropriate on a wider range of platforms than 640x480.
3233 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3234 documentation.
3235
3236 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3237
3238 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3239
3240 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 * po/POTFILES.in: Regenerate.
3243
3244 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3245
3246 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3247 incorrect memory usage.
3248
3249 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3250
3251 * util/grub-install.in: Source grub-mkconfig_lib.
3252
3253 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3254
3255 Remove getroot.c from core on emu platform.
3256
3257 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3258 kern/emu/raid.c.
3259 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3260 useless.
3261 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3262 * util/getroot.c (get_win32_path): ... here.
3263 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3264 * util/getroot.c (fini_libzfs): ... here.
3265 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3266 * util/getroot.c (grub_get_libzfs_handle): ... here.
3267 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3268 Moved from here...
3269 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3270 * grub-core/kern/emu/misc.c
3271 (grub_make_system_path_relative_to_its_root): Moved from here...
3272 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3273 * grub-core/kern/emu/getroot.c: Moved from here ...
3274 * util/getroot.c: ... here. All users updated.
3275 * grub-core/kern/emu/raid.c: Moved from here ...
3276 * util/raid.c: ... here. All users updated.
3277
3278 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3279
3280 * po/POTFILES.in: Regenerate.
3281
3282 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3283
3284 Fix compilation on GNU/Linux.
3285
3286 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3287 Disable geli.
3288 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3289 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3290 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3291
3292 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3293 2011-07-07 Michael Gorven <michael@gorven.za.net>
3294 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3295
3296 LUKS and GELI support.
3297
3298 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3299 grub-core/disk/luks.c, grub-core/disk/geli.c,
3300 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3301 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3302 grub-core/lib/arg.c.
3303 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3304 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3305 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3306 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3307 (grub-bin2h): Add libgcry.a.
3308 (grub-mkimage): Likewise.
3309 (grub-mkrelpath): Likewise.
3310 (grub-script-check): Likewise.
3311 (grub-editenv): Likewise.
3312 (grub-mkpasswd-pbkdf2): Likewise.
3313 (grub-pe2elf): Likewise.
3314 (grub-fstest): Likewise.
3315 (grub-mkfont): Likewise.
3316 (grub-mkdevicemap): Likewise.
3317 (grub-probe): Likewise.
3318 (grub-ofpath): Likewise.
3319 (grub-mklayout): Likewise.
3320 (example_unit_test): Likewise.
3321 (grub-menulst2cfg): Likewise.
3322 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3323 * grub-core/Makefile.core.def (cryptodisk): New module.
3324 (luks): Likewise.
3325 (geli): Likewise.
3326 * grub-core/disk/AFSplitter.c: New file.
3327 * grub-core/disk/cryptodisk.c: Likewise.
3328 * grub-core/disk/geli.c: Likewise.
3329 * grub-core/disk/luks.c: Likewise.
3330 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3331 grub_util_is_lvm.
3332 (grub_util_get_dm_abstraction): New function.
3333 (grub_util_follow_gpart_up): Likewise.
3334 (grub_util_get_geom_abstraction): Likewise.
3335 (grub_util_get_dev_abstraction): Use new functions.
3336 (grub_util_pull_device): Pull GELI and LUKS.
3337 (grub_util_get_grub_dev): Handle LUKS and GELI.
3338 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3339 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3340 (follow_geom_up): Removed.
3341 (grub_util_fd_seek): New function.
3342 (open_device): Use grub_util_fd_seek.
3343 (nread): Rename to ..
3344 (grub_util_fd_read): ... this. All users updated.
3345 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3346 (grub_crypto_cbc_decrypt): Likewise.
3347 (grub_crypto_hmac_write): Likewise.
3348 (grub_crypto_hmac_buffer): Likewise.
3349 (grub_password_get): Extend to util.
3350 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3351 New member modname.
3352 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3353 * include/grub/cryptodisk.h: New file.
3354 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3355 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3356 LUKS and GELI.
3357 (grub_util_follow_gpart_up): New proto.
3358 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3359 (grub_util_fd_read): Likewise.
3360 (grub_cryptodisk_cheat_mount): Likewise.
3361 (grub_util_cryptodisk_print_uuid): Likewise.
3362 (grub_util_get_fd_sectors): Likewise.
3363 * util/grub-fstest.c (mount_crypt): New var.
3364 (fstest): Mount crypto if requested.
3365 (options): New option -C.
3366 (argp_parser): Parse -C.
3367 (main): Init and fini gcry.
3368 * util/grub-install.in: Support cryptodisk install.
3369 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3370 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3371 cryptodisk.
3372 (prepare_grub_to_access_device): Likewise.
3373 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3374 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3375 (probe_cryptodisk_uuid): New function.
3376 (probe_abstraction): Likewise.
3377 (probe): Use new functions.
3378 * util/import_gcry.py: Create Makefile.utilgcry.def.
3379 Add modname member.
3380
3381 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3382
3383 Lazy device scanning.
3384
3385 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3386 (grub-setup): Remove util/raid.c.
3387 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3388 * grub-core/disk/lvm.c (scan_depth): New variable.
3389 (grub_lvm_iterate): Rescan if necessary.
3390 (find_lv): New function based on grub_lvm_open.
3391 (grub_lvm_open): Use find_lv. Rescan on error.
3392 (is_node_readable): New function.
3393 (is_lv_readable): Likewise.
3394 (grub_lvm_scan_device): Skip already found disks.
3395 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3396 Stop if searched device is found and readable.
3397 * grub-core/disk/raid.c (inscnt): New variable.
3398 (scan_depth): Likewise.
3399 (scan_devices): New function based on grub_raid_register. Abort if
3400 looked for device is found.
3401 (grub_raid_iterate): Rescan if needed.
3402 (find_array): NEw function based on -grub_raid_open.
3403 (grub_raid_open): Use find_array and rescan.
3404 (insert_array): Set became_readable_at.
3405 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3406 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3407 New function.
3408 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3409 (grub_util_pull_device): New function.
3410 (grub_util_get_grub_dev): Call grub_util_pull_device.
3411 * util/raid.c: Moved to ..
3412 * grub-core/kern/emu/raid.c: ... here.
3413 (grub_util_raid_getmembers): New parameter "bootable".
3414 All users updated. Support 1.x.
3415 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3416 All users updated.
3417 * include/grub/disk.h (grub_disk_pull_t): New enum.
3418 (grub_disk_dev): Change iterate prototype.
3419 All users updated.
3420 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3421 New proto.
3422 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3423 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3424 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3425 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3426 All users updated.
3427 * include/grub/util/raid.h: Removed.
3428
3429 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3430
3431 * po/POTFILES.in: Regenerate.
3432
3433 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 Unify sparc init with other ieee1275.
3436
3437 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3438 instead of kern/sparc64/ieee1275/init.c.
3439 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3440 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3441 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3442 grub/machine/kernel.h.
3443 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3444 (grub_claim_heap) [__sparc__]: Use sparc version.
3445 (grub_machine_init): Moved args parsing to
3446 (grub_parse_cmdline): ...this.
3447 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3448 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3449 New definition.
3450 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3451
3452 Move BOOTP to separate file.
3453
3454 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3455 * grub-core/net/net.c: Move all BOOTP functions to
3456 * grub-core/net/bootp.c: ... here.
3457
3458 Use frame interface on PXE.
3459
3460 * grub-core/Makefile.core.def (pxecmd): Removed.
3461 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3462 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3463 * grub-core/i386/pc/pxe.c: Moved from here ...
3464 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3465 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3466 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3467
3468 EFI network support.
3469
3470 * grub-core/Makefile.core.def (efinet): New module.
3471 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3472 here...
3473 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3474 All users updated.
3475 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3476 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3477 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3478 * grub-core/net/drivers/efi/efinet.c: New file.
3479 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3480 (grub_efi_net_config): New extern var.
3481
3482 Various cleanups and bugfixes.
3483
3484 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3485 error.
3486 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3487 disk declared as partition.
3488 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3489 leak on failure.
3490 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3491 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3492 (grub_debug_zalloc): Likewise.
3493 (grub_debug_realloc): Likewise.
3494 (grub_debug_memalign): Likewise.
3495 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3496 Check that target is IPv4.
3497 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3498 local-mac-address as fallback.
3499 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3500 memory leak.
3501 * grub-core/net/ip.c (ipchksum): Rename to ...
3502 (grub_net_ip_chksum): ... this. All users updated.
3503 (grub_net_recv_ip_packets): Special handling for DHCP.
3504 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3505
3506 Unify prefix handling
3507
3508 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3509 (grub_machine_get_bootlocation): ... this.
3510 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3511 (grub_machine_get_bootlocation): ... this.
3512 (grub_prefix): New variable.
3513 (prefix): Removed.
3514 (root_dev): New variable.
3515 (dir): Likewise.
3516 (main): Use new variables.
3517 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3518 Revamped into ...
3519 (grub_machine_get_bootlocation): ... this.
3520 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3521 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3522 (grub_machine_get_bootlocation): ... this.
3523 (grub_machine_set_prefix): Removed.
3524 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3525 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3526 Revamped into ...
3527 (grub_machine_get_bootlocation): ... this.
3528 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3529 (grub_set_prefix_and_root): ... this. All users updated.
3530 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3531 Revamped into ...
3532 (grub_machine_get_bootlocation): ... this.
3533 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3534 (grub_machine_get_bootlocation): New proto.
3535 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3536
3537 Less intrusive and more reliable seek on network implementation.
3538
3539 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3540 (grub_file_seek): Don't call grub_file_net_seek.
3541 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3542 (grub_net_fs_read_real): .. this.
3543 (grub_net_seek_real): Use net->offset.
3544 (grub_net_fs_read): Seek if necessary.
3545
3546 Unify IEEE1275 netwotk config with the other platforms.
3547
3548 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3549 New variable.
3550 (grub_machine_get_bootlocation): Support network.
3551 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3552 Support type and device parsing.
3553 (grub_ieee1275_get_device_type): New function.
3554 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3555 into ...
3556 (grub_ieee1275_net_config_real): ... this.
3557 (grub_ofnet_probecards): Removed.
3558 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3559 * include/grub/ieee1275/ofnet.h: Removed.
3560 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3561 extern var.
3562 (grub_ieee1275_get_device_type): New function.
3563
3564 Unify network device closing across platforms and make more robust.
3565
3566 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3567 grub_grubnet_fini.
3568 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3569 already.
3570 * grub-core/net/net.c (grub_net_network_level_interface_register):
3571 Update num_ifaces.
3572 (grub_net_card_unregister): Close all interfaces.
3573 (receive_packets): Don't poll if no iterfaces are registered.
3574 Open if necessary.
3575 (grub_net_fini_hw): New function.
3576 (grub_net_restore_hw): Likewise.
3577 (fini_hnd): New variable.
3578 (GRUB_MOD_INIT): Register preboot hook.
3579 (GRUB_MOD_FINI): Run and unregister preboot hook.
3580
3581 Poll network cards when idle.
3582
3583 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3584 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3585 * grub-core/net/net.c (receive_packets): Save last poll time.
3586 (grub_net_poll_cards_idle_real): New function.
3587 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3588 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3589 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3590
3591 Rename ofnet interfaces.
3592
3593 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3594 (grub_ofnet_findcards): Use ofnet_%s names.
3595
3596 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3597
3598 Cleanup socket opening.
3599
3600 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3601 (grub_net_fs_close): Likewise.
3602 (grub_net_fs_read_real): Use eof member.
3603 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3604 (+grub_net_udp_close): New inline function.
3605
3606 * include/grub/net/tftp.h: Moved to the top of ...
3607 * grub-core/net/tftp.c: ... here.
3608 * include/grub/net/ip.h: Moved mostly to the top of ...
3609 * grub-core/net/ip.c: ... here.
3610 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3611 * grub-core/net/ethernet.c: ... here.
3612
3613 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3614
3615 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3616 FS name.
3617
3618 * include/grub/net/ip.h (ipv4_ini): Removed.
3619 (ipv4_fini): Likewise.
3620
3621 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3622 (grub_net_send_ip_packets): Likewise.
3623
3624 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3627 grub_read_cmos prototype.
3628
3629 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3630
3631 VGA text support in qemu-mips
3632
3633 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3634 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3635 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3636 text.
3637 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3638 * grub-core/kern/vga_init.c: ... this.
3639 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3640 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3641 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3642 Adjust.
3643 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3644 GRUB_MACHINE_PCI_IO_BASE.
3645
3646 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3647
3648 MIPS qemu flash support.
3649
3650 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3651 magic.
3652 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3653 (grub_machine_init): Probe memory if its size isn't known.
3654 * util/grub-mkimage.c (image_targets): Add flash targets.
3655 (generate_image): Handle flash targets.
3656
3657 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 MIPS qemu at_keyboard support.
3660
3661 * gentpl.py (videoinkernel): Add qemu-mips.
3662 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3663 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3664 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3665 modules.
3666 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3667 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3668 * grub-core/term/serial.c (grub_serial_register)
3669 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3670
3671 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3672
3673 CMOS support on sparc.
3674
3675 * gentpl.py (cmos): Add powerpc and sparc.
3676 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3677 powerpc and sparc.
3678 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3679 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3680 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3681 grub_set_datetime_cmos.
3682 * grub-core/lib/ieee1275/cmos.c: New file.
3683 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3684 (find_rtc): Set no_ieee1275_rtc on error.
3685 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3686 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3687 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3688 fail. Move value to argument. All users updated
3689 (grub_cmos_write): Likewise.
3690 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3691 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3692 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3693 grub_get_datetime_cmos and grub_set_datetime_cmos.
3694
3695 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3696
3697 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3698 sourcing grub-mkconfig_lib.
3699 * util/update-grub_lib.in: Likewise.
3700 * util/grub.d/00_header.in: Likewise.
3701 * util/grub.d/10_hurd.in: Likewise.
3702 * util/grub.d/10_kfreebsd.in: Likewise.
3703 * util/grub.d/10_linux.in: Likewise.
3704 * util/grub.d/10_netbsd.in: Likewise.
3705 * util/grub.d/10_windows.in: Likewise.
3706 * util/grub.d/20_linux_xen.in: Likewise.
3707 * util/grub.d/30_os-prober.in: Likewise.
3708
3709 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
3710
3711 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3712 default_bg_color rather than black.
3713 (grub_gfxterm_fullscreen): Likewise.
3714 (grub_gfxterm_background_color_cmd): Save new background color in
3715 default_bg_color.
3716
3717 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3720
3721 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3724 mismerge.
3725
3726 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 Chainloading on coreboot support.
3729
3730 * grub-core/Makefile.core.def (chain): Add coreboot.
3731 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3732
3733 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
3736 if it happens.
3737
3738 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 Implement time command.
3741
3742 * grub-core/Makefile.core.def (time): New module.
3743 * grub-core/commands/time.c: New file.
3744 * grub-core/script/parser.y: Remove "time" keyword.
3745 * grub-core/script/yylex.l: Likewise.
3746
3747 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
3750
3751 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3752
3753 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
3754 when handling leftovers.
3755
3756 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
3759 so that help2man doesn't fail.
3760
3761 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
3764 type in pointers on sparc64.
3765 (get_card_packet): Likewise.
3766
3767 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
3768
3769 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
3770 with `*'.
3771 (grub_cmd_videoinfo): Fetch current video mode.
3772
3773 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3774
3775 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
3776 because of underlying system restrictions.
3777
3778 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
3781 necessary.
3782
3783 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3784
3785 Coreboot video support.
3786
3787 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
3788 (vbe): Likewise.
3789 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
3790 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
3791 here ...
3792 * grub-core/kern/i386/int.S: ... here.
3793 * grub-core/video/i386/pc/vbe.c: Updated includes.
3794 * grub-core/video/i386/pc/vga.c: Likewise.
3795 * include/grub/i386/coreboot/memory.h
3796 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
3797 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
3798 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
3799 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
3800 Disable interrupts.
3801 * include/grub/i386/pc/vga.h: Removed. All users updated.
3802
3803 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
3806 definitions for dprintf.
3807 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
3808
3809 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3810
3811 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
3812 prototype.
3813 (get_card_packet): Likewise.
3814
3815 2011-06-26 Yves Blusseau <blusseau@zetam.org>
3816
3817 Display the path of the file when file is not found
3818
3819 * grub-core/fs/fat.c: Display the filename when file is not found.
3820 * grub-core/fs/fshelp.c: Likewise.
3821 * grub-core/fs/hfs.c: Likewise.
3822 * grub-core/fs/jfs.c: Likewise.
3823 * grub-core/fs/minix.c: Likewise.
3824 * grub-core/fs/ufs.c: Likewise.
3825 * grub-core/fs/btrfs.c: Likewise.
3826 * grub-core/commands/i386/pc/play.c: Likewise.
3827
3828 2011-06-26 Szymon Janc <szymon@janc.net.pl>
3829
3830 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
3831 pointer checks before calling grub_free().
3832 * grub-core/commands/wildcard.c (match_devices): Likewise.
3833 * grub-core/commands/wildcard.c (match_files): Likewise.
3834 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
3835 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
3836 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
3837 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
3838 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
3839 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
3840 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
3841 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3842 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
3843
3844 2011-06-25 Patrick <p55@mailinator.com>
3845
3846 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
3847
3848 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
3851 (grub_pxe_send): Likewise.
3852 (GRUB_MOD_INIT): Fix types.
3853
3854 2011-06-24 Szymon Janc <szymon@janc.net.pl>
3855
3856 * grub-core/io/xzio.c: Fix code style issues
3857
3858 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3859 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
3860
3861 Network infrastructure.
3862 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
3863
3864 * include/grub/net/arp.h: New file.
3865 * include/grub/net/device.h: Likewise.
3866 * include/grub/net/ethernet.h: Likewise.
3867 * include/grub/net/ip.h: Likewise.
3868 * include/grub/net/netbuff.h: Likewise.
3869 * include/grub/net/tftp.h: Likewise.
3870 * include/grub/net/udp.h: Likewise.
3871 * include/grub/ieee1275/ofnet.h: Likewise.
3872 * include/grub/emu/export.h: Likewise.
3873 * include/grub/net.h: Likewise.
3874 * grub-core/net/arp.c: Likewise.
3875 * grub-core/net/ethernet.c: Likewise.
3876 * grub-core/net/ip.c: Likewise.
3877 * grub-core/net/udp.c: Likewise.
3878 * grub-core/net/tftp.c: Likewise.
3879 * grub-core/net/netbuff.c: Likewise.
3880 * grub-core/net/net.c: Likewise.
3881 * grub-core/net/drivers/emu/emunet.c: Likewise.
3882 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
3883 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
3884 export.h.
3885 * grub-core/Makefile.core.def (net): New module.
3886 (tftp): Likewise.
3887 (ofnet): Likewise.
3888 (emunet): Likewise.
3889 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
3890 network protocols.
3891 * grub-core/kern/device.c (grub_net_open) : New variable.
3892 (grub_device_open): Handle network device.
3893 (grub_device_close): Likewise.
3894 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
3895 (grub_grubnet_fini): Likewise.
3896 (grub_file_seek): Seek in network device.
3897 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
3898 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
3899 network root.
3900 (grub_machine_fini): Call grub_grubnet_fini.
3901 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
3902 network.
3903 (grub_ieee1275_get_aliasdevname): New function.
3904 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3905 Add unofficial Solaris network info.
3906 (grub_multiboot_make_mbi): Likewise.
3907 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
3908 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
3909 * include/grub/device.h (grub_fs): Removed.
3910 * include/grub/err.h (grub_err_t): Add network-related values.
3911 * include/grub/i386/pc/pxe.h: Removed bootp parts.
3912 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
3913 (grub_ieee1275_get_aliasdevname): New proto.
3914 * include/grub/net.h: Rewritten.
3915
3916 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
3919 names.
3920
3921 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
3924 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
3925 it truncates the output.
3926 Reported by: Ximin Luo.
3927
3928 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3929
3930 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
3931
3932 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3935 partmap before abstraction.
3936
3937 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
3938
3939 * util/grub-mkconfig_lib.in: Add missing quotes.
3940
3941 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3942
3943 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
3944 old method if mountinfo would return /dev/root and /dev/root doesn't
3945 exist.
3946
3947 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3948
3949 ZFS zlib support
3950
3951 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
3952 (decomp_table): Add zlib entries.
3953 (zio_read): USe 8 bits for compression function rather than 3.
3954 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
3955
3956 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * grub-core/disk/ahci.c: Add missing license statements.
3959 * grub-core/fs/romfs.c: Likewise.
3960 * grub-core/lib/ia64/setjmp.S: Likewise.
3961 * grub-core/loader/i386/pc/freedos.c: Likewise.
3962 * grub-core/loader/ia64/efi/linux.c: Likewise.
3963 * grub-core/video/colors.c: Likewise.
3964 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
3965
3966 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 AHCI support.
3969
3970 * grub-core/Makefile.core.def (ata_pthru): Removed.
3971 (ahci): New module.
3972 (pata): Likewise.
3973 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
3974 on unload.
3975 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
3976 readwrite.
3977 (grub_hdparm_do_check_powermode_cmd): Likewise.
3978 (grub_hdparm_do_smart_cmd): Likewise.
3979 (grub_hdparm_set_val_cmd): Likewise.
3980 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
3981 * grub-core/disk/ahci.c: New file.
3982 * grub-core/disk/ata.c: Factor out the low-level part into ...
3983 * grub-core/disk/pata.c: ... here.
3984 * grub-core/disk/ata_pthru.c: Contents moved to ...
3985 * grub-core/disk/pata.c: ... here.
3986 * grub-core/disk/scsi.c (grub_scsi_names): New array.
3987 (grub_scsi_iterate): Use grub_scsi_names.
3988 (grub_scsi_open): Likewise.
3989 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
3990 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
3991 (grub_ata_regs_t): New struct.
3992 (grub_disk_ata_pass_through_parms): Likewise.
3993 (grub_ata_device): Renamed to ...
3994 (grub_ata): ... this.
3995 (grub_ata_dev): New struct.
3996 Removed all low-level inline functions.
3997 * include/grub/scsi.h: Add PATA and AHCI subsystems.
3998 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
3999 iterate hooks and open. All users updated.
4000 * util/grub-install.in: Handle AHCI disk module.
4001
4002 2011-06-23 Szymon Janc <szymon@janc.net.pl>
4003
4004 Add support for DRI and RSTn markers in JPEG files.
4005
4006 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
4007 (JPEG_MARKER_RST0): Likewise.
4008 (JPEG_MARKER_RST1): Likewise.
4009 (JPEG_MARKER_RST2): Likewise.
4010 (JPEG_MARKER_RST3): Likewise.
4011 (JPEG_MARKER_RST4): Likewise.
4012 (JPEG_MARKER_RST5): Likewise.
4013 (JPEG_MARKER_RST6): Likewise.
4014 (JPEG_MARKER_RST7): Likewise.
4015 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
4016 (grub_jpeg_decode_dri): New function.
4017 (grub_jpeg_decode_sos): Move image data related part into
4018 grub_jpeg_decode_data function.
4019 (grub_jpeg_decode_data): New function.
4020 (grub_jpeg_reset): New function.
4021 (grub_jpeg_decode_jpeg): Handle new markers.
4022
4023 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4024
4025 * util/ieee1275/ofpath.c (check_sas): Close fd.
4026 (main): Free of_path.
4027 Reported by: David Volgyes <dvolgyes>.
4028
4029 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
4032 Reported by: David Volgyes <dvolgyes>.
4033
4034 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4035
4036 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
4037 file after stat.
4038 Reported by: David Volgyes <dvolgyes>.
4039
4040 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
4043
4044 Reported by: David Volgyes <dvolgyes>.
4045
4046 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
4049 Prevent memory leak.
4050
4051 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
4054 (main): Close file.
4055 Reported by: David Volgyes <dvolgyes>.
4056
4057 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4058
4059 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4060 to continue if allocation is failed.
4061
4062 Reported by: David Volgyes <dvolgyes>.
4063
4064 2011-06-23 David Volgyes <dvolgyes>
4065
4066 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4067 dereference.
4068
4069 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4070
4071 Fix spurious warning.
4072
4073 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4074 (acorn_partition_map_find): Use .bin member.
4075
4076 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4077
4078 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4079 /dev/root as a valid device.
4080
4081 2011-06-23 Jim Meyering <meyering@redhat.com>
4082
4083 Avoid NULL deref in grub_device_open.
4084
4085 * grub-core/kern/device.c (grub_device_open): Don't dereference
4086 a NULL pointer upon failed grub_env_get.
4087
4088 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 Support non-512B sectors and agglomerate reads.
4091
4092 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4093 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4094 (disk_io_guid): Removed.
4095 (make_devices): Locate solely by BlockIO.
4096 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4097 (grub_efidisk_read): Use read_blocks.
4098 (grub_efidisk_write): Use write_blocks.
4099 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4100 log_sector_size.
4101 (get_safe_sectors): Handle non-512B sectors.
4102 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4103 sectors.
4104 (grub_biosdisk_write): Handle non-512B sectors.
4105 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4106 (grub_scsi_read): Remove special non-512B block handling (now handled
4107 one level up).
4108 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4109 and do sanity checks.
4110 (grub_disk_adjust_range): Handle non-512B sectors.
4111 (transform_sector): New function.
4112 (grub_disk_read_small): Likewise.
4113 (grub_disk_read): Rewritten.
4114 (grub_disk_write): Handle non-512B sectors.
4115 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4116 log_sector_size.
4117 (open_device): Use log_sector_size.
4118 (grub_util_biosdisk_read): Likewise.
4119 (grub_util_biosdisk_write): Likewise.
4120 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4121 non-512B sectors.
4122 (pc_partition_map_embed): Likewise.
4123 * include/grub/disk.h (grub_disk): New field log_sector_size.
4124 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4125 (GRUB_DISK_CACHE_BITS): Increased to 6.
4126 * util/grub-fstest.c (fstest): New command testload.
4127 (argp_parser): Likewise.
4128
4129 2011-06-16 Robert Millan <rmh@gnu.org>
4130
4131 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4132 `ata' driver on kernel of FreeBSD 9.
4133
4134 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4135 (get_ataraid_disk_name): New functions.
4136 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4137 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4138 get_ataraid_disk_name() and get_ada_disk_name().
4139
4140 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4141
4142 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4143 input format.
4144
4145 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4146
4147 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4148 `ftp.gnu.org' for `alpha.gnu.org'.
4149
4150 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4151
4152 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4153 partitions under /dev/disk/by-id/.
4154
4155 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4156
4157 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4158 after ten consecutive open failures. Scanning all the way up to
4159 10000 is excessive and can cause serious performance problems in
4160 some configurations.
4161 Fixes Ubuntu bug #787461.
4162
4163 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4164
4165 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4166 opening new one.
4167
4168 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4169 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 Don't stat devices unless we have to.
4172
4173 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4174 dir == /dev/mapper.
4175 (grub_guess_root_device): Use already known os_dev if possible.
4176 * grub-core/kern/emu/hostdisk.c
4177 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4178 if device is known to be a dm one.
4179
4180 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4181
4182 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4183 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4184 Reported by: Pawel Tecza.
4185
4186 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4187
4188 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4189 (lsefisystab): Likewise.
4190 (lssal): Likewise.
4191 (lsefimmap): Likewise.
4192 (hdparm): Enable on qemu-mips.
4193 (setjmp): Add ia64 nodist.
4194 (serial): Simplify tags.
4195
4196 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4197
4198 * Makefile.util.def (grub-ofpathname): Install manual page.
4199
4200 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4201
4202 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4203
4204 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4205
4206 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4207
4208 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4211 into dprintf.
4212
4213 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4214
4215 Use full 64-bit division.
4216
4217 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4218 (grub_divmod64): ... this.
4219 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4220 version.
4221
4222 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4223
4224 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4225 `source'.
4226
4227 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4228
4229 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4230 to avoid accidents when debugging with 'sh -x'.
4231 * grub-core/gensyminfo.sh.in: Likewise.
4232 * tests/example_scripted_test.in: Likewise.
4233 * tests/grub_cmd_regexp.in: Likewise.
4234 * tests/grub_script_blanklines.in: Likewise.
4235 * tests/grub_script_dollar.in: Likewise.
4236 * tests/grub_script_expansion.in: Likewise.
4237 * tests/grub_script_final_semicolon.in: Likewise.
4238 * tests/partmap_test.in: Likewise.
4239 * tests/util/grub-shell-tester.in: Likewise.
4240 * tests/util/grub-shell.in: Likewise.
4241
4242 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4243
4244 Move gfxmenu color handling to video, so that gfxterm can use it
4245 too.
4246
4247 * grub-core/gfxmenu/named_colors.c: Move to ...
4248 * grub-core/video/colors.c: ... here. Rename
4249 grub_gui_get_named_color to grub_video_get_named_color.
4250 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4251 * grub-core/video/colors.c (my_isxdigit): ... here.
4252 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4253 Move to ...
4254 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4255 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4256 to ...
4257 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4258
4259 * include/grub/gui.h (grub_gui_color_t): Move to ...
4260 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4261 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4262 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4263 * include/grub/gui.h (grub_gui_map_color): Move to ...
4264 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4265 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4266 to ...
4267 * include/grub/video.h (grub_video_get_named_color): ... here.
4268 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4269 * include/grub/video.h (grub_video_parse_color): ... here.
4270
4271 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4272 video/colors.c.
4273 (gfxmenu): Remove gfxmenu/named_colors.c.
4274 (video) [videomodules]: Add video/colors.c.
4275
4276 Add a background_color command.
4277
4278 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4279 function.
4280 (GRUB_MOD_INIT): Register background_color command.
4281 (GRUB_MOD_FINI): Unregister background_color command.
4282 (redraw_screen_rect): Allow blend/replace of text layer to be
4283 controlled independently from whether there is a background bitmap.
4284 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4285 changing bitmap.
4286
4287 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4288
4289 Patch BPB in ntldr and chainloader --bpb.
4290
4291 * grub-core/fs/fat.c: Include grub/fat.h.
4292 (grub_fat_bpb): Moved to ...
4293 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4294 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4295 grub/ntfs.h.
4296 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4297 Moved from here...
4298 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4299 here.
4300 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4301 New function.
4302 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4303 (GRUB_MOD_INIT): Show --bpb.
4304 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4305 * grub-core/normal/main.c (features): New variable.
4306 (GRUB_MOD_INIT): Set feature_* variables.
4307 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4308 proto.
4309 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4310
4311 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4312
4313 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4314 for cleanness.
4315
4316 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4317
4318 FreeDOS direct loading support.
4319
4320 * docs/grub.texi (Supported OS): Add FreeDOS.
4321 * grub-core/Makefile.core.def (freedos): New module.
4322 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4323 variable.
4324 (grub_relocator16_boot): Handle %ebx.
4325 * grub-core/lib/i386/relocator16.S: Likewise.
4326 * grub-core/loader/i386/pc/freedos.c: New file.
4327
4328 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4329
4330 Long Linux command line support.
4331
4332 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4333 (maximal_cmdline_size): New variable.
4334 (allocate_pages): Use maximal_cmdline_size.
4335 (grub_cmd_linux): Set and use maximal_cmdline_size.
4336 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4337 (allocate_pages): Use maximal_cmdline_size.
4338 (grub_cmd_linux): Set and use maximal_cmdline_size.
4339 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4340 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4341 and cmdline_size.
4342
4343 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4344 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4345
4346 Improve devmapper support
4347
4348 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4349 (grub_util_is_lvm): New function.
4350 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4351 than lvm if not dmraid.
4352 Handle mapped md nodes.
4353 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4354 (grub_util_device_is_mapped): ... this. Make always available. All users
4355 updated.
4356 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4357 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4358 dmraid nodes.
4359 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4360
4361 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4362
4363 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4364
4365 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4366 * grub-core/modinfo.sh.in: New file.
4367 * grub-core/Makefile.core.def (modinfo.sh): New script.
4368 * util/grub-mknetdir.in: Use modinfo.sh.
4369 * util/grub-mkrescue.in: Likewise.
4370
4371 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4374 Fix potential usage of Elf32 instead of Elf64 when compiling on
4375 32-bit architecture. Add endianness macros while on it.
4376
4377 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 Use mipsel- rather than mips- in directories involving mipsel ports to
4380 allow both endiannesses coexist.
4381
4382 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4383 mips. All conditions adjusted.
4384 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4385 variable.
4386 * util/grub-install.in: Adjust conditions to take renaming into account.
4387 * util/grub-mkimage.c (image_targets): Likewise. New target
4388 mips-qemu_mips-elf for bigendian mips.
4389
4390 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4391
4392 Avoid unnecessary copying on MIPS.
4393
4394 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4395 early if src == dest.
4396 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4397 compression is none.
4398
4399 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 Reduce memory footprint on SGI by putting modules before the kernel
4402 as opposed to after.
4403
4404 * grub-core/Makefile.core.def (kernel): Increase linking address.
4405 (none_decompress): Likewise.
4406 (xz_decompress): Likewise.
4407 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4408 address.
4409 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4410 layout change.
4411 (grub_arch_modules_addr): New function.
4412 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4413 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4414 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4415 here.
4416 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4417 (grub_total_modules_size): ... this. Make global.
4418 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4419 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4420 New definition.
4421 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4422 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4423 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4424 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4425 * util/grub-mkimage.c (image_target_desc): New flag
4426 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4427 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4428 (generate_image): Handle images with modules before kernel.
4429
4430 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4431
4432 Prevent potential loss of memory map by overwrite on qemu-mips.
4433
4434 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4435 Save ram size in $s4.
4436 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4437 All users changed to grub_arch_memsize.
4438 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4439 Loongson.
4440 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4441 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4442 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4443 external variable.
4444
4445 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4446
4447 * .bzrignore: Remove grub-dumpbios.
4448
4449 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4450
4451 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4452 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4453 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4454 existing options which append).
4455 * docs/grub.texi (Simple configuration): Document new options.
4456 Reported by: Ian Jackson. Fixes Debian bug #617538.
4457
4458 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4459
4460 * util/grub-fstest.c (cmd_cat): New function.
4461 (fstest): Handle CMD_CAT.
4462 (options): Add cat.
4463 (argp_parser): Handle cat.
4464
4465 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4466
4467 * Makefile.util.def (grub-bin2h): Don't install.
4468 * docs/man/grub-bin2h.h2m: Remove.
4469
4470 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4471
4472 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4473 place.
4474
4475 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4476
4477 Reenable qemu-mips port.
4478
4479 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4480 Fix small arc bug while on it.
4481 * gentpl.py: Handle qemu_mips.
4482 * grub-core/Makefile.am: Likewise.
4483 * grub-core/Makefile.core.def: Likewise.
4484 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4485 inappropriate includes.
4486 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4487 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4488 * grub-core/kern/main.c (grub_modules_get_end)
4489 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4490 * grub-core/kern/mips/qemu-mips: Moved to ..
4491 * grub-core/kern/mips/qemu_mips: ... this.
4492 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4493 (grub_machine_init): Call terminfo_init and serial_init.
4494 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4495 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4496 New variable.
4497 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4498 parameter passing.
4499 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4500 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4501 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4502 * include/grub/mips/qemu_mips/cmos.h: New file.
4503 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4504 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4505 Removed.
4506 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4507 Use correct mips-style address.
4508 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4509 (GRUB_TICKS_PER_SECOND): Removed.
4510 (grub_get_rtc): Likewise.
4511 (grub_cpu_idle): Likewise.
4512 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4513 New definition.
4514 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4515 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4516 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4517 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4518 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4519 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4520 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4521 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4522
4523 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 SGI ARCS port.
4526
4527 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4528 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4529 platforms.
4530 * configure.ac: New target mips-arc.
4531 * gentpl.py: Likewise.
4532 * grub-core/Makefile.am: Likewise.
4533 * grub-core/Makefile.core.def: Likewise.
4534 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4535 (none_decompress): Likewise.
4536 (lsdev): New module.
4537 (datetime): Use lib/arc/datetime.c on ARC.
4538 (part_dvh): New module.
4539 * grub-core/commands/arc/lsdev.c: New file.
4540 * grub-core/disk/arc/arcdisk.c: Likewise.
4541 * grub-core/kern/mips/arc/init.c: Likewise.
4542 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4543 aligned addresses.
4544 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4545 support.
4546 (grub_arch_dl_relocate_symbols): Likewise.
4547 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4548 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4549 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4550 platforms.
4551 * grub-core/lib/arc/datetime.c: New file.
4552 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4553 pci.h on non-loongson.
4554 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4555 (grub_linux_boot): Set unused registers to 0.
4556 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4557 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4558 * grub-core/mmap/mips/uppermem.c: ...here.
4559 * grub-core/partmap/dvh.c: New file.
4560 * grub-core/term/arc/console.c: Likewise.
4561 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4562 (grub_terminfo_set_current): Add terminal "arc".
4563 (grub_terminfo_readkey): Support ARC sequences.
4564 * include/grub/arc/arc.h: New file.
4565 * include/grub/arc/console.h: Likewise.
4566 * include/grub/disk.h (grub_disk_dev_id): Add
4567 GRUB_DISK_DEVICE_ARCDISK_ID.
4568 * include/grub/mips/arc/kernel.h: New file.
4569 * include/grub/mips/arc/memory.h: Likewise.
4570 * include/grub/mips/arc/time.h: Likewise.
4571 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4572 * include/grub/mips/kernel.h (grub_halt): ... here.
4573 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4574 here...
4575 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4576 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4577 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4578 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4579 proto.
4580 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4581 from here ...
4582 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4583 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4584 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4585 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4586 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4587 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4588 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4589 (grub_phys_addr_t): Moved from here ...
4590 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4591 (grub_vtop): Moved from here ...
4592 * include/grub/mips/memory.h (grub_vtop): ... here.
4593 (grub_map_memory): Moved from here ...
4594 * include/grub/mips/memory.h (grub_map_memory): ... here.
4595 (grub_unmap_memory): Moved from here ...
4596 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4597 (grub_machine_mmap_iterate): Moved from here ...
4598 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4599 (grub_mmap_get_lower): Moved from here ...
4600 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4601 (grub_mmap_get_upper): Moved from here ...
4602 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4603 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4604 here ...
4605 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4606 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4607 here ...
4608 * include/grub/mips/time.h (grub_get_rtc): ... here.
4609 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4610 here ...
4611 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4612 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4613 here ...
4614 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4615 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4616 definition.
4617 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4618 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4619 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4620 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4621 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4622 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4623 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4624 (GRUB_MACHINE_LINK_ADDR): Likewise.
4625 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4626 to 6.
4627 * util/grub-install.in: Run dvhtool on ARC.
4628 * util/grub-mkimage.c (image_targets): Add mips-arc.
4629 (generate_image): Handle ECOFF output for mips-arc.
4630
4631 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4632
4633 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4634 blocks.
4635
4636 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4637
4638 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4639 after enabling port.
4640
4641 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4642
4643 Skip incorrect USB devices.
4644
4645 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4646 configcnt == 0.
4647 * include/grub/usb.h (grub_usb_err_t): New enum value
4648 GRUB_USB_ERR_BADDEVICE.
4649
4650 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 Fuloong video init support.
4653
4654 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4655 well.
4656 (grub_vga_read_arx): New function.
4657 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4658 definition.
4659 (framebuffer): New members io, mmioptr and mmiobase.
4660 (read_sis_cmd): New function.
4661 (write_sis_cmd): Likewise.
4662 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4663 rather than 640x400.
4664 * grub-core/video/sis315_init.c: New file.
4665
4666 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4667
4668 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4669 non-loongson.
4670 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4671 to grub_dl_register_symbol.
4672
4673 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4674
4675 Fix compilation errors.
4676
4677 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4678 potentially unused.
4679 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4680 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4681 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4682 to loongson machines.
4683
4684 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4685
4686 Several FS mtime support.
4687
4688 * grub-core/fs/affs.c (grub_affs_time): New struct.
4689 (grub_affs_file): New field mtime.
4690 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4691 type. Removed 'size'. New field 'di'. All users updated.
4692 (grub_affs_mount): Simplify checsum checking.
4693 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4694 (grub_affs_dir): Handle mtime.
4695 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4696 (grub_cpio_dir): Likewise.
4697 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4698 (grub_hfs_filerec): New field mtime.
4699 (grub_hfs_dir): Handle mtime.
4700 (grub_hfs_mtime): New function.
4701 (grub_hfs_fs): Register grub_hfs_mtime.
4702 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4703 (grub_iso9660_dir): New field mtime.
4704 (grub_fshelp_node): New field dirent.
4705 (iso9660_to_unixtime): New function.
4706 (iso9660_to_unixtime2): Likewise.
4707 (grub_iso9660_read_symlink): Use node->dirent.
4708 (grub_iso9660_iterate_dir): Likewise.
4709 (grub_iso9660_dir): Set mtime.
4710 (grub_iso9660_mtime): New function.
4711 (grub_iso9660_fs): Register grub_iso9660_mtime.
4712 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4713 (grub_jfs_inode): New fields atime, ctime and mtime.
4714 (grub_jfs_dir): Set mtime.
4715 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4716 * grub-core/fs/ntfs.c (list_file): Set mtime.
4717 (grub_ntfs_dir): Likewise.
4718 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4719 (grub_reiserfs_iterate_dir): Set mtime.
4720 (grub_reiserfs_dir): Likewise.
4721 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4722 (grub_fshelp_node): Likewise.
4723 (grub_sfs_iterate_dir): Set mtime.
4724 (grub_sfs_dir): Likewise.
4725 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4726 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4727 (grub_xfs_inode): New fields atime, mtime, ctime.
4728 (grub_xfs_dir): Set mtime.
4729 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4730 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4731 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4732
4733 Support UDF symlinks.
4734
4735 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
4736 (grub_ufs_read_symlink): New function. All users updated.
4737
4738 Check amiga partmap checksum.
4739
4740 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
4741 (grub_amiga_partition): Likewise.
4742 (amiga_partition_map_checksum): New function.
4743 (amiga_partition_map_iterate): Check checksum.
4744
4745 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4746
4747 ROMFS support.
4748
4749 * Makefile.util.def (libgrubmods.a): Add romfs.
4750 * grub-core/Makefile.core.def (romfs): New module.
4751 * grub-core/fs/romfs.c: New file.
4752
4753 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 Squashfs v4 support.
4756
4757 * Makefile.util.def (libgrubmods.a): Add squash4.
4758 * grub-core/Makefile.core.def (squash4): New module.
4759 * grub-core/fs/squash4.c: New file.
4760 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
4761 disk_input_start, disk_input.
4762 (get_byte): Handle disk_input.
4763 (grub_zlib_disk_read): New function.
4764 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
4765
4766 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4767 2011-05-15 Feiran Zheng <famcool@gmail.com>
4768
4769 * Makefile.util.def (libgrubmods.a): Add minix3.
4770 * grub-core/Makefile.core.def (minix3): New module.
4771 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
4772 (GRUB_MINIX_BSIZE): Removed.
4773 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
4774 (grub_minix_ino_t): New type.
4775 (grub_minix_le_to_cpu_ino): New macro.
4776 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
4777 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
4778 (grub_minix_data): New field block_size.
4779 (grub_minix_read_file): Handle 64-bit correctly.
4780 * grub-core/fs/minix3.c: New file.
4781
4782 2011-05-15 Tristan Gingold <gingold@free.fr>
4783 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
4784 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4785
4786 IA64 support.
4787
4788 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
4789 * configure.ac: Add ia64-efi target.
4790 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
4791 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
4792 * gentpl.py: Add ia64_efi platform.
4793 Rename x86_efi to efi and Add ia64-efi. All users updated.
4794 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
4795 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
4796 Remove kern/generic/rtc_get_time_ms.c on EFI.
4797 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
4798 kern/ia64/dl_helper.c on ia64-efi.
4799 Add kern/emu/cache.c on emu.
4800 (linux): Use on loader/ia64/efi/linux.c on ia64.
4801 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
4802 whether symbol is a function.
4803 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
4804 (grub_symbol): New field 'isfunc'.
4805 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
4806 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
4807 (grub_dl_load_segments): Place all sections into the same region.
4808 [__ia64__]: Create trampolines and got.
4809 [GRUB_MACHINE_EMU]: Call mprotect.
4810 (grub_dl_resolve_symbols): Resolve symbol type as well.
4811 [__ia64__]: Create function descriptors.
4812 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
4813 (grub_rtc_get_time_ms): ... this. Expressions simplified.
4814 (grub_get_rtc): New function.
4815 * grub-core/kern/emu/cache.c [__ia64__]: New file.
4816 * grub-core/kern/emu/cache.S: Renamed to ...
4817 * grub-core/kern/emu/cache_s.S: ... this.
4818 [__ia64__]: Add a nop.
4819 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
4820 [__ia64__]: New function.
4821 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
4822 * grub-core/kern/ia64/dl.c: New file.
4823 * grub-core/kern/ia64/dl_helper.c: Likewise.
4824 * grub-core/kern/ia64/efi/init.c: New file.
4825 * grub-core/kern/ia64/efi/startup.S: Likewise.
4826 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
4827 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
4828 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
4829 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
4830 * grub-core/loader/ia64/efi/linux.c: New file.
4831 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
4832 (GRUB_MOD_DEP): Likewise.
4833 (grub_dl) [__ia64__]: New fields got and tramp.
4834 (grub_dl): New field 'base'.
4835 (grub_dl_register_symbol): New argument isfunc. All users updated.
4836 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
4837 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
4838 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
4839 (grub_ia64_dl_get_tramp_got_size): New proto.
4840 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
4841 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
4842 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
4843 * include/grub/efi/api.h: Skip call wrappers on ia64.
4844 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
4845 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
4846 * include/grub/elf.h (ELF_ST_INFO): New definition.
4847 * include/grub/ia64/efi/kernel.h: New file.
4848 * include/grub/ia64/efi/memory.h: Likewise.
4849 * include/grub/ia64/efi/time.h: Likewise.
4850 * include/grub/ia64/kernel.h: Likewise.
4851 * include/grub/ia64/setjmp.h: Likewise (from glibc).
4852 * include/grub/ia64/time.h: New file.
4853 * include/grub/ia64/types.h: Likewise.
4854 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
4855 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
4856 New protos.
4857 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
4858 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4859 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
4860 * util/grub-mkimage.c (image_target_desc): New field pe_target.
4861 All users updated.
4862 (EFI64_HEADER_SIZE): New definition. All users updated.
4863 (image_targets): Add ia64-efi.
4864 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
4865 jumpers_addr. All users updated.
4866 Create function descriptors.
4867 (count_funcs): New function.
4868 (unaligned_uint32): New struct.
4869 (MASK20): New definition.
4870 (MASK19): Likewise.
4871 (MASKF21): Likewise.
4872 (add_value_to_slot_20b): New function.
4873 (add_value_to_slot_21_real): Likewise.
4874 (add_value_to_slot_21): Likewise.
4875 (ia64_kernel_trampoline): New struct.
4876 (nopm): New variable.
4877 (jump): Likewise.
4878 (make_trampoline): New function.
4879 (relocate_addresses): Handle ia64.
4880 (make_reloc_section): Likewise.
4881 (load_image): Likewise.
4882
4883 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4884
4885 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
4886 warning. Move variables before code while on it.
4887
4888 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4889
4890 Fuloong support.
4891
4892 * configure.ac: Rename yeeloong platform to loongson. All users updated.
4893 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
4894 * grub-core/boot/mips/loongson/fuloong.S: New file.
4895 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
4896 Explicitly init CS5536.
4897 [FULOONG]: Don't use serial until CS5536 is available.
4898 Set GPIO based on dumps.
4899 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
4900 [FULOONG]: Handle GPIO and memory controller differences.
4901 Parse machine type in $a2.
4902 * grub-core/boot/mips/startup_raw.S: Determine and save the
4903 architecture.
4904 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
4905 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
4906 init on architecture type.
4907 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4908 SIS315E. Don't init at_keyboard on fuloong.
4909 (grub_halt): Support Fuloong.
4910 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
4911 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
4912 (loongson_machtypes): New array.
4913 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
4914 type.
4915 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
4916 config. All users updated. Handle CS5536 serial.
4917 * grub-core/term/serial.c (grub_serial_register): Conditionalise
4918 default port on machine type. Register serial as inactive.
4919 * grub-core/video/sis315pro.c: New file.
4920 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
4921 definition.
4922 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
4923 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
4924 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
4925 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
4926 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
4927 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
4928 to ...
4929 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
4930 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
4931 definition.
4932 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
4933 (grub_arch_machine): New extern var.
4934 * include/grub/mips/loongson/serial.h
4935 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
4936 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
4937 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
4938 (GRUB_MACHINE_SERIAL_PORT0): ... this.
4939 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
4940 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
4941 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
4942 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
4943 * include/grub/term.h (grub_term_register_input_inactive): New inline
4944 function.
4945 (grub_term_register_output_inactive): Likewise.
4946 * include/grub/video.h (grub_video_driver_id): New value
4947 GRUB_VIDEO_DRIVER_SIS315PRO.
4948 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
4949 New field "names". All users updated.
4950 New field value IMAGE_FULOONG_FLASH.
4951 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
4952
4953 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
4954
4955 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
4956 and add some clarification.
4957
4958 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4959
4960 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
4961 platforms if kernel is compressed.
4962
4963 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4964
4965 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
4966 unused modules since currently referrence counter isn't reliable and
4967 there isn't much memory to recover there anyway.
4968
4969 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
4972 rather than resetting it to allow modules to reference themselves
4973 in init.
4974
4975 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
4978 counter on dependencies since grub_dl_unref already handles this.
4979
4980 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
4983 on error if not already done.
4984
4985 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4986
4987 Fix few potential memory misusage.
4988
4989 * grub-core/font/font.c (load_font_index): Don't free char_index to
4990 avoid double free.
4991 (grub_font_load): Zero-fill font at alloc for safety.
4992 Close file on error.
4993 (free_font): Free bmp_idx.
4994
4995 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4996
4997 * docs/grub.texi (Installation): Fix several outdated claims.
4998
4999 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 Handle module_license on windows.
5002
5003 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
5004 sections shifted.
5005 (insert_string): Make argument const char * instead of char *.
5006 (write_section_data): Handle long section names.
5007 Handle module_license.
5008
5009 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5010
5011 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
5012 handle class-free menuentries.
5013 (grub_normal_add_menu_entry): Add a check to be sure.
5014
5015 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
5016
5017 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
5018 PgUp and PgDown.
5019
5020 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5021
5022 * configure.ac: Bump version to 1.99.
5023
5024 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 Give ATA device a bit more time on first try in order to allow disks
5027 to spin up.
5028
5029 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
5030 if dev->present is 1. Reset dev->present on failure.
5031 (grub_ata_device_initialize): Set dev->present to 1.
5032 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
5033 (grub_ata_device): New member 'present'.
5034
5035 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5036
5037 * util/grub-mkimage.c (generate_image): Update hash.
5038
5039 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 Flush caches on DMA memory.
5042
5043 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
5044 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
5045 (grub_dma_free): Likewise.
5046 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
5047
5048 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
5051 to avoid asm treating ld and sd as macros.
5052
5053 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5054
5055 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
5056 decompressor.
5057
5058 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5059
5060 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5061 grub_decompress_core since later would fail if grub_decompress_core
5062 is too far.
5063
5064 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5065
5066 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5067 R_MIPS_JALR since it's used by newer compiler.
5068
5069 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5072
5073 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5076 file_path to 0 for surety.
5077 (grub_chainloader_boot): Set exit_data to NULL.
5078 Unset the loader once done.
5079 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5080
5081 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5084 unknown key into a dprintf.
5085
5086 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5087
5088 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5089 on first non-existant partition.
5090
5091 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5092
5093 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5094 openning fails.
5095 Reported by: Mark Korenberg.
5096
5097 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5100 overflow.
5101
5102 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5103
5104 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5105 before closing to ensure that it will be readable by grub-setup.
5106
5107 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5108
5109 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5110 (devpath_1): Use MAKE_PIWG_PATH.
5111 (devpath_2): Likewise.
5112 (devpath_3): Likewise.
5113 (devpath_4): Likewise.
5114 (devpath_5): Likewise.
5115 (devpath_6): Likewise.
5116
5117 The appleldr.mod was checked that to be binary identical to previous
5118 version.
5119
5120 2011-05-05 Zach <mikezackles>
5121
5122 Support 2010 Macbooks.
5123
5124 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5125 (devs): Add devpath_6.
5126
5127 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5128
5129 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5130 /dev/random. /dev/urandom is good enough for our purposes (salting).
5131
5132 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5133
5134 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5135
5136 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5137
5138 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5139 hexadecimal.
5140
5141 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5142
5143 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5144 and not 0 on failure.
5145
5146 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5147
5148 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5149 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5150 disk; otherwise grub_fs_probe will not fall back to the next
5151 filesystem.
5152 (grub_pxefs_open): Likewise, for consistency.
5153 Reported and tested by: Ezekiel Grave.
5154
5155 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5156
5157 * tests/partmap_test.in: Don't hardcode path to parted.
5158 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5159
5160 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5161
5162 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5163 of `ls' to find out which devices are available.
5164
5165 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5168 than source address for efi mmap buffer.
5169
5170 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5171
5172 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5173 wrong action on non-detecting the magic.
5174
5175 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5176
5177 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5178 already supplied by another part of the module (fixes compilation on
5179 FreeBSD).
5180
5181 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5184 match the one used by mdadm.
5185
5186 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5187
5188 * po/README: Add instructions for creating po/LINGUAS.
5189
5190 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5191
5192 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5193 #551428.
5194
5195 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5196 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5197 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5198 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5199 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5200 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5201 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5202 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5203 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5204 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5205 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5206 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5207 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5208 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5209 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5210 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5211 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5212 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5213 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5214 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5215 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5216 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5217
5218 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5219
5220 * grub-core/kern/emu/getroot.c
5221 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5222 test that was incorrectly reintroduced in r3214.
5223 Reported by: Ian Dall. Fixes Savannah bug #33133.
5224
5225 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5226
5227 Fix stack pointer handling in 16-bit relocator.
5228
5229 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5230 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5231 Fixes Ubuntu bug #683904.
5232
5233 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * configure.ac: Bump version to 1.99~rc2.
5236
5237 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5238
5239 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5240 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5241 * grub-core/lib/x86_64/setjmp.S: Likewise.
5242 * grub-core/lib/mips/setjmp.S: Likewise.
5243 * grub-core/lib/powerpc/setjmp.S: Likewise.
5244 * grub-core/lib/sparc64/setjmp.S: Likewise.
5245
5246 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5247
5248 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5249 * grub-core/lib/efi/datetime.c: Likewise.
5250
5251 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5254 New function.
5255 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5256 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5257 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5258
5259 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5260
5261 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5262 bitmap.
5263 (grub_gfxterm_term_init): Likewise.
5264
5265 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5266
5267 Take into account the decorations the computing menu entry width.
5268
5269 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5270 (grub_gfxmenu_create_box): Register get_border_width.
5271 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5272 if available.
5273 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5274 get_border_width.
5275
5276 2011-04-18 Endres Puschner <code@e7p.de>
5277
5278 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5279 Don't skip first class.
5280
5281 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5284 chunks.
5285 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5286
5287 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5288
5289 Complete 64-bit division support.
5290
5291 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5292 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5293 * include/grub/misc.h (grub_divmod64): Rename to ...
5294 (grub_divmod64_full): ... this.
5295 (grub_divmod64): New inline function.
5296
5297 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5298
5299 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5300
5301 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5304 performing the necessary test.
5305
5306 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5309 (kfreebsd.elf): Likewise.
5310 (pc-chainloader.elf): Likewise.
5311 (ntldr.elf): Likewise.
5312
5313 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 Identify RAID by its UUID rather than (guessed) name.
5316
5317 * grub-core/disk/raid.c (ascii2hex): New function.
5318 (grub_raid_open): Accept mduuid/%s specification.
5319 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5320 (get_mdadm_uuid): ... this.
5321 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5322
5323 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5324
5325 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5326 to negative size.
5327
5328 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5329
5330 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5331 btrfs subvolume.
5332 * util/grub.d/20_linux_xen.in: Likewise.
5333
5334 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5335
5336 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5337 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5338
5339 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5340 Build a list of relevant visible mounts using the mnt_id and
5341 parent_mnt_id fields, and then scan that list at the end.
5342
5343 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5344
5345 * docs/grub.texi (normal): New section.
5346 (normal_exit): New section.
5347 (Embedded configuration): Add reference to normal.
5348 (GRUB only offers a rescue shell): Likewise.
5349 * docs/grub-dev.texi (Error Handling): Fix typo.
5350
5351 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5352
5353 * NEWS: Drop obsolete entry about probe-only btrfs support.
5354
5355 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5356
5357 * util/import_gcry.py: Fix typo.
5358
5359 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * NEWS: Add btrfs support.
5362
5363 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5364 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5365
5366 BtrFS support. Written by me (Vladimir) with important bugfixes and
5367 even more important testing by Colin.
5368
5369 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5370 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5371 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5372 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5373 mem_input_off and mem_input. All users updated to accept in-RAM input.
5374 (gzio_seek): New function.
5375 (test_zlib_header): Likewise.
5376 (grub_gzio_read): Likewise.
5377 (grub_zlib_decompress): Likewise.
5378 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5379 Accept partial and non-virtual mounts.
5380 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5381 avoid receiving /dev/dm-X as device.
5382 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5383 Handle bind and partial mounts.
5384 * grub-core/lib/crc.c: New file.
5385 * include/grub/deflate.h: Likewise.
5386 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5387 proto.
5388 * include/grub/lib/crc.h: New file.
5389
5390 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5391
5392 Implement automatic module license checking according to new GNU
5393 guidelines.
5394
5395 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5396 (grub_dl_load_core): Use grub_dl_check_license.
5397 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5398 (GRUB_MOD_LICENSE): Likewise.
5399 (GRUB_MOD_DUAL_LICENSE): Likewise.
5400 All modules updated.
5401
5402 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5403
5404 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5405 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5406 loaders.
5407 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5408
5409 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5410
5411 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5412
5413 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5414
5415 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5416 failed.
5417
5418 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5419
5420 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5421 parenthesis in the middle of the filename.
5422
5423 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5426 rather than trying to put initrd way too high.
5427 Reported by: Ryan Lortie <desrt@desrt.ca>
5428
5429 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5432 improperly removed string.
5433
5434 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5437 is_disk.
5438 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5439 (open_device) Likewise.
5440 (grub_util_biosdisk_close): Likewise.
5441 Reported by: Mark Korenberg.
5442
5443 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5444
5445 * util/grub-mkconfig_lib.in: Add missing quotes.
5446
5447 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
5448
5449 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5450 is NULL.
5451
5452 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5453
5454 Dynamically count the number of lines for the lower banner.
5455
5456 * grub-core/normal/menu_entry.c (per_term_screen): New member
5457 num_entries.
5458 (print_down): Use num_entries.
5459 (update_screen): Likewise.
5460 (grub_menu_entry_run): Set num_entries.
5461 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5462 num_entries.
5463 (grub_print_message_indented): Move real part to ...
5464 (grub_print_message_indented_real): ... here. Additional argument
5465 dry_run.
5466 (draw_border): Additional argument num_entries.
5467 (print_message): Additional argument dry_run.
5468 (print_entries): Receive menu viewer data.
5469 (grub_menu_init_page): New argment num_entries.
5470 (menu_text_set_chosen_entry): Use num_entries.
5471 (grub_menu_try_text): Likewise.
5472 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5473 All users updated.
5474 (grub_ucs4_count_lines): New function.
5475 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5476 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5477 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5478 (grub_term_border_height): Likewise.
5479 (grub_term_num_entries): Likewise.
5480
5481 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5482
5483 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5484 Remove now unused string.
5485
5486 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5487
5488 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5489 build system.
5490 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5491
5492 (Comment): Fix typo.
5493 (Getting started): General copy-editing.
5494 (Typical Development Experience): Likewise.
5495 (Error Handling): Likewise.
5496 (Video API): Likewise.
5497
5498 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5499
5500 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5501 throughout.
5502
5503 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5506 directory.
5507
5508 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5509
5510 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5511 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5512 "development".
5513
5514 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5515
5516 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5517 grub_strcpy since the lines aren't necessarily 0-terminated.
5518
5519 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5520
5521 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5522 root on legacy.
5523
5524 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5525
5526 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5527 (GRUB_MOD_INIT): DEVICE isn't optional.
5528
5529 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5530
5531 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5532 word on new line if it's too long anyway. Fixes a hang.
5533
5534 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5537 const.
5538 * util/grub-setup.c (main): Reuse md device name if available.
5539 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5540 not GRUB name as argument.
5541 Based on patch by: Florian Wagner <fwagner>.
5542
5543 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5546 Place mbi on low memory for better compatibility.
5547
5548 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5549
5550 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5551
5552 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5553 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5554
5555 * autogen.sh: Ensure that collate and ctype locale is C.
5556 * conf/Makefile.common: Likewise.
5557
5558 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * grub-core/normal/menu.c: Add missing include.
5561
5562 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5563
5564 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
5565
5566 2011-04-08 Martin Zuther <mzuther@mzuther.de>
5567
5568 * util/grub-mkconfig.in: Ignore emacsen backup.
5569
5570 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5571
5572 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5573 on open.
5574 (grub_util_biosdisk_close): Likewise.
5575
5576 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5577
5578 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5579 const attribute and use grub_isdigit.
5580
5581 2011-04-06 Andrey <dev_null@ukr.net>
5582
5583 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5584 gcc warning.
5585
5586 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5587
5588 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5589 useful grub_dprintf's.
5590
5591 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5592
5593 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5594
5595 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5596
5597 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5598
5599 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 Output errors if theme loading failed.
5602
5603 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5604 grub_gfxterm_fullscreen on error paths to ...
5605 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5606 theme loading error.
5607
5608 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5611 space for older compilers.
5612 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5613
5614 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5615
5616 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5617 and report them as not RAID members since they are useless for GRUB.
5618 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5619
5620 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 Increase LVM implementation robustness in order not to crash on
5623 configurations like pvmove. Previously code assumed that in some places
5624 only lvs or only pvs are used whereas it seems that they are used
5625 interchangeably.
5626
5627 * grub-core/disk/lvm.c (read_node): New function.
5628 (read_lv): Use read_node.
5629 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5630 Match volumes only at the end when all lvs are found. Take both
5631 pvs (first) and lvs (second) into account.
5632 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5633 mirror_* into node_*. All users updated.
5634 (grub_lvm_stripe): Merge this ...
5635 (grub_lvm_mirror): ... and this ...
5636 (grub_lvm_node): ... into this. All users updated.
5637
5638 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5641 of function to allow further scanning for LVMs.
5642
5643 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5644
5645 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5646 on failed seek as it breaks open fd reusage.
5647
5648 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5649
5650 * util/grub-install.in: Add a recommendation to use --recheck before
5651 reporting bugs.
5652
5653 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5656 are obtained.
5657
5658 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5659
5660 GRUB developper manual based on existing Internals section and
5661 contributions by the various authors with active copyright assignment.
5662
5663 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5664 * docs/font_char_metrics.png: New file.
5665 * docs/font_char_metrics.txt: Likewise.
5666 * docs/grub-dev.texi: Likewise.
5667 * docs/grub.texi (Internals): Move from here ...
5668 * docs/grub-dev.texi: ... here.
5669
5670 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5671
5672 Store the loopback device as data on loopback grub_disk structures,
5673 rather than the file it points to. This fixes use of freed memory
5674 if an existing loopback device is replaced.
5675
5676 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5677 disk->data, not dev->file.
5678 (grub_loopback_read): Adjust file assignment to match.
5679 Fixes Ubuntu bug #742967.
5680
5681 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5682
5683 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5684 when replacing an existing device.
5685
5686 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5689 memory corruptions.
5690
5691 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5692 unsigned.
5693 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5694 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5695 (grub_jfs_read_inode): Likewise.
5696 (grub_jfs_opendir): Likewise. Remove now useless casts.
5697 (grub_jfs_getent): Likewise.
5698 Make ino a grub_uint32_t rather than int.
5699 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5700 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5701 division and module with bit operations.
5702 (grub_jfs_find_file): Make ino a grub_uint32_t.
5703 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5704
5705 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5706
5707 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5708 warning. (This was in fact always initialised before use, but GCC
5709 wasn't smart enough to prove that.)
5710 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5711
5712 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5713
5714 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5715 stack alignment.
5716 (efi_wrap_1): Likewise.
5717 (efi_wrap_2): Likewise.
5718 (efi_wrap_3): Likewise.
5719 (efi_wrap_4): Likewise.
5720 (efi_wrap_5): Likewise.
5721 (efi_wrap_6): Likewise.
5722 (efi_wrap_10): Likewise.
5723 Based on information by: Red Hat/Peter Jones.
5724
5725 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
5726
5727 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5728 set-but-not-used variable.
5729
5730 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
5731
5732 * docs/grub.texi (Simple configuration): Be more explicit about
5733 GRUB_DEFAULT, and add an example.
5734 Reported by: Leslie Rhorer.
5735
5736 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5737
5738 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
5739 shell".
5740
5741 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5742
5743 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
5744 * util/grub.d/20_linux_xen.in: Likewise.
5745
5746 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5747
5748 * util/grub.d/10_linux.in: Try alternative config filenames where
5749 we parse config file.
5750 * util/grub.d/20_linux_xen.in: Likewise.
5751
5752 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5753
5754 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
5755 * util/grub.d/20_linux_xen.in: Likewise.
5756
5757 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5758
5759 * grub-core/disk/raid.c (insert_array): Add few potentially
5760 useful grub_util_info.
5761 (grub_raid_register): Likewise.
5762
5763 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5764
5765 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
5766 Preserve partition number in mdadm code path.
5767
5768 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5769
5770 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
5771 few potentially useful grub_util_info.
5772
5773 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
5776
5777 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5778
5779 * docs/grub.texi (default): Use @example rather than nested
5780 itemized lists to avoid breaking gendocs.
5781
5782 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5783
5784 * docs/grub.texi (Future): Update.
5785
5786 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5787
5788 * docs/grub.texi (Environment): New chapter.
5789 (Changes from GRUB Legacy): Link to "Environment block" section for
5790 details of limitations.
5791 (Simple configuration): Likewise. Link to documentation of gfxmode
5792 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
5793 respectively.
5794 (Shell-like scripting): Note that normal variables are stored in the
5795 environment.
5796 (gettext): Link to documentation of lang and locale_dir.
5797 (list_env): New section.
5798 (load_env): New section.
5799 (save_env): New section.
5800
5801 (Reporting bugs): Fix typo.
5802
5803 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5804
5805 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
5806 the example.
5807
5808 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 * grub-core/term/at_keyboard.c (set_scancodes)
5811 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
5812
5813 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5814
5815 * docs/grub.texi (Menu-specific commands): Remove some semantics
5816 that were true in GRUB Legacy but not in GRUB 2.
5817 (submenu): New section.
5818 (false): New section.
5819 (read): New section.
5820 (true): New section.
5821
5822 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5823
5824 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
5825
5826 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5827
5828 * docs/grub.texi (Simple configuration): Explain some of the
5829 current limitations of grub-mkconfig.
5830 Reported by: Leslie Rhorer.
5831
5832 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5833
5834 Old macs search for boot.efi rather than for bootia32.efi.
5835
5836 * util/grub-install.in: Copy bootia32.efi to boot.efi.
5837 * util/grub-mkrescue.in: Likewise.
5838 Suggested by: Peter Jones.
5839
5840 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
5843
5844 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5845
5846 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
5847 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
5848 (grub_lvm_mirror): New struct.
5849 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
5850 (grub_lvm_iterate): Iterate only visible volumes.
5851 (grub_lvm_read): Factor out to ..
5852 (read_lv): ... this. Support mirrors.
5853 (grub_lvm_read): New wrapper function.
5854 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
5855 stripped or mirrored.
5856
5857 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5858
5859 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
5860
5861 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5862
5863 * docs/grub.texi (loopback): New section.
5864
5865 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5866
5867 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
5868 removed -p option.
5869
5870 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5871
5872 * docs/grub.texi (BIOS installation): New section, partly based on
5873 previous text in other sections.
5874 (Installing GRUB using grub-install): Replace BIOS discussion with a
5875 cross-reference.
5876 (Images): Likewise.
5877
5878 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5879
5880 * grub-core/kern/emu/hostdisk.c (find_partition_start)
5881 [HAVE_DIOCGDINFO]: Add safety checks.
5882
5883 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
5886 per default compiled in kernel and prior to 8.0 isn't shipped at all.
5887
5888 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5889
5890 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
5891 real_sb->size is zero (e.g. RAID-0), get the disk size from
5892 real_sb->data_size instead.
5893 Fixes Ubuntu bug #743136.
5894
5895 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5896
5897 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
5898 printf clauses for printing size and start.
5899
5900 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
5903 Reported and tested by: Timothy Nikkel.
5904
5905 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
5908 (dirty_region_add_real): ... this.
5909 (dirty_region_add): Don't discard margin refresh when performing
5910 scheduled repaint.
5911
5912 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5913
5914 * grub-core/lib/relocator.c (allocate_regstart)
5915 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
5916 terminals are capabple of malloc-free operation.
5917 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5918 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5919
5920 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
5921
5922 * util/grub-setup.c: Copy the partition table zone if floppy support
5923 is disabled, even if no partition table is found.
5924
5925 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
5926 during POST if an invalid partition table is contained in the PBR
5927 of the active partition when GRUB is installed to a partition.
5928
5929 2011-03-28 Colin Watson <cjwatson@debian.org>
5930
5931 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
5932 comment.
5933
5934 2011-03-28 Colin Watson <cjwatson@debian.org>
5935
5936 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
5937 to be specific about what kind of RAID device we're scanning for.
5938
5939 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
5940
5941 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
5942 return freed string.
5943
5944 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5945
5946 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
5947
5948 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 Use libgeom on FreeBSD to detect partitions.
5951
5952 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
5953 (grub-mkrelpath): Likewise.
5954 (grub-script-check): Likewise.
5955 (grub-editenv): Likewise.
5956 (grub-mkpasswd-pbkdf2): Likewise.
5957 (grub-fstest): Likewise.
5958 (grub-mkfont): Likewise.
5959 (grub-mkdevicemap): Likewise.
5960 (grub-probe): Likewise.
5961 (grub-setup): Likewise.
5962 (grub-ofpathname): Likewise.
5963 (grub-mklayout): Likewise.
5964 (example_unit_test): Likewise.
5965 (grub-menulst2cfg): Likewise.
5966 * grub-core/Makefile.core.def (grub-emu): Likewise.
5967 (grub-emu-lite): Likewise.
5968 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
5969 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
5970 define HAVE_DIOCGDINFO.
5971 (follow_geom_up) [FreeBSD]: New function.
5972 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
5973 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
5974 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
5975 unconditionally of HAVE_DIOCGDINFO.
5976
5977 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5978
5979 Fix FreeBSD compilation problem.
5980
5981 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
5982 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
5983
5984 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
5985
5986 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
5987 Switch back to page zero before loading a kernel, since some kernel
5988 drivers expect that.
5989 Thanks to: Felix Kuehling.
5990
5991 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
5994 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
5995 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
5996
5997 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5998
5999 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
6000 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
6001
6002 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
6005 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
6006 malloc is disabled.
6007
6008 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
6011 for modules headers when counting the needed allocation size.
6012
6013 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
6016 if no ASCII character is found to prevent crash.
6017
6018 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
6019
6020 * grub-core/video/bitmap.c (match_extension): Ignore case.
6021
6022 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6023
6024 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
6025
6026 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/script/parser.y: Declare "time" as valid argument.
6029
6030 2011-03-23 Peter Jones <pjones@redhat.com>
6031
6032 Fix incorrect assert failure reporting.
6033
6034 * grub-core/tests/example_functional_test.c (example_test): Add
6035 a failure comment.
6036 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
6037 (failure_start): ...this. Check that malloc succeeded.
6038 Don't call xvasprintf. Return failure struct.
6039 (failure_append_vtext): New function.
6040 (failure_append_text): Likewise.
6041 (add_failure): Likewise.
6042 (grub_test_assert_helper): Likewise.
6043 * include/grub/test.h (grub_test_assert_helper): New declaration.
6044 (grub_test_assert): Macro rewritten.
6045
6046 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6047
6048 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
6049
6050 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6051
6052 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
6053
6054 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
6057 into GRUB-style one.
6058
6059 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6060
6061 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6062 error and not grub_errno.
6063 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6064
6065 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6066
6067 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6068 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6069
6070 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6071
6072 * grub-core/efiemu/i386/pc/cfgtables.c
6073 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6074 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6075 (grub_xnu_unlock): Likewise.
6076 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6077
6078 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6081 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6082 * grub-core/commands/hashsum.c (aliases): Likewise.
6083 * grub-core/commands/setpci.c (pci_registers): Likewise.
6084 * grub-core/disk/usbms.c (attach_hook): Likewise.
6085 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6086 (zio_checksum_table): Likewise.
6087 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6088 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6089 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6090 * grub-core/lib/relocator.c (leftovers): Likewise.
6091 (extra_blocks): Likewise.
6092 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6093 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6094 (modules_last): Likewise.
6095 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6096 (devices): Likewise.
6097 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6098 (modules_last): Likewise.
6099 * grub-core/normal/auth.c (users): Likewise.
6100 * grub-core/normal/context.c (initial_menu): Likewise.
6101 (current_menu): Likewise.
6102 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6103 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6104 (grub_serial_terminfo_input_template): Likewise.
6105 (grub_serial_terminfo_output_template): Likewise.
6106 (grub_serial_terminfo_input): Likewise.
6107 (grub_serial_terminfo_output): Likewise.
6108 (registered): Likewise.
6109 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6110
6111 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6112
6113 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6114 grub_video_mode_type_t.
6115 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6116 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6117 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6118
6119 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * util/grub-install.in: Correct the x86-64 name as x86_64.
6122
6123 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6124
6125 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6126 initial chunk read from the kernel always includes GRUB's multiboot
6127 header, which is now outside the first sector.
6128
6129 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6130
6131 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6132 cached mmap_size, so that this works correctly when called multiple
6133 times.
6134 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6135
6136 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6137
6138 * docs/grub.texi (Simple configuration): Tidy up formatting.
6139
6140 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6141
6142 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6143 Set-but-not-used variable removed.
6144
6145 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6146
6147 Workaround yet another IEEE1275 bug.
6148
6149 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6150 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6151 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6152 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6153 is set.
6154 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6155 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6156
6157 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6160 error.
6161
6162 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6163
6164 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6165 empty, since in that case we can only generate either nothing or a
6166 syntactically invalid configuration file.
6167 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6168
6169 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6170
6171 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6172 (Making a GRUB bootable CD-ROM): Likewise.
6173 (Invoking grub-mkrescue): New section.
6174 Reported by: Yann Dirson. Fixes Debian bug #612585.
6175
6176 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6177
6178 * util/grub-install.in: Remove unnecessary brackets from tr
6179 arguments.
6180 * util/grub.d/10_hurd.in: Likewise.
6181 * util/grub.d/10_kfreebsd.in: Likewise.
6182 * util/grub.d/10_linux.in: Likewise.
6183 * util/grub.d/20_linux_xen.in: Likewise.
6184 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6185
6186 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6187
6188 * include/grub/file.h (not_easly_seekable): Rename to ...
6189 (not_easily_seekable): ... this. Update all users.
6190
6191 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6192
6193 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6194 grub-mkrescue.
6195
6196 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6197
6198 * util/grub-mkimage.c (generate_image): Refuse to create the images
6199 bigger than the actual flash (512K) in Loongson machines. 512K is also
6200 the biggest chip supported by them.
6201
6202 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6203
6204 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6205
6206 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6207
6208 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6209 super_offset field.
6210
6211 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6212
6213 * util/grub-install.in: Ignore install device on platforms
6214 where it doesn't make sense. Always use UUIDs except on pc, efi and
6215 sparc64.
6216 Reported by: Daniel Kahn Gillmor.
6217
6218 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6219
6220 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6221
6222 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6225 (iterate_real): Don't rely on partition being non-NULL.
6226
6227 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6230 supported platforms. Put a compile time assert for this rather than
6231 generate a warning with 32-bit shift.
6232
6233 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6236 logical expression more readable.
6237
6238 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6239
6240 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6241 even if some elements have a name.
6242 Reported by: Alexander GQ Gerasiov.
6243
6244 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6245
6246 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6247 path unreadable if `grub-probe -t abstraction' fails, for example if
6248 memberlist fails on an LVM volume group.
6249 Reported by: Darius Jahandarie.
6250
6251 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6252
6253 * docs/grub.texi (Simple configuration): Document
6254 GRUB_PRELOAD_MODULES.
6255
6256 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6257
6258 * .bzrignore: Remove nonexistent grub-pbkdf2.
6259
6260 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * configure.ac: Bump version to 1.99~rc1.
6263
6264 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6265
6266 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6267 for safety.
6268
6269 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6270
6271 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6272 module.
6273
6274 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6275
6276 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6277
6278 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6281 diskdevid.
6282
6283 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 Fix compilation on cygwin.
6286
6287 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6288 -R .drectve on cygwin.
6289 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6290 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6291 (COND_CYGWIN): New condition.
6292 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6293 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6294 not @TARGET_OBJ2ELF@.
6295 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6296 type to determine whether aux is to be used.
6297
6298 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6299
6300 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6301 realpath'ed device string.
6302 Handle floppy (somewhat).
6303 Issue error in unknown case rather than garbage.
6304 Reported by: Axel Beckert.
6305
6306 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * util/grub.d/00_header.in (load_video): Handle the case when no video
6309 drivers available.
6310 Thanks to: Axel Beckert.
6311
6312 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6315 variable. Fixes problem on big endian platforms.
6316
6317 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6320 It doesn't work well there.
6321
6322 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6325 warning.
6326 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6327 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6328 counter.
6329
6330 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 Use alias->path rather than buggy "canon".
6333
6334 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6335 (ofdisk_hash_add): New argument curcan. All users updated.
6336
6337 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6338
6339 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6340
6341 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6342
6343 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6344 loadmask before doing any calculations. Use correct type for offset.
6345 (grub_linux_load64): Likewise.
6346
6347 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6348
6349 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6350 with NULL.
6351 (console_grub_equivalences_unshift): Likewise.
6352 Reported by: Daniel Dehennin.
6353
6354 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6357 (set_env_limn_ro): Likewise.
6358 (GRUB_MOD_INIT): Likewise.
6359 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6360 ARRAY_SIZE while on it.
6361 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6362 * grub-core/normal/context.c (grub_env_export): Move from here ...
6363 * grub-core/kern/env.c (grub_env_export): ... here.
6364 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6365 prefix.
6366 * grub-core/kern/main.c (grub_main): Export root and prefix.
6367 * include/grub/env.h (grub_env_export): Export.
6368 Reported by: Seth Goldberg.
6369
6370 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6373 Take into account space used by ELF sections and multiboot palette.
6374 Reported by: Grégoire Sutre.
6375
6376 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6377
6378 * BUGS: New file.
6379
6380 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6381
6382 Pass more appropriate video id to Linux.
6383
6384 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6385 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6386 fill have_vga.
6387 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6388 shift params->lfb_size.
6389 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6390
6391 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6394
6395 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6398 separator and pass bootpath/devid even if only one of them is available.
6399 Reported by: Seth Goldberg.
6400
6401 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6404 implementations bug on them.
6405
6406 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6407 memory.
6408 (filter_memory_map): Likewise.
6409
6410 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6411
6412 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6413 Reported by: nebuchadnezzar.
6414
6415 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6418 Reported by: nebuchadnezzar.
6419
6420 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6421
6422 Submenu default support.
6423
6424 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6425 auto_boot. All users updated.
6426 Declared static.
6427 Handle chosen and default with submenus.
6428 (grub_menu_execute_with_fallback): Declared static.
6429 Don't notify failure if autobooted. Upper level does it.
6430 (menuentry_eq): New function.
6431 (get_entry_number): Use menuentry_eq.
6432 (show_menu): New parameter "autobooted". All users updated.
6433 (grub_show_menu): Likewise.
6434 * include/grub/normal.h (grub_show_menu): Likewise.
6435 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6436 (grub_menu_execute_with_fallback): Likewise.
6437
6438 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 * util/grub-mklayout.c (usage): Update help text.
6441
6442 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6445
6446 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6447
6448 * util/grub-menulst2cfg.c (main): Trim the line.
6449
6450 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6453 (grub_machine_init): Don't check amount of low memory as reportedly
6454 INT 12h can be broken and if low memory is too low we wouldn't have
6455 gotten into grub_machine_init anyway.
6456
6457 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6460 (grub_machine_mmap_iterate): Take low memory into account
6461
6462 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6463
6464 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6465 badfs.
6466 Reported by: TiCPU.
6467
6468 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6471 members errors.
6472
6473 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6474
6475 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6476 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6477
6478 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6479
6480 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6481 openbsd and netbsd types being in part_bsd module.
6482
6483 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6484
6485 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6486 (_FILE_OFFSET_BITS): Likewise.
6487 Reported by: Seth Goldberg.
6488
6489 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6490
6491 * configure.ac: Check for libdevmapper header.
6492
6493 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6496 avoid aliasing.
6497 (fzap_lookup): Likewise.
6498 (dnode_get): Likewise.
6499 (make_mdn): Likewise.
6500 (zfs_mount): Likewise.
6501 (fzap_iterate): Use temporary pointer to avoid aliasing.
6502 (grub_zfs_read): Likewise.
6503 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6504 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6505 pointers to avoid aliasing.
6506 (grub_cmd_xnu_kernel64): Likewise.
6507 (grub_xnu_load_driver): Likewise.
6508
6509 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6512 aliasing warning.
6513 (grub_cmd_terminal_output): Likewise.
6514 Reported and tested by: Grégoire Sutre.
6515
6516 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6519 warning.
6520 Reported and tested by: Grégoire Sutre.
6521
6522 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 * configure.ac: Do CPU substitution even if it's specified explicitly.
6525 Reported and tested by: Alain Greppin.
6526
6527 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6530 Reported and tested by: Alain Greppin.
6531
6532 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 Satisfy some bison versions need for inttypes.h.
6535
6536 * grub-core/lib/posix_wrap/inttypes.h: New file.
6537 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6538 (int16_t): Likewise.
6539 (int32_t): Likewise.
6540 (int64_t): Likewise.
6541 Reported and tested by: Alain Greppin.
6542
6543 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6544
6545 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6546 Silence spurious warning.
6547 Reported and tested by: Alain Greppin.
6548
6549 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6550
6551 * docs/grub.texi (Support automatic decompression): Update with xz
6552 decompression support.
6553
6554 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6555
6556 Improve loaders' kernel command line handling.
6557
6558 * grub-core/lib/cmdline.c: New file.
6559 * include/grub/lib/cmdline.h: Likewise.
6560 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6561 grub_create_loader_cmdline to create kernel command line.
6562 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6563 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6564 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6565 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6566 (linux): Add lib/cmdline.c on common.
6567
6568 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6569
6570 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6571 inopos might be unaligned.
6572
6573 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6574
6575 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6576 endian transformations.
6577 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6578 Based on report by: Doug Nazar.
6579
6580 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
6581
6582 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6583 array->members[i].start_sector.
6584 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6585
6586 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6587
6588 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6589 Reported and tested by: Grégoire Sutre.
6590
6591 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6592
6593 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6594 avoid causing test failures by clearing the screen.
6595
6596 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6597
6598 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6599 Fix prefix check to handle the case where dir ends with a slash
6600 (most significantly, "/" itself).
6601 Reported by: Michael Vogt.
6602
6603 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 Run terminfo_cls on initing terminfo output to clear the screen and
6606 move the cursor to (0,0).
6607
6608 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6609 Call grub_terminfo_output_init.
6610 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6611 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6612 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6613
6614 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6615
6616 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6617 only when needed.
6618
6619 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6620
6621 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6622 CTRL.
6623
6624 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6625
6626 The E820 type 5 is BADRAM, not EXEC_CODE.
6627
6628 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6629 (GRUB_E820_BADRAM): New define.
6630 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6631 into reserved. Propagate BADRAM.
6632 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6633 (GRUB_E820_BADRAM): New define.
6634
6635 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6638 Ignore the memory post-4G.
6639 (grub_relocator_firmware_alloc_region): Additional debug statement.
6640
6641 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6642
6643 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6644 names.
6645 Reported by: David Pravec.
6646
6647 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6648
6649 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6650 BIOSes.
6651
6652 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6653
6654 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6655 Prevent overflow.
6656 (grub_reed_solomon_recover): Likewise.
6657
6658 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6659
6660 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6661
6662 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6663
6664 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6665 variable.
6666
6667 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
6668
6669 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6670 descriptions of extract_legacy_entries_source and
6671 extract_legacy_entries_configfile.
6672 Reported by: Seung Soo, Ha.
6673
6674 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
6675
6676 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6677 on devices that do not implement function 0.
6678
6679 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6680
6681 * grub-core/fs/hfsplus.c: Make parent unsigned.
6682 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6683 overflows.
6684 (grub_hfsplus_cmp_extkey): Likewise
6685
6686 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6687
6688 * util/grub-install.in: Correctly use bootloader_id and not
6689 GRUB_DISTRIBUTOR on efibootmgr line.
6690
6691 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6694
6695 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
6696
6697 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6698 Xen and reorder menu item wording to make it clearer that this entry
6699 will launch Xen. Print separate messages when loading Xen and
6700 Linux.
6701
6702 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6703
6704 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6705 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6706 loop in case of incorrect amiga partmap.
6707
6708 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6709
6710 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6711 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6712 Reported by:EHeM.
6713
6714 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6715
6716 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6717 spurious warning.
6718 Reported by: crocket
6719
6720 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6721
6722 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6723 Preload EFIemu.
6724 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6725
6726 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6729 is loaded
6730 (grub_cmd_xnu_kextdir): Likewise.
6731 (grub_cmd_xnu_splash): Likewise.
6732
6733 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6734
6735 Avoid using Reed-Solomon with 0 redundancy.
6736
6737 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
6738 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
6739 or 0 redundancy.
6740 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
6741 (grub_reed_solomon_recover): Likewise.
6742
6743 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6744
6745 Don't use disk subsystem in freebsd_boot.
6746
6747 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
6748 (freebsd_biosdev): Likewise.
6749 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
6750 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
6751
6752 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6753
6754 Handling of files of unknown size is currently limited. They can't be
6755 used e.g. for initrd or modules. Moreover gzip handling of not
6756 easily seekable files is buggy. Disable unknown file size for now. May
6757 be inefficient but works.
6758
6759 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
6760 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6761
6762 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
6763
6764 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
6765 floppy probe.
6766
6767 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
6768
6769 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
6770
6771 2010-12-25 Shea Levy <shlevy>
6772
6773 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
6774
6775 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
6778 Windows Server 2008.
6779 Reported by: Devin Giddings.
6780
6781 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6782
6783 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
6784 writing an error message because of async power management.
6785 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
6786 (grub_reboot): Likewise.
6787
6788 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
6789
6790 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
6791 keep unit tests from failing when they shouldn't.
6792
6793 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6794
6795 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
6796 previous patch increased the size of the RS code by 20 bytes (at
6797 least with gcc-4.4), so increase this by 20 bytes to match.
6798 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6799
6800 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6801
6802 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
6803 scratch area. Make sure to initialise chosen in standalone mode as
6804 well as non-standalone.
6805 Reported by: Robert Hooker and Andy Whitcroft.
6806 Tested by: Andy Whitcroft.
6807
6808 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6809
6810 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
6811 constructing a new unescaped string and passing it to grub_xputs in
6812 one go, rather than passing characters to grub_printf one at a time.
6813
6814 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6815
6816 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
6817 initialising utf16.
6818
6819 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6820
6821 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
6822 comment. Add an extra layer of quotation, requiring the output of
6823 this function to be used in a printf format string.
6824 (gettext_printf): New function.
6825 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
6826 Extract translatable strings from here-documents and use a temporary
6827 variable instead, so that xgettext can find them.
6828 * util/grub.d/10_kfreebsd.in: Likewise.
6829 * util/grub.d/10_linux.in: Likewise.
6830 * util/grub.d/20_linux_xen.in: Likewise.
6831
6832 * po/grub.d.sed: New file.
6833 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
6834 arguments. Set c-format flags on all strings extracted from
6835 util/grub.d/ (xgettext refuses to include these itself for strings
6836 it extracted from a shell file, but these really are c-format).
6837
6838 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6839
6840 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
6841 Avoid next pointing to nowhere.
6842
6843 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6844
6845 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
6846 rather than assuming than rootblock is exactly in the middle.
6847 (grub_affs_label): Likewise.
6848
6849 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6850
6851 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
6852 reserved_first_sector to 0.
6853 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
6854 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
6855 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
6856
6857 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6858
6859 Fix handling of UTF-16 UDF labels.
6860
6861 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
6862 (read_string): .. here.
6863 (grub_udf_label): Use read_string.
6864
6865 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
6866
6867 * grub-core/normal/menu_entry.c (run): Execute commands from menu
6868 editor under argument scope.
6869 Reported by: Jordan Uggla
6870
6871 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6872
6873 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
6874
6875 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
6876
6877 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
6878 line, and other keys scroll an entire page (previous handling was
6879 for \r and \n to scroll a page and other keys to scroll two lines).
6880
6881 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6882
6883 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6884 Set ptrdest to correct get_physical_target_address rather than
6885 incorrect get_virtual_current_address.
6886
6887 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
6888
6889 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
6890 correct cat to grub_uint8_t * rather than grub_uint32_t *.
6891
6892 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
6893
6894 * .bzrignore: Ignore grub-core/rs_decoder.S.
6895
6896 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
6897
6898 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
6899 .mo/.mo.gz opening sequence to ...
6900 (grub_mofile_open_lang): ... here.
6901 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
6902 * util/grub.d/00_header.in (grub_lang): Include country part of
6903 locale.
6904 Reported by: Mario Limonciello.
6905
6906 2010-12-09 Robert Millan <rmh@gnu.org>
6907
6908 * NEWS: Document addition of ZFS support.
6909
6910 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
6911
6912 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
6913 rather than `/ 2', as the latter requires -Wa,--divide which would
6914 require bumping our minimum binutils version.
6915
6916 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
6917
6918 * util/grub-script-check.c (main): Print script line number on
6919 error.
6920
6921 2010-12-01 Robert Millan <rmh@gnu.org>
6922
6923 * grub-core/fs/zfs/zfs.c: New file.
6924 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
6925 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
6926 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
6927 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6928
6929 * include/grub/zfs/dmu.h: Likewise.
6930 * include/grub/zfs/dmu_objset.h: Likewise.
6931 * include/grub/zfs/dnode.h: Likewise.
6932 * include/grub/zfs/dsl_dataset.h: Likewise.
6933 * include/grub/zfs/dsl_dir.h: Likewise.
6934 * include/grub/zfs/sa_impl.h: Likewise.
6935 * include/grub/zfs/spa.h: Likewise.
6936 * include/grub/zfs/uberblock_impl.h: Likewise.
6937 * include/grub/zfs/vdev_impl.h: Likewise.
6938 * include/grub/zfs/zap_impl.h: Likewise.
6939 * include/grub/zfs/zap_leaf.h: Likewise.
6940 * include/grub/zfs/zfs.h: Likewise.
6941 * include/grub/zfs/zfs_acl.h: Likewise.
6942 * include/grub/zfs/zfs_znode.h: Likewise.
6943 * include/grub/zfs/zil.h: Likewise.
6944 * include/grub/zfs/zio.h: Likewise.
6945 * include/grub/zfs/zio_checksum.h: Likewise.
6946
6947 * Makefile.util.def: Build ZFS into libgrubmods.
6948 * grub-core/Makefile.core.def: Build zfs.mod.
6949
6950 2010-11-30 Szymon Janc <szymon@janc.net.pl>
6951
6952 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
6953 variable.
6954 * grub-core/commands/wildcard.c (match_files): Likewise.
6955
6956 2010-11-30 Robert Millan <rmh@gnu.org>
6957
6958 * grub-core/loader/i386/bsd.c
6959 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
6960 whether kernel is loaded using grub_loader_is_loaded(), rather
6961 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
6962 certain error conditions.
6963
6964 2010-11-30 Robert Millan <rmh@gnu.org>
6965
6966 * grub-core/commands/echo.c: Include `<grub/term.h>'.
6967 (grub_cmd_echo): Call grub_refresh() after printing a message.
6968
6969 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6970
6971 Avoid using tricks for initialising endian variables.
6972
6973 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
6974 Make const.
6975 (GRUB_MOD_INIT): Don't byte-swap.
6976 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6977 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
6978 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
6979 (grub_swap_bytes32_compile_time): Likewise.
6980 (grub_cpu_to_le32_compile_time): Likewise.
6981 (grub_cpu_to_le16_compile_time): Likewise.
6982
6983 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * util/grub-setup.c (setup): Stop recommending --force. People who
6986 understand the dangers of blocklists are able to find this option
6987 anyway and the ones who don't shouldn't use it anyway.
6988
6989 2010-11-26 Robert Millan <rmh@gnu.org>
6990
6991 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
6992 Update all users.
6993
6994 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
6995
6996 Fix LVM-on-RAID probing.
6997
6998 * util/grub-probe.c (probe): Remember which disk was detected as
6999 RAID (perhaps an LVM physical volume). Use that disk's raidname
7000 rather than that of the top-level disk.
7001
7002 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7003
7004 Fix cmdline argument quotes for setparams command of menuentry
7005 definitions.
7006
7007 * grub-core/commands/menuentry.c (setparams_prefix): Use single
7008 quotes for arguments.
7009 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7010 grub_strchrsub function instead.
7011
7012 * include/grub/misc.h (grub_strchrsub): New function.
7013
7014 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7015
7016 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
7017 effort by skipping "." and ".." entries up-front.
7018 Suggested by: Michael Lazarev.
7019
7020 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7021
7022 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
7023 ldflags to ldadd, to fix link line ordering.
7024 (none_decompress): Likewise.
7025
7026 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
7027
7028 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
7029 platforms.
7030 (grub-emu-lite): Remove kern/emu/cache.S.
7031
7032 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7033
7034 * util/deviceiter.c (compare_devices): If the by-id link for a
7035 device couldn't be resolved, fall back to sorting by the by-id link
7036 rather than segfaulting.
7037 Reported and tested by: Daniel Mierswa.
7038
7039 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7040
7041 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
7042 ldflags, to fix link line ordering.
7043
7044 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7045
7046 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
7047 linkers are picky about this.
7048
7049 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7050
7051 * grub-core/Makefile.am (command.lst): Adjust sed expression
7052 ordering so that extended and priority commands aren't treated as
7053 ordinary commands.
7054
7055 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
7056
7057 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
7058 Remove byte-swapping function calls, which are not valid in
7059 structure initialisers.
7060 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7061 non-const.
7062 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7063 grub_gpt_partition_type_bios_boot.
7064
7065 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7066
7067 Fix test program build on GNU/kFreeBSD.
7068
7069 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7070 $(LIBNVPAIR)' library dependencies.
7071
7072 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7073
7074 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7075
7076 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7077
7078 * util/grub-install.in: Remove excessive quoting that broke
7079 installations to RAID devices.
7080
7081 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7082
7083 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7084 bootloader version instead of 0.
7085
7086 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7089 warning.
7090
7091 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7094 retrieve the metadat sector if size isn't known.
7095 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7096
7097 2010-11-18 Robert Millan <rmh@gnu.org>
7098
7099 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7100 with grub_memcmp().
7101
7102 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7103
7104 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7105 arrow.
7106 Reported by: Jordan Uggla.
7107
7108 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 Make better UTF compliant.
7111
7112 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7113 sequences as incorrect.
7114 (grub_is_valid_utf8): Likewise.
7115 (grub_utf8_to_ucs4): Likewise.
7116 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7117 (grub_ucs4_to_utf8_alloc): Likewise.
7118 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7119
7120 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 Make legacy_source behave like source.
7123
7124 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7125 grub_show_menu.
7126 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7127
7128 2010-11-16 Colin Watson <cjwatson@debian.org>
7129
7130 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7131 (-Wunused implies -Wunused-parameter, but not vice versa).
7132
7133 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7134
7135 * configure.ac: Make error messages less confusing by testing for
7136 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7137 accepted, but produces a diagnostic if something else is wrong).
7138
7139 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7142 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7143 (now unused).
7144 (grub_keyboard_controller_init)
7145 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7146 read the initial state since controller isn't inited yet.
7147
7148 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7151 allocate_regbeg may need to create new chunk header.
7152
7153 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 Fix quoting in legacy parser.
7156
7157 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7158 single quotes.
7159 (grub_legacy_parse): Likewise.
7160 Reported by: Jordan Uggla.
7161 Tested by: Jordan Uggla.
7162
7163 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7164
7165 Don't add -lgcc on i386 and x86_64.
7166
7167 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7168 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7169 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7170
7171 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 * configure.ac: Add -Wno-trampolines when supported.
7174
7175 2010-11-14 Modestas Vainius <modax@debian.org>
7176
7177 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7178 fakeraid.
7179
7180 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7181
7182 Add generic logical block size support for UDF.
7183
7184 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7185 (GRUB_UDF_BLKSZ): Removed.
7186 (struct grub_udf_data): New field "lbshift" to hold the logical block
7187 size of the file system in log2 format. All users updated.
7188 (sblocklist): Change type to unsigned.
7189 (grub_udf_mount): Change type of "sblklist" to unsigned.
7190 Move AVDP search before VRS recognition, because the latter requires
7191 knowledge of the logical block size, which is detected during the
7192 former.
7193 Detect and validate logical block size during AVDP search, adding
7194 support for block sizes 512, 1024 and 4096.
7195 Make VRS recognition independent of block size.
7196
7197 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7198
7199 Properly handle deleted files on UDF.
7200
7201 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7202 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7203 set.
7204
7205 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7206
7207 Support reading files larger than 2 GiB.
7208
7209 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7210 "offset" to grub_off_t.
7211 (grub_udf_read_file): Likewise for parameter "pos".
7212
7213 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7214
7215 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7216 unavailable.
7217 (Simple configuration): Refer to Changes from GRUB Legacy about
7218 save_env availability.
7219
7220 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * util/grub-install.in: Ignore empty partition table detection
7223 instead of trying to include part_ module.
7224
7225 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7228 LVM on RAID support.
7229
7230 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7231
7232 Properly define WORDS_BIGENDIAN in wrapped environments.
7233
7234 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7235 definition.
7236 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7237
7238 Reported by: Manoel Rebelo Abranches.
7239 Tested by: Manoel Rebelo Abranches.
7240
7241 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7242
7243 * util/grub-mkconfig.in: Fix quoting.
7244
7245 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 Support big ext2 files.
7248
7249 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7250 (grub_ext2_read_block): Support triple indirect blocks.
7251 (grub_ext2_read_file): Use 64-bit types and read size_high.
7252 (grub_ext2_open): Read size_high.
7253 Reported by: Ximin Luo.
7254 Tested by: Manoel Rebelo Abranches.
7255
7256 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7257
7258 * util/grub-install.in: Handle filenames containing spaces.
7259 Reported by: Jordan Uggla.
7260 Tested by: Jordan Uggla.
7261
7262 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * util/grub-mkconfig.in (grub_script_check): New variable.
7265 Use grub_script_check instead of grub-script-check.
7266 Reported by: Barry Jackson.
7267
7268 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7269
7270 * docs/grub.texi (menu): Correct the order.
7271 Reported by: D. Hugh Redelmeier.
7272
7273 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7276 jump.
7277
7278 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7279
7280 * include/grub/elfload.h (grub_elf32_size): New parameter.
7281 All users updated.
7282 Return maximum segments alignment.
7283 (grub_elf64_size): Likewise.
7284 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7285 Return maximum segments alignment.
7286 (grub_elf64_size): Likewise.
7287 * grub-core/loader/powerpc/ieee1275/linux.c:
7288 (grub_linux_claimmap_iterate): New function. Uses the
7289 "available" property in the "memory" node for memory allocation
7290 for kernel in the PowerPC loader.
7291 (grub_linux_load32): Correctly find linux entry point offset.
7292 (grub_linux_load64): Likewise.
7293
7294 2010-11-07 Robert Millan <rmh@gnu.org>
7295
7296 On mips-yeeloong, build with -march=loongson2f when this flag is
7297 available (GCC >= 4.4).
7298 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7299 `-march=mips3'.
7300 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7301 or otherwise add -march=mips3.
7302
7303 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7304
7305 Suppress shell expansion on echo '*' and echo "*" like cases.
7306 Reported by: Jordan Uggla.
7307
7308 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7309 string arguments before shell expansion.
7310 * tests/grub_cmd_echo.in: New testcases.
7311
7312 2010-11-07 Robert Millan <rmh@gnu.org>
7313
7314 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7315 transition.
7316
7317 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7318
7319 * grub-core/kern/emu/hostdisk.c
7320 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7321
7322 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7325 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7326 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7327
7328 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7329
7330 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7331
7332 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7333
7334 * util/grub-install.in: Replace useless recomendation to pass
7335 --modules with a recomendation to report a bug.
7336
7337 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7338
7339 Properly register serial terminfo.
7340 Reported by: Jordan Uggla
7341
7342 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7343 const.
7344 (grub_serial_terminfo_output_template): Likewise.
7345 (grub_cmd_serial): Register "serial" with terminfo.
7346 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7347 grub_serial_terminfo_output.
7348
7349 2010-11-05 Robert Millan <rmh@gnu.org>
7350
7351 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7352 needed).
7353
7354 2010-11-05 Robert Millan <rmh@gnu.org>
7355
7356 On Yeeloong, pass machine type information to Linux.
7357
7358 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7359 (LOONGSON_MACHTYPE): New macro, set to
7360 "machtype=lemote-yeeloong-2f-8.9inches".
7361 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7362 additional argument to Linux.
7363
7364 2010-11-04 Robert Millan <rmh@gnu.org>
7365
7366 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7367 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7368 (its SATA disks are detected as slaveless IDE master drives on
7369 kFreeBSD).
7370 Reported by Carsten Aulbert.
7371
7372 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
7373
7374 * util/bin2h.c (main): Fix spelling error in generated output.
7375
7376 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7377
7378 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7379
7380 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7383 vga= option is supplied.
7384
7385 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7386
7387 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7388 * util/grub.d/10_kfreebsd.in: Likewise.
7389 * util/grub.d/10_linux.in: Likewise.
7390 * util/grub.d/20_linux_xen.in: Likewise.
7391
7392 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7393
7394 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7395 argument as an argument to no-argument option.
7396
7397 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * util/grub.d/10_linux.in: Add missing load_video with explicit
7400 GRUB_GFXPAYLOAD_LINUX.
7401
7402 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7405
7406 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7407
7408 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7409 elements with invlid index.
7410 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7411 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7412 members.
7413 * include/grub/raid.h (grub_raid_member): New struct.
7414 (grub_raid_array): Transform devices and start_sector into usage of
7415 grub_raid_member. All users updated
7416 (allocated_devs): New member.
7417
7418 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7419
7420 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7421 is modified
7422
7423 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7424
7425 NetBSD build fix for getline function conflict from gnulib.
7426
7427 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7428 components that depend on gnulib headers.
7429 (libgrubmods.a): Renamed from earlier libgrub.a.
7430 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7431
7432 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7433
7434 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7435 install rather than creating a broken install.
7436
7437 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7438
7439 * util/grub-setup.c (argp): Remove misleading example of installing to
7440 a partition.
7441
7442 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7443
7444 * util/grub-setup.c (setup): Clarify the error message.
7445
7446 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7449
7450 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * grub-core/kern/emu/misc.c
7453 (grub_make_system_path_relative_to_its_root)
7454 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7455
7456 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/kern/emu/misc.c
7459 (grub_make_system_path_relative_to_its_root): Revert r2882.
7460
7461 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7464 useless field head. All users updated.
7465 (free_subchunk): Correct handling of IN_REGION subchunk.
7466
7467 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
7468
7469 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7470 (Supported kernels): Likewise.
7471
7472 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7473
7474 Make mktemp invocations portable.
7475
7476 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7477 exit if mktemp fails.
7478 * tests/grub_script_blockarg.in: Likewise.
7479 * tests/partmap_test.in: Likewise.
7480 * tests/util/grub-shell-tester.in: Likewise.
7481 * tests/util/grub-shell.in: Likewise.
7482 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7483 * Makefile.am: Likewise, and chain shell commands with `&&'
7484 instead of ';'.
7485 * util/grub-mkrescue.in: Use the same explicit template as above, and
7486 exit if mktemp fails.
7487
7488 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7489
7490 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7491 Linux kernel, reported by Dennis Schridde.
7492
7493 2010-10-17 Szymon Janc <szymon@janc.net.pl>
7494
7495 * grub-core/normal/auth.c (grub_auth_check_authentication):
7496 Set-but-not-used variable removed.
7497
7498 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7499
7500 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7501 32-bit linux protocol.
7502
7503 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7504
7505 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7506 cursor shape for sanity.
7507
7508 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7509
7510 * docs/grub.texi (Installation): Document buggy BIOS install.
7511
7512 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * docs/grub.texi (Installation): Indent.
7515
7516 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7517
7518 * util/grub-setup.c (setup): New parameter allow_floppy.
7519 (arguments): New member allow_floppy.
7520 (argp_parser): Handle --allow-floppy.
7521 (main): Pass allow_floppy.
7522 * util/grub-install.in: New option --allow-floppy passed though to
7523 grub-setup.
7524
7525 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7526
7527 * util/grub-install.in: Handle partitionless disks.
7528
7529 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7530
7531 * util/grub-setup.c (setup): Don't clean blocklists before readability
7532 verfification.
7533
7534 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * docs/grub.texi (Installation): Document embedding zone. Remove
7537 obsolete grub-install example.
7538
7539 2010-10-16 Szymon Janc <szymon@janc.net.pl>
7540
7541 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7542 Set-but-not-used variable ifdef'ed.
7543 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7544 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7545 variable removed.
7546 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7547 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7548 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7549 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7550 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7551 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7552 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7553 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7554 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7555 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7556 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7557 Likewise.
7558
7559 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7560
7561 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7562 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7563 enum value.
7564
7565 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7566
7567 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7568 synonym to _S5_. Needed for some DSDTs.
7569
7570 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 Userspace ACPI parser debugging.
7573
7574 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7575 headers and add relevant defines. Don't include standard headers.
7576 (main) [GRUB_DSDT_TEST]: New function.
7577 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7578 Don't declare functions.
7579
7580 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 Remove dead grub_efi_mm_fini.
7583
7584 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7585 (ALLOCATED_PAGES_SIZE): Likewise.
7586 (MAX_ALLOCATED_PAGES): Likewise.
7587 (allocated_pages): Likewise.
7588 (grub_efi_allocate_pages): Don't record allocated pages.
7589 (grub_efi_free_pages): Likewise.
7590 (grub_efi_mm_init): Likewise.
7591 (grub_efi_mm_fini): Removed.
7592
7593 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7594
7595 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7596 (grub_efi_mm_init): Take into account the memory map size increase.
7597
7598 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7599
7600 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7601 (serial_hw_put): Wait based on real time rather than port reads. Don't
7602 roken ports.
7603 * include/grub/serial.h (grub_serial_port): New field broken.
7604
7605 2010-10-16 Robert Millan <rmh@gnu.org>
7606
7607 * grub-core/kern/emu/misc.c
7608 (grub_make_system_path_relative_to_its_root): Fix premature return
7609 when processing non-root ZFS filesystems.
7610 Reported by Sergio Talens-Oliag.
7611
7612 2010-10-15 Robert Millan <rmh@gnu.org>
7613
7614 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7615 guarantee compressed ones are processed first.
7616
7617 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7620 grub_efiemu_autocore.
7621
7622 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7625 rather than 0x1b.
7626 (grub_console_getkey): Use correct jae opcode rather than ja.
7627
7628 2010-10-12 Robert Millan <rmh@gnu.org>
7629
7630 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7631 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7632 variable. All references updated.
7633
7634 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7635
7636 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 Correctly distinguish mdraid flavours.
7639
7640 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7641 (insert_array): New argument raid.
7642 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7643 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7644 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7645
7646 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7649 handling of special keys.
7650
7651 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7652
7653 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7654 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
7655
7656 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7657
7658 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7659 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7660 users updated.
7661 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
7662 Use right endpoint when querying descriptor.
7663
7664 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 Clear out 0x80 color bit on EFI.
7667 Tested by: decoder
7668 Reported by: decoder and meta tech.
7669
7670 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7671 (grub_console_setcolorstate): Clear out 0x80 bit.
7672 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7673 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7674 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7675
7676 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7677
7678 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7679 Set to "auto".
7680
7681 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7682
7683 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7684 mo_file after freeing.
7685
7686 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7687
7688 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7689
7690 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7693 flags.
7694
7695 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7698 usage.
7699
7700 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7701
7702 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7703
7704 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7705 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7706 and terminfo.h when needed.
7707 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7708 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7709 (terminfo): Enable only on terminfokernel.
7710 (extcmd): Likewise.
7711 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7712 * include/grub/lib/arg.h: Likewise.
7713 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7714 incorrect usage of ->.
7715
7716 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7717
7718 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7719 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7720
7721 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7722
7723 Fix coreboot compilation.
7724
7725 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7726 Take VBE info into account even if only text is supported.
7727 (fill_vbe_info): Take into account the case when only VGA text
7728 is supported.
7729 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7730 on coreboot, multiboot and qemu.
7731
7732 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
7735 debug messages.
7736 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
7737
7738 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7739
7740 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
7741 parameters.
7742
7743 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7744
7745 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
7746 if they were BSD-style.
7747
7748 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7749
7750 * grub-core/boot/i386/pc/lnxboot.S: Replace
7751 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
7752 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
7753
7754 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 Write embedding zone using Reed-Solomon.
7757
7758 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
7759 * grub-core/Makefile.am (rs_decoder.S): New target.
7760 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
7761 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
7762 (multiboot): Move to RS part.
7763 (post_reed_solomon): New label.
7764 (grub_boot_drive): Move to non-RS part since it's modified in memory
7765 on boot.
7766 Include rs_decoder.S.
7767 * grub-core/lib/reed_solomon.c: New file.
7768 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
7769 New definition.
7770 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
7771 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
7772 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
7773 * include/grub/partition.h (grub_partition_map): Change prototype of
7774 embed to allow returning additional sectors.
7775 * include/grub/reed_solomon.h: New file.
7776 * util/grub-setup.c (setup): Handle Reed-Solomon.
7777
7778 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
7779
7780 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7781 i386 and x86-64 definedness tests.
7782
7783 2010-09-27 Yves Blusseau <blusseau@zetam.org>
7784
7785 Fix generation of kernel_syms.lst
7786
7787 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
7788 ASM_PREFIX
7789
7790 2010-09-26 Robert Millan <rmh@gnu.org>
7791
7792 Support degraded ZFS arrays in "grub-probe -t device" resolution.
7793
7794 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
7795 the pool is an array of devices, iterate through it and return the
7796 first device that passes a stat() test (instead of blindly returning
7797 the first one).
7798
7799 2010-09-26 Robert Millan <rmh@gnu.org>
7800
7801 Build fixes for GNU/kFreeBSD.
7802
7803 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
7804 to programs that require ZFS conversion.
7805 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
7806 kernels that don't have FLOPPY_MAJOR.
7807
7808 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7809
7810 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
7811
7812 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7813
7814 Fix grub-emu build.
7815
7816 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
7817 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
7818 mdraid09 and mdraid1x.
7819
7820 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
7821
7822 Re-enable grub-extras.
7823
7824 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
7825 avoid confusing Automake. Run autogen only twice, once for the top
7826 level and once for grub-core. Add Makefile.util.def and
7827 Makefile.core.def from extra modules to the appropriate autogen
7828 invocations. If Makefile.common exists in an extra module, include
7829 it in both Makefile.util.am and grub-core/Makefile.core.am;
7830 similarly, include any Makefile.util.common file in Makefile.util.am
7831 and any Makefile.core.common file in grub-core/Makefile.core.am.
7832 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
7833 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
7834 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
7835 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
7836
7837 * gentpl.py (gvar_add): Turn GVARS into a set.
7838 (global_variable_initializers): Sort global variables on output.
7839 (vars_init): New function.
7840 (first_time): Likewise.
7841 (library): Ensure that non-global variable initialisations are
7842 emitted before the first time we emit code for a library block.
7843 Append to variables rather than setting them. Only emit
7844 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
7845 each conditional path.
7846 (program): installdir() emits an Autogen macro, so must be passed to
7847 var_add rather than gvar_add.
7848 (data): Likewise.
7849 (script): Likewise.
7850 (rules): New function, centralising handling for different target
7851 types. Set up Guile association lists for first_time and vars_init,
7852 and send most output to a diversion so that variable initialisations
7853 can be emitted first.
7854 (module_rules): Use new rules function.
7855 (kernel_rules): Likewise.
7856 (image_rules): Likewise.
7857 (library_rules): Likewise.
7858 (program_rules): Likewise.
7859 (script_rules): Likewise.
7860 (data_rules): Likewise.
7861
7862 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
7863
7864 * .bzrignore: Add contrib and grub-core/contrib. Remove
7865 grub-core/Makefile.gcry.am.
7866
7867 2010-09-24 Yves Blusseau <blusseau@zetam.org>
7868
7869 * grub-core/lib/LzFind.c: Add missing include.
7870 * grub-core/lib/LzmaEnc.c: Likewise.
7871 * grub-core/script/lexer.c: Likewise.
7872 * grub-core/script/yylex.l: Likewise.
7873 * util/grub-macho2img.c: Likewise.
7874 * util/grub-menulst2cfg.c: Likewise.
7875 * util/grub-mklayout.c: Likewise.
7876 * util/grub-mkpasswd-pbkdf2.c
7877 * util/grub-mkrelpath.c: Likewise.
7878 * util/resolve.c: Likewise.
7879
7880 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
7881
7882 * Makefile.util.def (example_unit_test): Add
7883 grub-core/gnulib/libgnu.a.
7884
7885 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
7886
7887 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
7888
7889 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 Support xz compression on yeeloong.
7892
7893 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
7894 * configure.ac: Check for LZMA.
7895 * grub-core/Makefile.core.def (xz_decompress): New target.
7896 (none_decompress): Likewise.
7897 * grub-core/boot/decompressor/minilib.c: New file.
7898 * grub-core/boot/decompressor/none.c: Likewise.
7899 * grub-core/boot/decompressor/xz.c: Likewise.
7900 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
7901 * grub-core/kern/mips/cache_flush.S: Likewise.
7902 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
7903 * grub-core/kern/mips/startup.S: Move first stage to ...
7904 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
7905 nomacro.
7906 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
7907 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
7908 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
7909 Allocate statically.
7910 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
7911 Allocate statically or use scratch. Don't check CRC32.
7912 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
7913 Allocate statically. Don't check CRC32.
7914 * include/grub/decompressor.h: New file.
7915 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
7916 Removed.
7917 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
7918 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
7919 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
7920 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
7921 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
7922 * util/grub-mkimage.c (grub_compression_t): New type.
7923 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
7924 (image_target_desc): New field default_compression.
7925 (image_targets): Adjust yeeloong targets.
7926 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
7927 (compress_kernel): New parameter comp.
7928 (generate_image): Likewise. Handle new compression case.
7929 (options): New option --compression
7930 (help): Likewise.
7931 (main): Handle new option.
7932
7933 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
7934
7935 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
7936
7937 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
7938
7939 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7940 typo in __i386__ conditional.
7941
7942 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7943
7944 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
7945 include.
7946
7947 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7948
7949 Implement EFI and ACPI multiboot2 extensions.
7950
7951 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
7952 new tags as supported.
7953 (acpiv2_size): New function.
7954 (grub_multiboot_get_mbi_size): Take new tags into account.
7955 (grub_multiboot_make_mbi): Add new tags.
7956 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
7957
7958 2010-09-21 Aleš Nesrsta <starous@volny.cz>
7959
7960 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
7961 Added missing configuration of USB device.
7962
7963 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7964
7965 * grub-core/normal/menu_entry.c (run): Make sure we always return
7966 a value.
7967
7968 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7969
7970 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
7971 NumberOfPages is UINT64 according to the UEFI specification, not
7972 UINTN. Fix printf format.
7973
7974 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7975
7976 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
7977 `err' to grub_usb_err_t.
7978 Reported and tested by: KESHAV P.R.
7979
7980 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7981
7982 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
7983 tpart non-const, so that we can assign to it. (Since this is a
7984 typedef, the constness refers to the pointer rather than what it
7985 points to.)
7986
7987 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7988
7989 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
7990 $(top_srcdir)/grub-core/gnulib as well as
7991 $(top_builddir)/grub-core/gnulib.
7992 Reported by: KESHAV P.R.
7993
7994 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7995
7996 * util/grub-install.in: Fix the bootloader ID option to be
7997 consistently --bootloader-id, not --bootloader_id.
7998 Reported by: KESHAV P.R.
7999
8000 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8001
8002 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
8003 check hash checksum." consistently translatable.
8004
8005 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8006
8007 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
8008 $(top_builddir).
8009
8010 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8011
8012 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
8013 (GRUB_MOD_INIT): Register sha1sum command.
8014 (GRUB_MOD_FINI): Unregister sha1sum command.
8015
8016 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8017
8018 Keep boot and grub directory names in sync with utils scripts
8019
8020 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
8021 * config.h.in: Add previous macros.
8022 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
8023 * util/grub-install.in: Use $bootdir and $grubdir variables.
8024
8025 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8026
8027 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
8028 convert partition names to disk names if the new `convert' parameter
8029 is set.
8030 (grub_util_biosdisk_get_grub_dev): If opening the disk device
8031 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
8032 disk in its own right. This can happen with Xen disk images.
8033
8034 2010-09-21 Yves Blusseau <blusseau@zetam.org>
8035
8036 * util/grub-editenv.c: Update strings to avoid warnings when generating
8037 grub.pot file.
8038 * util/grub-setup.c: Likewise.
8039
8040 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8041
8042 * configure.ac: Change version to 1.99~beta0.
8043
8044 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
8045
8046 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
8047 Add BADRAM.
8048 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
8049 Likewise.
8050 * include/multiboot.h: Resynced with specification.
8051 * include/multiboot2.h: Likewise.
8052
8053 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
8054
8055 Fix po directory handling.
8056
8057 * configure.ac: Create po/Makefile.in rather than po/Makefile.
8058 * grub-core/gnulib/Makefile.am: Import gettext module.
8059 * m4/gnulib-cache.m4: Likewise.
8060 * m4/gnulib-comp.m4: Likewise.
8061 * m4/gettext.m4: New file, from gnulib.
8062 * m4/glibc2.m4: Likewise.
8063 * m4/iconv.m4: Likewise.
8064 * m4/intdiv0.m4: Likewise.
8065 * m4/intl.m4: Likewise.
8066 * m4/intldir.m4: Likewise.
8067 * m4/intlmacosx.m4: Likewise.
8068 * m4/intmax.m4: Likewise.
8069 * m4/inttypes-pri.m4: Likewise.
8070 * m4/lcmessage.m4: Likewise.
8071 * m4/lib-ld.m4: Likewise.
8072 * m4/lib-link.m4: Likewise.
8073 * m4/lib-prefix.m4: Likewise.
8074 * m4/lock.m4: Likewise.
8075 * m4/nls.m4: Likewise.
8076 * m4/po.m4: Likewise.
8077 * m4/printf-posix.m4: Likewise.
8078 * m4/progtest.m4: Likewise.
8079 * m4/threadlib.m4: Likewise.
8080 * m4/uintmax_t.m4: Likewise.
8081 * m4/visibility.m4: Likewise.
8082 * po/Makefile.am: Remove.
8083 * po/Makefile.in.in: New file, from gettext.
8084 ($(DOMAIN).pot-update): Support POTFILES-shell.
8085 * po/Makevars: New file.
8086 * po/POTFILES-shell: Rename to ...
8087 * po/POTFILES-shell.in: ... this. Update.
8088 * po/POTFILES: Rename to ...
8089 * po/POTFILES.in: ... this. Update.
8090 * po/Rules-quot: New file, from gettext.
8091 * po/boldquot.sed: Likewise.
8092 * po/en@boldquot.header: Likewise.
8093 * po/en@quot.header: Likewise.
8094 * po/insert-header.sin: Likewise.
8095 * po/quot.sed: Likewise.
8096 * po/remove-potcdate.sin: Likewise.
8097
8098 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8101
8102 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8103
8104 * util/grub.d/20_linux_xen.in: Use submenus.
8105
8106 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8107
8108 Support submenus.
8109
8110 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8111 parameter submenu. All users updated.
8112 * grub-core/normal/main.c (free_menu): Rename to ...
8113 (grub_normal_free_menu): ... this. Made global.
8114 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8115 if requested.
8116 * grub-core/normal/menu_entry.c (screen): New field submenu.
8117 (make_screen): Set submenu.
8118 (run): Open new context if requested.
8119 * include/grub/menu.h (grub_menu_entry): New field submenu.
8120 * include/grub/normal.h (grub_normal_free_menu): New proto.
8121
8122 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8123
8124 Menu entries extractor.
8125
8126 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8127 variants.
8128 (GRUB_MOD_INIT): Register new variants.
8129 (GRUB_MOD_FINI): Unregister new variants.
8130 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8131 into grub_cmd_legacy_source.
8132 (grub_cmd_legacy_source): Implement extractor variants.
8133 (GRUB_MOD_INIT): Register new variants.
8134 (GRUB_MOD_FINI): Unregister new variants.
8135 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8136 as an extractor.
8137 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8138 search as an extractor.
8139 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8140 test as an extractor.
8141 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8142 as an extractor.
8143 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8144 (grub_env_new_context): New function.
8145 (grub_env_context_open): Likewise.
8146 (grub_env_extractor_open): Likewise.
8147 (grub_env_extractor_close): Likewise.
8148 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8149 grub_extractor_level.
8150 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8151 * include/grub/env.h (grub_env_extractor_open): New proto.
8152 (grub_env_extractor_close): Likewise.
8153 * include/grub/normal.h (grub_extractor_level): New external variable.
8154
8155 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8156
8157 Make cutmem accept a region specification.
8158 Suggested by: Samuel Thibault
8159
8160 * grub-core/mmap/mmap.c (parsemem): New function.
8161 (grub_cmd_cutmem): Handle new arguments.
8162
8163 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 New command cutmem.
8166
8167 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8168 (GRUB_MOD_INIT): Register new command.
8169 (GRUB_MOD_FINI): Unregister new command.
8170
8171 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 Support some annoying BSD and Minix subpartitions.
8174
8175 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8176 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8177 Properly handle concatenation.
8178 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8179 * grub-core/normal/completion.c (iterate_partition): Likewise.
8180 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8181 contain partition. All users updated.
8182 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8183 struct.
8184 (grub_openbsdlabel_partition_map): Likewise.
8185 (bsdlabel_partition_map_iterate): Rename to ..
8186 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8187 (bsdlabel_partition_map_iterate): New function.
8188 (netopenbsdlabel_partition_map_iterate): Likewise.
8189 (netbsdlabel_partition_map_iterate): Likewise.
8190 (openbsdlabel_partition_map_iterate): Likewise.
8191 (GRUB_MOD_INIT): Register new partmaps.
8192 (GRUB_MOD_FINI): Unregister new partmaps.
8193 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8194 (grub_partition_msdos_iterate): ... this. All users updated.
8195 Don't support embedding other than in a minix partition.
8196 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8197 proto.
8198 * include/grub/partition.h (grub_partition): New field msdostype.
8199 * util/grub-install.in: Handle openbsd and netbsd types being in
8200 part_bsd module.
8201
8202 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8205
8206 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8207 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8208 (mdraid09): ... this.
8209 (mdraid1x): New module.
8210 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8211 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8212
8213 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8216 vsprintf.
8217
8218 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8219
8220 * grub-core/commands/efi/lsefimmap.c: Correct header.
8221 * NEWS: Update.
8222
8223 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8224
8225 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8226 as printf format strings; the translations might contain '%' which
8227 could cause a crash.
8228 (main): Likewise.
8229 * util/grub-fstest.c (argp_parser): Likewise.
8230 * util/grub-setup.c (argp_parser): Likewise.
8231 (main): Likewise.
8232
8233 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8234
8235 Use argp in grub-fstest.
8236
8237 * util/grub-fstest.c: Don't include getopt.h.
8238 Include argp.h.
8239 (root): New variable.
8240 (args_count): Likewise.
8241 (nparm): Likewise.
8242 (num_disks): Likewise.
8243 (images): Likewise.
8244 (cmd): Likewise.
8245 (debug_str): Likewise.
8246 (args): Likewise.
8247 (options): Transformed to argp.
8248 (usage): Removed.
8249 (main): Split argument parsing into ...
8250 (argp_parser): ... this. Changed to argp format.
8251 (argp): New variable.
8252 (main): Use argp_parse.
8253
8254 2010-09-20 Tristan Gingold <gingold@free.fr>
8255 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8256 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8257
8258 * grub-core/commands/efi/lsefimmap.c: New file.
8259 * grub-core/Makefile.core.def (lsefimmap): New module.
8260 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8261
8262 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 Pause the execution (10s max) if any errors are displayed so the user
8265 has a chance to see them.
8266
8267 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8268 (grub_print_error): Increment grub_err_printed_errors.
8269 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8270 execution if any errors were displayed.
8271 (show_menu): Remove old code for pause.
8272 * grub-core/normal/menu_entry.c (run): Likewise.
8273 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8274 users updated.
8275 (grub_normal_get_char_counter): Likewise.
8276 * include/grub/err.h (grub_err_printed_errors): New external variable.
8277 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8278
8279 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8280
8281 Support multiboot VBE info.
8282
8283 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8284 Take VBE info into account.
8285 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8286 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8287 Call fill_vbe_info when appropriate.
8288 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8289 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8290 as supported.
8291 (grub_multiboot_get_mbi_size): Take new tags into account.
8292 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8293 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8294 Call fill_vbe_tag when appropriate.
8295 (grub_multiboot_make_mbi): Properly align tags.
8296 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8297 function.
8298 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8299 proto.
8300 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8301
8302 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 Suport manual terminal geometry specification.
8305
8306 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8307 Save state in grub_ofconsole_terminfo_output.
8308 (grub_ofconsole_term): Use grub_terminfo_getwh.
8309 (grub_ofconsole_getwh): Removed.
8310 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8311 (grub_serial_term): Use grub_terminfo_getwh.
8312 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8313 (options): New struct.
8314 (OPTION_*): New enum.
8315 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8316 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8317 width and height.
8318 (grub_terminfo_getwh): New proto.
8319 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8320
8321 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8322
8323 Handle legacy "terminal" command.
8324
8325 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8326 and FLAG_TERMINAL.
8327 (legacy_commands): Add terminal and title.
8328 (grub_legacy_parse): Handle terminal. Simplify title handling.
8329
8330 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8331
8332 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8333 parameters overflow.
8334
8335 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8336
8337 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8338 widthspec.h.
8339
8340 * docs/grub.texi (Shell-like scripting): Document `!'.
8341 (Network): Simplify using new i386-pc-pxe format. Mention
8342 grub-mknetdir.
8343
8344 * NEWS: Update.
8345
8346 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8347
8348 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8349 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8350 when needed.
8351
8352 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8353
8354 * grub-core/commands/efi/lsefisystab.c: Correct header.
8355 * grub-core/commands/efi/lssal.c: Likewise.
8356 * grub-core/commands/testload.c: Likewise.
8357
8358 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8359
8360 * util/grub-mkrescue.in: Add explicit root argument to --set to
8361 prevent the UUID being interpreted as an argument to --set (matches
8362 previous change to prepare_grub_to_access_device).
8363
8364 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8365
8366 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8367 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8368 the verbosity of later #ifs.
8369 (find_partition_start): Define this function on FreeBSD too.
8370 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8371 function.
8372 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8373 on FreeBSD.
8374
8375 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8376
8377 * util/grub-editenv.c: Use argp instead of getopt.
8378
8379 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8380
8381 * util/grub-setup.c: Use argp instead of getopt.
8382
8383 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8384
8385 Use gnulib-tool to create gnulib source files.
8386
8387 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8388 grub-core/gnulib directories
8389 * .bzignore: Add **/.deps and autogenerated gnulib files
8390 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8391 of gnulib macros, add grub-core/gnulib/Makefile
8392 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8393 include m4 directory to aclocal.
8394 * Makefile.util.def: Remove direct compilation of gnulib source files
8395 and use the new grub-core/gnulib/libgnu.a.
8396 * build-aux/config.rpath: move config.rpath from top directory to
8397 build-aux
8398 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8399 in gnulib headers
8400 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8401 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8402 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8403 header.
8404 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8405 string.
8406
8407 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8408
8409 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8410 grub-core/genmod.sh and grub-core/gensyminfo.sh
8411
8412 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8413
8414 Add a test for echo command options.
8415
8416 * tests/grub_cmd_echo.in: New test.
8417 * Makefile.util.def: Rules for new test.
8418
8419 2010-09-20 Szymon Janc <szymon@janc.net.pl>
8420
8421 Remove crc.mod and move crc command to hashsum.mod.
8422 Remove lib/crc.c - users updated to use gcrypt implementation.
8423
8424 * grub-core/commands/crc.c: Removed.
8425 * grub-core/Makefile.core.def (crc): Module removed.
8426 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8427 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8428 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8429 * grub-core/lib/crc.c: Removed.
8430 * include/grub/lib/crc.h: Removed.
8431 * Makefile.util.def (crc): Remove lib/crc.c
8432 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8433 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8434 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8435 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8436 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8437 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8438
8439 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8442
8443 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 Split config.h for util and core.
8446
8447 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8448 (ADDR32): Likewise.
8449 (DATA32): Likewise.
8450 (BSS_START_SYMBOL): Likewise.
8451 (END_SYMBOL): Likewise.
8452 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8453 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8454 * config.h.in: New file.
8455 * configure.ac: Use config-util.h as config define file.
8456 Rename MACHINE into GRUB_MACHINE. All users updated.
8457 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8458 updated.
8459 (NESTED_FUNC_ATTR): Likewise.
8460 Substitue new variables.
8461 (COND_HAVE_ASM_USCORE): New conditional.
8462 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8463 (kernel_syms.lst): Use ASM_PREFIX.
8464 * grub-core/kern/emu/console.c: Include config-util.h.
8465 * grub-core/kern/emu/misc.c: Likewise.
8466 * grub-core/kern/emu/mm.c: Likewise.
8467 * include/grub/emu/misc.h: Likewise.
8468 * include/grub/libgcc.h: Likewise.
8469
8470 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8473 constants usage.
8474 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8475 Fix GRUB_TERM_KEY_* constants usage.
8476 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8477
8478 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8479
8480 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8481 print pointer.
8482 * grub-core/bus/usb/uhci.c: Remove empty define.
8483 (grub_uhci_check_transfer): Add missing cast.
8484 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8485 print pointer.
8486 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8487 PRIuGRUB_SIZE.
8488 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8489
8490 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/Makefile.core.def (legacycfg): Add
8493 lib/i386/pc/vesa_modes_table.c on emu.
8494
8495 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8496
8497 Reduce number of temporary files generated by build system.
8498
8499 * grub-core/gencmdlist.sh: Removed.
8500 * grub-core/genfslist.sh: Removed.
8501 * grub-core/genhandlerlist.sh: Removed.
8502 * grub-core/genmodsrc.sh: Removed.
8503 * grub-core/genpartmaplist.sh: Removed.
8504 * grub-core/genparttoollist.sh: Removed.
8505 * grub-core/gentermiinallist.sh: Removed.
8506 * grub-core/genvideolist.sh: Removed.
8507
8508 * grub-core/genmod.sh.in: New file.
8509 * grub-core/gensyminfo.sh.in: New file.
8510
8511 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8512 * conf/Makefile.extra-dist: Update with new files.
8513 * gentpl.py: Remove rules related to unnecessary temporary files.
8514 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8515 and und-* files.
8516 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8517 genmod.sh scripts.
8518 * grub-core/bus/usb/uhci.c: Remove empty #define.
8519 * grub-core/genmoddep.awk: Updated with new syminfo format.
8520 * util/bash-completion.d/Makefile.am: Add config.log to
8521 CLEANFILES.
8522
8523 2010-09-19 Yves Blusseau <blusseau@zetam.org>
8524
8525 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8526
8527 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8528
8529 * util/grub-mkconfig.in: Check the config script for syntax errors
8530 before saving.
8531
8532 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
8533 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8534
8535 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8536 platforms.
8537 * util/grub-install.in: Add EFI and IEEE1275 support.
8538 * util/i386/efi/grub-install.in: Removed.
8539 * util/ieee1275/grub-install.in: Likewise.
8540
8541 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8544 (grub_cmd_cmosclean): Likewise.
8545 (GRUB_MOD_INIT): Register command cmosclean.
8546 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8547 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8548
8549 2010-09-18 Carles Pina i Estany <carles@pina.cat>
8550 2010-09-18 Aleš Nesrsta <starous@volny.cz>
8551 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 Add keyboard layouts support.
8554
8555 * Makefile.util.def (grub-mklayout): New file.
8556 (grub-kbdcomp): New script.
8557 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8558 Add keyboard_layouts.h.
8559 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8560 commands/boot.c on yeeloong.
8561 (keylayouts): New module.
8562 * grub-core/bus/usb/ohci.c
8563 * grub-core/bus/usb/uhci.c
8564 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8565 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8566 (attach_root_port): Likewise.
8567 (poll_nonroot_hub): Likewise.
8568 (grub_usb_poll_devices): Likewise.
8569 (detach_device): Close transfer.
8570 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8571 function.
8572 (grub_usb_bulk_setup_readwrite): Likewise.
8573 (grub_usb_bulk_finish_readwrite): Likewise.
8574 * grub-core/commands/keylayouts.c: New file.
8575 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8576 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8577 aliases.
8578 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8579 support scancode 2.
8580 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8581 * include/grub/keyboard_layouts.h: New file.
8582 * util/grub-mklayout.c: New file.
8583 * util/grub-kbdcomp.in: Likewise.
8584
8585 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8586
8587 Unify memory types.
8588
8589 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8590 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8591 types.
8592 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8593 (grub_upper_mem): Likewise.
8594 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8595 * include/grub/memory.h (grub_memory_type_t): New enum.
8596 All users updated.
8597
8598 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8599
8600 * grub-core/Makefile.core.def (lsapm): New module.
8601 * grub-core/commands/i386/pc/lsapm.c: New file.
8602 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8603 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8604 Likewise.
8605 * include/grub/i386/pc/apm.h: New file.
8606 * include/multiboot.h (multiboot_apm_info): New struct.
8607
8608 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 GRUB-legacy configuration file support.
8611
8612 * Makefile.util.def (grub-menulst2cfg): New util.
8613 * docs/man/grub-menulst2cfg.h2m: New file.
8614 * grub-core/Makefile.core.def (legacycfg): New module.
8615 * grub-core/commands/legacycfg.c: New file.
8616 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8617 (grub_normal_add_menu_entry): ... this.
8618 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8619 (grub_normal_set_password): ...this.
8620 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8621 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8622 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8623 * grub-core/lib/legacy_parse.c: New file.
8624 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8625 * include/grub/i386/pc/vesa_modes_table.h: New file.
8626 * include/grub/legacy_parse.h: Likewise.
8627 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8628 * util/grub-menulst2cfg.c: New file.
8629
8630 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8631
8632 * grub-core/kern/emu/hostdisk.c
8633 (convert_system_partition_to_system_disk): Initialise node.
8634
8635 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8636
8637 * grub-core/kern/emu/hostdisk.c
8638 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8639 leak.
8640 Reported and based on patch by: Modestas Vainius.
8641
8642 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8643
8644 Fix DM-RAID probing with recent versions of device-mapper udev
8645 rules.
8646
8647 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8648 canonicalise device paths under /dev/mapper/.
8649 (convert_system_partition_to_system_disk): Compare the
8650 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8651 path, since device nodes under /dev/mapper/ are often symlinks.
8652
8653 2010-09-17 Yves Blusseau <blusseau@zetam.org>
8654
8655 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8656
8657 2010-09-16 Yves Blusseau <blusseau@zetam.org>
8658
8659 * configure.ac: Avoid some annoying error messages if freetype-config
8660 program is not found.
8661
8662 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8663
8664 Support RAID on virtio devices, and others.
8665
8666 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8667 Rename to ...
8668 [__MINGW32__] (grub_find_device): ... this.
8669 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8670 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8671 reasonable default if dir is NULL.
8672 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8673 ...
8674 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8675 (grub_guess_root_device): Update callers.
8676 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8677
8678 * util/raid.c (grub_util_getdiskname): Remove.
8679 (grub_util_raid_getmembers): Use grub_find_device rather than
8680 grub_util_getdiskname.
8681
8682 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8683
8684 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8685 needing to be compiled with serial support.
8686 (ls): Indicate that multiple files are accepted.
8687 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8688 indicate that multiple files are accepted.
8689
8690 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8691
8692 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8693 libgrub_a_init.c, and util/bash-completion.d/grub.
8694
8695 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * util/grub-setup.c (setup): Fix incorrect container semantics.
8698
8699 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8702 misusage.
8703 Reported by: J. Nick Terry
8704
8705 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 Move embedding routines to partmap sources files.
8708
8709 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8710 [GRUB_UTIL]: New variable.
8711 (gpt_partition_map_iterate): Set part.parent.
8712 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8713 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8714 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8715 New function.
8716 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8717 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8718 (grub_partition_map) [GRUB_UTIL]: New field embed.
8719 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8720 (setup): Use ->embed.
8721
8722 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8725 function.
8726 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8727 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8728
8729 2010-09-15 Yves Blusseau <blusseau@zetam.org>
8730
8731 Add function to get completions from usage.
8732
8733 * util/bash-completion.d/grub-completion.bash.in: Add function to get
8734 completions from usage. Use LC_ALL=C to get options properly.
8735
8736 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/gnulib/basename-lgpl.c: Imported.
8739 * grub-core/gnulib/basename.c: Likewise.
8740 * grub-core/gnulib/dirname-lgpl.c: Likewise.
8741 * grub-core/gnulib/dirname.c: Likewise.
8742 * grub-core/gnulib/dirname.h: Likewise.
8743 * grub-core/gnulib/stripslash.c: Likewise.
8744
8745 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 * grub-core/gnulib/error.c: Resynced.
8748 * grub-core/gnulib/getopt.c: Likewise.
8749 * grub-core/gnulib/getopt_int.h: Likewise.
8750 * grub-core/gnulib/regex.h: Likewise.
8751 * grub-core/gnulib/regex_internal.c: Likewise.
8752 * grub-core/gnulib/regex_internal.h: Likewise.
8753
8754 2010-09-15 Szymon Janc <szymon@janc.net.pl>
8755
8756 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
8757 CRC calculations and validity checks.
8758 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
8759 calculations.
8760
8761 2010-09-15 Szymon Janc <szymon@janc.net.pl>
8762
8763 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
8764
8765 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8766
8767 Fix incorrect echo options handling.
8768 Reported by: Yves Blusseau.
8769
8770 * include/grub/command.h (grub_command_flags_t): New flags
8771 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
8772 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
8773 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
8774
8775 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8776
8777 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
8778 users updated.
8779 (GRUB_COMMAND_FLAG_MENU): Likewise.
8780 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8781 (GRUB_COMMAND_FLAG_TITLE): Removed.
8782 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8783 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
8784 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
8785 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
8786 (grub_command_flags_t): New enum. All users updated.
8787
8788 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
8789
8790 Fix solaris compilation.
8791
8792 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
8793 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
8794 (grub-emu-list): Likewise.
8795
8796 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Remove deprecated root command.
8799
8800 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
8801 updated.
8802
8803 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8804
8805 * util/i386/pc/grub-setup.c: Merge this ...
8806 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
8807 * util/grub-setup.c: ... into this.
8808 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
8809 New struct.
8810
8811 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8812
8813 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
8814 possible.
8815
8816 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8817
8818 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
8819 allocate p.
8820
8821 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8824 explicit root argument to set to prevent UUID to be interpreted as
8825 argument to set.
8826
8827 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
8830
8831 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 Don't export grub_gate_a20.
8834
8835 * grub-core/kern/i386/pc/init.c: Remove leftovers.
8836 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
8837 to ...
8838 (grub_gate_a20): ... this. All users updated.
8839 * include/grub/i386/pc/init.h: Removed. All users updated.
8840
8841 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 Create euro.pf2 which supports most European languages.
8844
8845 * Makefile.am (grubdata_DATA): Add euro.pf2.
8846 (euro.pf2): New target.
8847 (CLEANFILES): Add euro.pf2.
8848
8849 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8850
8851 * configure.ac: Disable emu-usb by default to prevent inadvertent
8852 device takeover.
8853
8854 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8855
8856 Disable usbserial on grub-emu since our libusb code isn't good enough
8857 yet.
8858
8859 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
8860 (usbserial_pl2303): Likewise.
8861 (usbserial_ftdi): Likewise.
8862
8863 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * include/grub/disk.h (grub_disk): Remove has_partitions.
8866 All users updated.
8867 * disk/loopback.c (grub_loopback): Remove has_partitions.
8868 All users updated.
8869 (options): Remove partitions. All users updated.
8870 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
8871 * util/i386/pc/grub-setup.c (setup): copy partition table only when
8872 actual partition table is found.
8873
8874 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8875
8876 Remove readability checks (too many false negatives).
8877
8878 * util/grub-install.in: Remove readability checks.
8879 * util/grub-mkconfig.in: Likewise.
8880 * util/grub.d/10_hurd.in: Likewise.
8881 * util/grub.d/10_kfreebsd.in: Likewise.
8882 * util/grub.d/10_linux.in: Likewise.
8883 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
8884 way.
8885
8886 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8887
8888 Enable acpi shutdown on all ACPI platforms.
8889
8890 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
8891 on coreboo, multiboot and EFI.
8892 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
8893 (grub_acpi_halt): Likewise.
8894 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
8895 (grub_cmd_halt): Don't call grub_acpi_halt directly.
8896 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
8897 * grub-core/lib/i386/halt.c (grub_halt)
8898 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
8899
8900 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
8903 context.
8904
8905 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8906
8907 * grub-core/video/efi_gop.c: Fix over-80-chars line.
8908 * grub-core/video/efi_uga.c: Likewise.
8909
8910 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 Filter devaliases and never open same device twice.
8913
8914 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
8915 (last_ihandle): Likewise.
8916 (ofdisk_hash_ent): New member shortest.
8917 (ofdisk_hash_add): Add canonical path too.
8918 (scan): New function.
8919 (grub_ofdisk_iterate): Iterate over hashed entries.
8920 (compute_dev_path): Don't add :0.
8921 (grub_ofdisk_open): Don't really open the disk.
8922 (grub_ofdisk_close): Avoid closing unrelated disk.
8923 (grub_ofdisk_read): Implement reopen logic.
8924 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
8925 New function.
8926 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
8927 New proto.
8928
8929 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Fix sparc64.
8932
8933 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
8934 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
8935 right address. Add sparc64_ieee1275_ldflags.
8936 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
8937 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
8938 to grub_host_to_target_addr
8939 (load_image): Likewise.
8940
8941 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8942
8943 * grub-core/normal/completion.c (complete_file): Handle device
8944 containing slash.
8945 Fix based on patch by Doug Nazar.
8946
8947 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 grub-mknetdir script.
8950
8951 * Makefile.util.def (grub-mknetdir): New module.
8952 * tests/util/grub-shell.in: Support boot=net
8953 * util/grub-mknetdir.in: New file.
8954
8955 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8956
8957 videoinfo on non-vbe.
8958
8959 * grub-core/Makefile.core.def (vbeinfo): Removed.
8960 (vbetest): Removed.
8961 (videoinfo): New module.
8962 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
8963 * grub-core/commands/i386/pc/vbetest.c: Removed.
8964 * grub-core/commands/videoinfo.c: New file.
8965 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
8966 specification.
8967 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
8968 as vbetest.
8969 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
8970 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
8971 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
8972 mode_number. New parameter mode. All users updated.
8973 (grub_video_gop_iterate): New function.
8974 (grub_video_efi_gop): New member iterate.
8975 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
8976 (grub_vbe_set_video_mode): Remove setting useless fields.
8977 (vbe2videoinfo): New function.
8978 (grub_video_vbe_iterate): Likewise.
8979 (grub_video_vbe_setup): Use vbe2videoinfo.
8980 (grub_video_vbe_print_adapter_specific_info): New function.
8981 (grub_video_vbe_adapter): New fields iterate and
8982 print_adapter_specific_info.
8983 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
8984 All users updated.
8985 (grub_video_mode_info): New field mode_number.
8986 (grub_video_adapter): New fields iterate and
8987 print_adapter_specific_info.
8988
8989 2010-09-13 Tristan Gingold <gingold@free.fr>
8990 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
8991 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8992
8993 * grub-core/commands/efi/lsefisystab.c: New file.
8994 * grub-core/commands/efi/lssal.c: Likewise.
8995 * grub-core/Makefile.core.def (lsacpi): New module.
8996 (lsefisystab): Likewise.
8997 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
8998 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
8999 (grub_efi_sal_system_table): New struct.
9000 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
9001 (grub_efi_sal_system_table_memory_descriptor): Likewise.
9002 (grub_efi_sal_system_table_platform_features): Likewise.
9003 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
9004 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
9005 (grub_efi_sal_system_table_ap_wakeup): Likewise.
9006 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
9007
9008 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9009
9010 Support explicit user claim that a device is BIOS-visible.
9011
9012 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
9013 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
9014 * grub-core/kern/emu/hostdisk.c
9015 (convert_system_partition_to_system_disk): Support mdX.
9016 (find_system_device): New parameter add. All users updated.
9017 (grub_util_biosdisk_is_present): New function.
9018 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
9019 proto.
9020
9021 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 Search hints support.
9024
9025 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
9026 All users updated.
9027
9028 2010-09-13 Yves Blusseau <blusseau@zetam.org>
9029
9030 Bash completion script for util commands
9031
9032 * Makefile.am: Add util/bash-completion.d directory
9033 * configure.ac: Likewise.
9034 * util/bash-completion.d/Makefile.am: New file.
9035 * util/bash-completion.d/grub-completion.bash.in: Likewise.
9036
9037 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9038
9039 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
9040 (print_backlog): set backlog_ucs4 and backlog_glyphs.
9041 Reported by: Yves Blusseau.
9042
9043 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
9046 partition size and offset.
9047
9048 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9049
9050 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
9051
9052 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
9055
9056 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9059 (grub_xvasprintf): Likewise.
9060
9061 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9062
9063 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9064
9065 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9066
9067 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9068 args ending with NULL.
9069
9070 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9073 pointer.
9074
9075 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9076
9077 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9078
9079 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 Shutdown using ACPI.
9082
9083 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9084 * grub-core/commands/acpihalt.c: New file.
9085 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9086 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9087 (grub_acpi_halt): New proto.
9088 (GRUB_ACPI_SLP_EN): New const.
9089 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9090 (GRUB_ACPI_OPCODE_*): New enum.
9091 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9092
9093 2010-09-11 Tristan Gingold <gingold@free.fr>
9094 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9095 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 * commands/lsacpi.c: New file.
9098 * grub-core/Makefile.core.def (lsacpi): New module.
9099 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9100 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9101 (grub_acpi_madt_entry_header): New struct.
9102 (grub_acpi_madt): Likewise.
9103 (grub_acpi_madt_entry_interrupt_override): Likewise.
9104 (grub_acpi_madt_entry_sapic): Likewise.
9105 (grub_acpi_madt_entry_lsapic): Likewise.
9106 (grub_acpi_madt_entry_platform_int_source): Likewise.
9107 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9108 (PRIuGRUB_UINT32_T): Likewise.
9109 (PRIxGRUB_UINT64_T): Likewise.
9110
9111 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9112
9113 Implement loading palette on ieee1275_fb.
9114
9115 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9116 (have_setcolors): Likewise.
9117 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9118 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9119 (grub_video_ieee1275_set_palette): Implement.
9120
9121 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9122 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9123
9124 * util/grub-install.in (grub_partition): New variable.
9125 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9126 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9127 Fixes a bug reported by Yves Blusseau.
9128
9129 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9130
9131 Fix emu on mipsel.
9132
9133 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9134 =grub_cpu_flush_cache on all mips and not only yeeloong.
9135 * configure.ac (COND_mips): New conditional.
9136 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9137 platforms.
9138 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9139 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9140 [GRUB_LINKER_HAVE_INIT]: New function.
9141 (grub_emu_post_init): Likewise.
9142 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9143 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9144 * include/grub/cache.h (_mips): Include mips/cache.h.
9145 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9146 LVM and RAID prototypes.
9147 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9148 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9149 function.
9150
9151 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9152
9153 * util/grub-install.in: Don't try to verify core.img until after
9154 running grub-mkimage to create it.
9155
9156 2010-09-10 Robert Millan <rmh@gnu.org>
9157
9158 * util/grub.d/10_hurd.in: Add misc readability checks.
9159 * util/grub.d/10_kfreebsd.in: Likewise.
9160 * util/grub.d/10_linux.in: Likewise.
9161
9162 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9163
9164 * util/grub-install.in: ${imgext} won't be defined here until the
9165 install branch is merged. For the meantime, only verify core.img on
9166 i386-pc and sparc64-ieee1275 platforms.
9167
9168 2010-09-10 Robert Millan <rmh@gnu.org>
9169
9170 Solaris support in grub_find_zpool_from_dir(). Thanks
9171 Seth Goldberg for referring to getextmntent() facility.
9172
9173 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9174 `sys/mkdev.h'.
9175 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9176 `<sys/mnttab.h>'.
9177 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9178 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9179 method for finding zpool name.
9180
9181 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9182
9183 grub-fstest needs the host and hostfs modules while other utilities
9184 actively require those modules to be absent, so grub-fstest needs
9185 its own initialisation and finalisation code.
9186
9187 * Makefile.am (grub_fstest.pp): New target.
9188 (grub_fstest_init.lst): Likewise.
9189 (grub_fstest_init.c): Likewise.
9190 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9191
9192 2010-09-10 Robert Millan <rmh@gnu.org>
9193
9194 * configure.ac: Check for `struct statfs.f_fstypename' and
9195 `struct statfs.f_mntfromname'.
9196
9197 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9198 kFreeBSD-specific code.
9199
9200 2010-09-10 Robert Millan <rmh@gnu.org>
9201
9202 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9203 on ZFS. Now non-main filesystems are supported as / too.
9204
9205 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9206
9207 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9208 and grub-core/disk/host.c to ...
9209 (grub-fstest): ... here. Having the host disk implementation
9210 present confuses grub-probe and other utility programs.
9211
9212 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9213 when writing to a file, not when writing to stdout.
9214
9215 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9216
9217 * tests/partmap_test.in: New test for partitions.
9218 * Makefile.util.def: Rules for new test.
9219
9220 2010-09-09 Robert Millan <rmh@gnu.org>
9221
9222 * util/grub-probe.c (probe): Fix a pair of unhandled error
9223 conditions.
9224
9225 2010-09-09 Robert Millan <rmh@gnu.org>
9226
9227 Basic Btrfs support (detection and UUID).
9228
9229 * grub-core/fs/btrfs.c: New file.
9230 * Makefile.util.def (library): Register btrfs.c.
9231 * grub-core/Makefile.core.def: Likewise.
9232
9233 2010-09-08 Robert Millan <rmh@gnu.org>
9234
9235 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9236 with (optional) parameters to specify device and relative path.
9237 * util/grub-install.in: Use is_path_readable_by_grub() to
9238 verify readability of a few critical files.
9239 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9240 verify readability of grub.cfg.new.
9241
9242 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9243
9244 Split minix.mod into minix.mod and minix2.mod.
9245
9246 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9247 * grub-core/Makefile.core.def (minix2): New module.
9248 * grub-core/fs/minix.c: Use definitions instead of runtime version
9249 checking.
9250 * grub-core/fs/minix2.c: New file.
9251
9252 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9253
9254 Add new --boot-directory option to replace --root-directory
9255
9256 * util/grub-install.in: Add new --boot-directory option
9257 * util/grub-reboot.in: Likewise.
9258 * util/grub-set-default.in: Likewise.
9259
9260 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9261
9262 * util/grub-mkconfig.in: Use new variable.
9263
9264 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9265
9266 * configure.ac: Define some useful variables.
9267
9268 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9269
9270 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9271 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9272 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9273 Use terminfo and don't use cursor-on/cursor-off unless it's known
9274 to work.
9275 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9276 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9277
9278 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
9279
9280 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9281 starts with "(,", fill the drive containing the loaded image in
9282 between those two characters, but expect that a full partition
9283 specification including partition map names will follow.
9284
9285 2010-09-08 Robert Millan <rmh@gnu.org>
9286
9287 * configure.ac: Remove `--enable-grub-fstest' option.
9288 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9289
9290 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9291 `grub-fstest' instead of `grub-probe' for readability verification.
9292 * util/grub-probe.c (probe): Remove readability verification kludge.
9293
9294 2010-09-08 Robert Millan <rmh@gnu.org>
9295
9296 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9297 initializing `GRUB_FS'.
9298
9299 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9300
9301 Not command (!) support to GRUB script.
9302
9303 * tests/grub_script_not.in: New test.
9304 * Makefile.util.def: Rules for new test.
9305
9306 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9307 ! command as a special case.
9308 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9309
9310 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9311
9312 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9313 grub_free.
9314
9315 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9316
9317 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9318
9319 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9320
9321 * docs/grub.texi (Shell-like scripting): Documentation for break,
9322 continue, shift and return commands.
9323
9324 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9325
9326 Rename CD-ROM to cd on BIOS.
9327
9328 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9329 "cd".
9330 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9331
9332 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9335 * util/grub-probe.c (main): Likewise.
9336 * util/i386/pc/grub-setup.c (main): Likewise.
9337 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9338 Reported and debugged by: alexxy
9339
9340 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9341
9342 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9343 diagnostic info.
9344
9345 2010-09-05 Jo Shields <directhex@apebox.org>
9346
9347 * util/grub.d/30_os-prober.in: Add missing classes.
9348
9349 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9350
9351 * docs/grub.texi (Theme file format): Document new position format.
9352
9353 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9354
9355 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9356 a table. Use @code instead of @verbatim.
9357
9358 2010-09-05 Colin D Bennett <colin@gibibit.com>
9359
9360 Gfxmenu documentation.
9361
9362 * docs/grub.texi (Theme file format): New chapter.
9363
9364 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9365
9366 * grub-core/Makefile.core.def (xzio): New module.
9367 * grub-core/io/xzio.c: New file.
9368 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9369 * grub-core/lib/xzembed/xz_config.h: Likewise.
9370 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9371 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9372 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9373 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9374 * grub-core/lib/xzembed/xz_private.h: Likewise.
9375 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9376 * include/grub/file.h (grub_file_filter_id): New compression filter
9377 GRUB_FILE_FILTER_XZIO.
9378
9379 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9380
9381 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9382 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9383 size.
9384
9385 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9388 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9389
9390 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9391
9392 Uncompressed checksum support.
9393
9394 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9395 (check_list): New parameter uncompress.
9396 (grub_cmd_hashsum): Handle --uncompress.
9397
9398 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9399
9400 Reintroduce testload.
9401
9402 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9403 from here ...
9404 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9405 (GRUB_MOD_INIT): New function.
9406 (GRUB_MOD_FINI): Likewise.
9407 * grub-core/Makefile.core.def (testload): New module.
9408
9409 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9410
9411 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9412 (uint8_t): New type.
9413 (uint16_t): Likewise.
9414 (uint32_t): Likewise.
9415 (uint64_t): Likewise.
9416
9417 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9418
9419 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9420
9421 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9422
9423 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9424 Made static.
9425 (grub_gzfile_open): Removed. All users updated.
9426 (GRUB_MOD_INIT): New function.
9427 (GRUB_MOD_FINI): Likewise.
9428 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9429 (grub_file_filters_enabled): Likewise.
9430 (grub_file_open): Handle filters.
9431 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9432 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9433 * include/grub/file.h (grub_file_filter_id_t): New type.
9434 (grub_file_filter_t): Likewise.
9435 (grub_file_filters_all): New extern variable.
9436 (grub_file_filters_enabled): Likewise.
9437 (grub_file_filter_register): New inline function.
9438 (grub_file_filter_unregister): Likewise.
9439 (grub_file_filter_disable): Likewise.
9440 (grub_file_filter_disable_compression): Likewise.
9441 * include/grub/gzio.h: Removed.
9442
9443 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9444
9445 Filename expansion support for wildcards in GRUB script.
9446
9447 * tests/grub_script_expansion.in: New test.
9448 * Makefile.util.def: Rule for new test.
9449
9450 * grub-core/commands/wildcard.c: New file, implements filename
9451 expansion support for GRUB script.
9452 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9453 * grub-core/script/argv.c: Cosmetic changes.
9454 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9455 Refactored to perform wildcard expansion on arguments.
9456 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9457 struct.
9458
9459 * tests/util/grub-shell.in: Fix quoting for read input.
9460
9461 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9462
9463 Support for updating environment variables with matched substrings
9464 of regexp.
9465
9466 * tests/grub_cmd_regexp.in: New test.
9467 * Makefile.util.def: Rule for new test.
9468
9469 * grub-core/commands/regexp.c: New option -s to update environment
9470 variables with regexp matches.
9471
9472 2010-09-04 Szymon Janc <szymon@janc.net.pl>
9473
9474 * include/grub/file.h (grub_file): New member not_easly_seekable.
9475 (grub_file_seekable): New inline function.
9476 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9477 easily seekable.
9478 (grub_gzio_open): Set not_easly_seekable.
9479 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9480 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9481
9482 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9483
9484 Support for options to appear multiple times on cmdline.
9485
9486 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9487 * grub-core/commands/extcmd.c: Support for repeatable option.
9488 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9489 repeatable option support.
9490
9491 Refactor menuentry into a regular command.
9492
9493 * grub-core/commands/menuentry.c: New file, menuentry command
9494 implementation.
9495 * grub-core/Makefile.core.def: Rule update for normal.mod.
9496 * grub-core/normal/main.c: Moved menuentry creation to
9497 grub-core/commands/menuentry.c.
9498 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9499 (grub_menu_execute_entry_real): Removed.
9500 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9501 function.
9502 (grub_script_execute_menuentry): Removed.
9503 * grub-core/script/parser.y (menuentry): Removed.
9504 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9505 * grub-core/script/yylex.l (menuentry): Removed.
9506 * include/grub/menu.h (grub_menu_init): New prototype.
9507 (grub_menu_fini): New prototype.
9508 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9509 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9510 (grub_script_execute_sourcecode): New prototype.
9511
9512 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9513
9514 "return" command for GRUB script functions.
9515
9516 * tests/grub_script_return.in: New test.
9517 * Makefile.util.def: Rules for new test.
9518
9519 * grub-core/script/execute.c (grub_script_return): New function.
9520 * grub-core/script/main.c: Register/unregister return commaond.
9521 * include/grub/script_sh.h (grub_script_return): New prototype.
9522
9523 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9524
9525 "setparams" command to update positional parameters.
9526
9527 * tests/grub_script_setparams.in: New test.
9528 * Makefile.util.def: Rules for new test.
9529
9530 * grub-core/script/argv.c (grub_script_argv_make): New function.
9531 * grub-core/script/execute.c (replace_scope): New function.
9532 (grub_script_setparams): New function.
9533 * grub-core/script/lexer.c: Remove unused variables.
9534 * grub-core/script/main.c: Register/unregister setparams command.
9535 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9536 (grub_script_setparams): New prototype.
9537
9538 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9539
9540 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9541 grub_free order.
9542
9543 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9544
9545 Support for passing block of commands as an argument to extcmds.
9546
9547 * Makefile.util.def: Rules for new test.
9548 * tests/grub_script_blockarg.in: New test.
9549 * grub-core/tests/test_blockarg.c: New file, block argument
9550 command used in the test.
9551
9552 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9553 (grub_register_extcmd_prio): New function prototype.
9554 (grub_extcmd_dispatcher): New function prototype.
9555 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9556 type.
9557 * include/grub/script_sh.h (struct grub_script): New members
9558 `children', `next_siblings' and `refcnt' for block arguments and
9559 reference counting.
9560 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9561 (grub_script_arg): New member `script' for block argument.
9562 (grub_script_argv): New member `script' for block argument.
9563 (grub_parser_param): New member `scripts' for block argument.
9564 (grub_script_mem_free): New extern function prototype.
9565 (grub_script_ref): New function prototype.
9566 (grub_script_unref): New function prototype.
9567
9568 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9569 extcmd form to support block arguments.
9570 * grub-core/script/argv.c: Block arguments support.
9571 * grub-core/script/execute.c: Likewise.
9572 * grub-core/script/lexer.c: Likewise.
9573 * grub-core/script/main.c: Likewise.
9574 * grub-core/script/script.c: Likewise.
9575 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9576 non-terminals.
9577
9578 * grub-core/commands/acpi.c: Update extcmd implementations with
9579 grub_extcmd_context_t.
9580 * grub-core/commands/cat.c: Likewise.
9581 * grub-core/commands/echo.c: Likewise.
9582 * grub-core/commands/extcmd.c: Likewise.
9583 * grub-core/commands/hashsum.c: Likewise.
9584 * grub-core/commands/hdparm.c: Likewise.
9585 * grub-core/commands/help.c: Likewise.
9586 * grub-core/commands/hexdump.c: Likewise.
9587 * grub-core/commands/i386/cpuid.c: Likewise.
9588 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9589 * grub-core/commands/i386/pc/halt.c: Likewise.
9590 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9591 * grub-core/commands/iorw.c: Likewise.
9592 * grub-core/commands/keystatus.c: Likewise.
9593 * grub-core/commands/loadenv.c: Likewise.
9594 * grub-core/commands/ls.c: Likewise.
9595 * grub-core/commands/lspci.c: Likewise.
9596 * grub-core/commands/memrw.c: Likewise.
9597 * grub-core/commands/probe.c: Likewise.
9598 * grub-core/commands/search_wrap.c: Likewise.
9599 * grub-core/commands/setpci.c: Likewise.
9600 * grub-core/commands/sleep.c: Likewise.
9601 * grub-core/disk/loopback.c: Likewise.
9602 * grub-core/hello/hello.c: Likewise.
9603 * grub-core/loader/i386/bsd.c: Likewise.
9604 * grub-core/loader/xnu.c: Likewise.
9605 * grub-core/term/gfxterm.c: Likewise.
9606 * grub-core/term/serial.c: Likewise.
9607 * grub-core/tests/lib/functional_test.c: Likewise.
9608
9609 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9610
9611 Multi-line quoted strings support.
9612
9613 * grub-core/script/lexer.c (append_newline): Removed.
9614 (grub_script_lexer_yywrap): Refactored.
9615 (grub_script_lexer_init): Refactored.
9616 * grub-core/script/yylex.l (yywrap): New function.
9617 (grub_lexer_resplit): New function.
9618 (grub_lexer_unput): New function.
9619 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9620 and resplit.
9621 * tests/grub_script_echo1.in: Added few more testcases.
9622
9623 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9624
9625 * grub-core/kern/misc.c: Don't add abort alias in utils.
9626 Reported by: echoline.
9627
9628 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9629
9630 Add missing files into "make dist" tarball for other platforms.
9631
9632 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9633 * conf/Makefile.common (dist_noinst_DATA): New variable.
9634 * conf/Makefile.extra-dist: Added missing make dist files.
9635 * grub-core/Makefile.core.def: Likewise.
9636
9637 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9638
9639 Compress grub_prefix.
9640
9641 * grub-core/boot/i386/pc/lnxboot.S: Use
9642 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9643 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9644 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9645 GRUB_MACHINE_PREFIX_END. All users updated.
9646 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9647 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9648 + 0x40.
9649 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9650 * util/grub-mkimage.c (image_target_desc): Change data_end to
9651 prefix_end. All users updated.
9652
9653 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9654
9655 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9656 value.
9657 (grub_openbsd_boot): Likewise.
9658 (grub_netbsd_boot): Likewise.
9659 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9660 (grub_xnu_boot): Likewise.
9661
9662 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9663
9664 * configure.ac: Clean LIBS variable after tests.
9665
9666 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9667
9668 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9669
9670 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9671
9672 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9673 echo if libdevmapper will be used.
9674
9675 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9676
9677 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9678 constant for the same file.
9679
9680 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9681
9682 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9683
9684 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9685
9686 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9687 grub-core/*.pp.
9688
9689 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9690
9691 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9692 required by the boot protocol.
9693
9694 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9695 ebp and edi members.
9696 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9697 state.ebp and state.edi.
9698 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9699 %ebp and %edi according to grub_relocator32_ebp and
9700 grub_relocator32_edi respectively.
9701 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9702 and state.edi.
9703
9704 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 Add i386-pc-pxe image target.
9707
9708 * util/grub-mkimage.c (image_target_desc): New enum value
9709 IMAGE_I386_PC_PXE.
9710 (image_targets): New target i386-pc-pxe.
9711 (generate_image): Handle i386-pc-pxe image.
9712
9713 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 Fix grub_pxe_scan.
9716
9717 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9718 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9719 All users updated.
9720 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9721 (grub_pxe_pxenv): Correct type.
9722
9723 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9724
9725 * NEWS: Document most of the important changes since 1.98.
9726
9727 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9728
9729 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9730 generated manual page) a little.
9731
9732 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9733
9734 * docs/grub.texi: Add myself as an author.
9735
9736 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * Makefile.util.def (libgrub.a): Add missing sunpc.
9739 Reported by: Seth Goldberg.
9740
9741 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9742
9743 Interrupt wrapping and code simplifications.
9744
9745 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
9746 x86_noieee1275 which are functionaly equivalent in this case.
9747 (grub-install): Make source on each platform explicit. Enable on
9748 all noemu.
9749 * gentpl.py (x86_efi_pc): Removed group.
9750 (x86_noefi): Likewise.
9751 (i386_noefi): Likewise.
9752 (x86_noieee1275): Likewise.
9753 (i386_noieee1275): Likewise.
9754 (i386_noefi_noieee1275): Likewise.
9755 (i386_pc_qemu_coreboot): Likewise.
9756 (i386_coreboot_multiboot): Likewise.
9757 (i386_pc_coreboot_multiboot_qemu): Likewise.
9758 (x86_noefi_mips): Likewise.
9759 (noieee1275): Likewise.
9760 (ieee1275_mips): Likewise.
9761 (noemu_noieee1275): Likewise.
9762 (cmos): New group.
9763 (usb): Likewise.
9764 (videoinkernel): Likewise.
9765 (videomodules): Likewise.
9766 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9767 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
9768 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
9769 include/grub/loader.h, include/grub/msdos_partition.h,
9770 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
9771 include/grub/machine/console.h, include/grub/machine/vga.h,
9772 include/grub/machine/vbe.h, include/grub/machine/init.h,
9773 include/grub/machine/kernel.h, include/grub/cpu/time.h,
9774 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
9775 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9776 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
9777 * grub-core/Makefile.core.def (kernel): Explicit the source for
9778 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
9779 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
9780 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
9781 Use videoinkernel tag.
9782 (usb): Enable on all usb.
9783 (usbserial_common): Likewise.
9784 (usbserial_pl2303): Likewise.
9785 (usbserial_ftdi): Likewise.
9786 (uhci): Enable on all x86.
9787 (ohci): Enable on all pci.
9788 (cmostest): Enable on all CMOS.
9789 (acpi): Include commands/acpi.c on all platforms.
9790 (halt): Add relevant lib/*/halt.c.
9791 (hdparm): Enable on all pci.
9792 (lspci): Likewise.
9793 (usbtest): Enable on all usb.
9794 (ata): Enable on all pci.
9795 (ata_pthru): Likewise.
9796 (usbms): Enable on all usb.
9797 (usb_keyboard): Likewise.
9798 (font): Use tag videomodules.
9799 (bufio): Likewise.
9800 (datetime): Use tag cmos. Enable on all noemu.
9801 (mmap): Use tags common and x86.
9802 (gfxterm): Use tag videomodules.
9803 (bitmap): Likewise.
9804 (bitmap_scale): Likewise.
9805 (video_fb): Likewise.
9806 (video): Likewise.
9807 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
9808 adjust padding accordingly. All users updated.
9809 (grub_ohci_transaction): Fix bad format specification.
9810 (GRUB_MOD_INIT): Add asserts for struct size.
9811 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
9812 (grub_alloc_td): Likewise.
9813 (grub_free_queue): Likewise.
9814 (grub_uhci_transfer): Likewise.
9815 (grub_uhci_transaction): Fix bad format specification.
9816 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9817 (grub_usb_bulk_readwrite): Likewise.
9818 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
9819 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
9820 Made static.
9821 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
9822 Made static.
9823 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
9824 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
9825 Transformed into C.
9826 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
9827 Moved from here ...
9828 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
9829 ... here. Transformed into C. Made static.
9830 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
9831 Moved from here ...
9832 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
9833 ... here. Transformed into C. Made static.
9834 * grub-core/kern/i386/pc/startup.S
9835 (grub_biosdisk_check_int13_extensions): Moved from here ...
9836 * grub-core/disk/i386/pc/biosdisk.c
9837 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
9838 Made static.
9839 * grub-core/kern/i386/pc/startup.S
9840 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
9841 * grub-core/disk/i386/pc/biosdisk.c
9842 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
9843 Transformed into C. Made static.
9844 * grub-core/kern/i386/pc/startup.S
9845 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
9846 * grub-core/disk/i386/pc/biosdisk.c
9847 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
9848 Transformed into C. Made static.
9849 * grub-core/kern/i386/pc/startup.S
9850 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
9851 * grub-core/disk/i386/pc/biosdisk.c
9852 (grub_biosdisk_get_diskinfo_standard): ... here.
9853 Transformed into C. Made static.
9854 * grub-core/kern/i386/pc/startup.S
9855 (grub_biosdisk_get_num_floppies): Moved from here ...
9856 * grub-core/disk/i386/pc/biosdisk.c
9857 (grub_biosdisk_get_num_floppies): ... here.
9858 Transformed into C. Made static.
9859 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
9860 New function.
9861 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
9862 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
9863 Transformed into C. Made static.
9864 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
9865 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
9866 Transformed into C. Made static.
9867 * grub-core/kern/i386/ieee1275/init.c: Removed.
9868 * grub-core/kern/i386/misc.S: Likewise.
9869 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
9870 Splitted from here ...
9871 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
9872 Transformed into C. Made static. All users updated.
9873 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
9874 Transformed into C. Made static. All users updated.
9875 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
9876 Moved from here...
9877 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
9878 Transformed into C. Made static. All users updated.
9879 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
9880 Moved from here...
9881 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
9882 Transformed into C. Made static. All users updated.
9883 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
9884 Removed (replaced by C version).
9885 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
9886 Moved from here...
9887 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
9888 Transformed into C. Made static.
9889 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
9890 Moved from here...
9891 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
9892 ... here. Transformed into C.
9893 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
9894 Moved from here...
9895 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
9896 ... here. Transformed into C.
9897 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
9898 Moved from here...
9899 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
9900 ... here. Transformed into C. Made static.
9901 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
9902 Moved from here...
9903 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
9904 ... here. Transformed into C.
9905 * grub-core/kern/i386/pc/startup.S
9906 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
9907 * grub-core/video/i386/pc/vbe.c
9908 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9909 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
9910 Moved from here...
9911 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
9912 ... here. Transformed into C.
9913 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
9914 Moved from here...
9915 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
9916 ... here. Transformed into C.
9917 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
9918 Moved from here...
9919 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
9920 ... here. Transformed into C.
9921 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
9922 Moved from here...
9923 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
9924 ... here. Transformed into C.
9925 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
9926 Moved from here...
9927 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
9928 ... here. Transformed into C. Made static.
9929 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
9930 Moved from here...
9931 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
9932 ... here. Transformed into C. Made static.
9933 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
9934 Moved from here...
9935 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
9936 ... here. Transformed into C. Made static.
9937 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
9938 pxe_rm_entry as third argument.
9939 (grub_bios_interrupt): New function.
9940 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
9941 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
9942 of calling grub_stop.
9943 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
9944 * grub-core/lib/efi/halt.c (grub_halt): ...here.
9945 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
9946 * grub-core/lib/emu/halt.c (grub_halt): ... here.
9947 * grub-core/lib/i386/halt.c: Moved from here ...
9948 * grub-core/lib/i386/halt.c: ... here.
9949 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
9950 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
9951 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
9952 grub_stop_floppy.
9953 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
9954 * include/grub/i386/coreboot/init.h: Removed.
9955 * include/grub/i386/multiboot/init.h: Likewise.
9956 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
9957 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
9958 * include/grub/i386/pc/int.h: New file.
9959 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
9960 (grub_pxe_scan): Removed.
9961 (grub_pxe_call): Update prototype.
9962 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
9963 prototypes.
9964 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
9965 * include/grub/i386/qemu/init.h: Removed.
9966 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
9967 noreturn.
9968 (grub_halt): Likewise.
9969 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
9970 (grub_reboot): Likewise.
9971 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
9972 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
9973 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
9974
9975 2010-08-30 Robert Millan <rmh@gnu.org>
9976
9977 * NEWS: Document addition of ZFS support in `grub-install' and
9978 `grub-mkconfig'.
9979
9980 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
9981
9982 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
9983 dprintf output.
9984
9985 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 Remove leftover embedding of font objects.
9988
9989 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9990 * util/grub-install.in (font): Removed.
9991 * util/grub-mkimage.c (generate_image): Remove font support. All users
9992 updated.
9993
9994 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9995
9996 Remove leftover embedding of font objects.
9997
9998 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9999 * util/grub-install.in (font): Removed.
10000 * util/grub-mkimage.c (generate_image): Remove font support. All users
10001 updated.
10002
10003 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10004
10005 * docs/grub.texi (Network): Fix reference to pxe_blksize.
10006 Reported by: Ian Turner
10007
10008 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
10011 timeout to avoid indefinite boot stalling.
10012
10013 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
10016 (grub_env_write_color_highlight): Likewise.
10017
10018 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10019
10020 * grub-core/normal/term.c (print_more): Return to normal and not
10021 to standard state after printing "---MORE---".
10022
10023 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
10024
10025 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
10026 Mask out the bit 0x80 since it has other meaning that specifiing color.
10027
10028 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10029
10030 New relocator. Allows for more kernel support and more straightforward
10031 loader writing.
10032
10033 * Makefile.am (BOOTTARGET): New variable.
10034 (QEMU32): Likewise.
10035 (linux.init.x86_64): New target.
10036 (linux.init.i386): Likewise.
10037 (multiboot.elf): Likewise.
10038 (kfreebsd.elf): Likewise.
10039 (kfreebsd.aout): Likewise.
10040 (pc-chainloader.elf): Likewise.
10041 (pc-chainloader.bin): Likewise.
10042 (ntldr.elf): Likewise.
10043 (ntldr.bin): Likewise.
10044 (multiboot2.elf): Likewise.
10045 (kfreebsd.init.x86_64): Likewise.
10046 (kfreebsd.init.i386): Likewise.
10047 (knetbsd.init.i386): Likewise.
10048 (kopenbsd.init.i386): Likewise.
10049 (knetbsd.init.x86_64): Likewise.
10050 (kopenbsd.init.x86_64): Likewise.
10051 (linux-initramfs.i386): Likewise.
10052 (linux-initramfs.x86_64): Likewise.
10053 (kfreebsd-mfsroot.i386.img): Likewise.
10054 (knetbsd.image.i386): Likewise.
10055 (kopenbsd.image.i386): Likewise.
10056 (kopenbsd.image.x86_64): Likewise.
10057 (knetbsd.miniroot-image.i386.img): Likewise.
10058 (kfreebsd-mfsroot.x86_64.img): Likewise.
10059 (knetbsd.image.x86_64): Likewise.
10060 (knetbsd.miniroot-image.x86_64.img): Likewise.
10061 (kfreebsd-mfsroot.i386.gz): Likewise.
10062 (bootcheck-kfreebsd-i386): Likewise.
10063 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10064 (bootcheck-kfreebsd-x86_64): Likewise.
10065 (knetbsd.miniroot-image.i386.gz): Likewise.
10066 (bootcheck-knetbsd-i386): Likewise.
10067 (bootcheck-kopenbsd-i386): Likewise.
10068 (bootcheck-kopenbsd-x86_64): Likewise.
10069 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10070 (bootcheck-knetbsd-x86_64): Likewise.
10071 (bootcheck-linux-i386): Likewise.
10072 (bootcheck-linux-x86_64): Likewise.
10073 (bootcheck-linux16-i386): Likewise.
10074 (bootcheck-linux16-x86_64): Likewise.
10075 (bootcheck-multiboot): Likewise.
10076 (bootcheck-multiboot2): Likewise.
10077 (bootcheck-kfreebsd-aout): Likewise.
10078 (bootcheck-pc-chainloader): Likewise.
10079 (bootcheck-ntldr): Likewise.
10080 (CLEANFILES): Add new targets.
10081 (BOOTCHECKS): New variable.
10082 (.PHONY): Add bootchecks.
10083 (SUCCESSFUL_BOOT_STRING): New variable.
10084 (BOOTCHECK_TIMEOUT): Likewise.
10085 (bootcheck): New target
10086 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10087 * configure.ac: Correct efiemu excuse.
10088 * docs/grub.texi (Supported kernels): New chapter.
10089 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10090 include/grub/mm_private.h. Simplify inclusion of
10091 include/grub/boot.h, include/grub/loader.h
10092 and include/grub/msdos_partition.h
10093 (KERNEL_HEADER_FILES) [i386_coreboot]:
10094 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10095 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10096 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10097 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10098 include/grub/machine/loader.h.
10099 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10100 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10101 extra_dist.
10102 (pci.mod): Enable on i386-multiboot.
10103 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10104 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10105 i386-qemu.
10106 (relocator.mod): Rewritten.
10107 (aout.mod): Enable on all x86.
10108 (bsd.mod): Likewise.
10109 (ntldr.mod): New module.
10110 (linux.mod): Use loader/i386/linux.c on all x86.
10111 (xnu.mod): Enable on all x86.
10112 (vga_text.mod): disable on EFI and QEMU.
10113 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10114 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10115 * grub-core/efiemu/loadcore.c: Likewise.
10116 * grub-core/efiemu/main.c: Likewise.
10117 (grub_efiemu_exit_boot_services): Removed.
10118 (grub_efiemu_finish_boot_services): Likewise.
10119 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10120 function.
10121 * grub-core/efiemu/i386/nocfgtables.c: New file.
10122 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10123 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10124 (grub_efi_finish_boot_services): Moved from here ...
10125 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10126 Fille finish memory map and related data.
10127 (finish_mmap_buf): New variable.
10128 (grub_efi_uintn_t finish_mmap_size): Likewise.
10129 (grub_efi_uintn_t finish_key): Likewise.
10130 (grub_efi_uintn_t finish_desc_size): Likewise.
10131 (grub_efi_uint32_t finish_desc_version): Likewise.
10132 (grub_efi_is_finished): Likewise.
10133 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10134 finished.
10135 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10136 (grub_elf64_phdr_iterate): Likewise.
10137 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10138 (grub_os_area_size): Likewise.
10139 (grub_machine_init): Don't reserve os area.
10140 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10141 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10142 * grub-core/kern/i386/loader.S: Removed.
10143 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10144 (grub_os_area_size): Likewise.
10145 (grub_machine_init): Don't reserve os area.
10146 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10147 Don't call grub_dl_unload_all.
10148 Don't include loader.S.
10149 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10150 Declare the memory after _end as available.
10151 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10152 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10153 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10154 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10155 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10156 * include/grub/mm_private.h (grub_mm_header): ... here.
10157 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10158 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10159 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10160 (grub_mm_region): ..here. Removed addr. Added pre_size.
10161 All users updated.
10162 * grub-core/kern/mm.c (base): Renamed to ...
10163 (grub_mm_base): ... this. Made global.
10164 (grub_real_malloc): Alloc from end of region.
10165 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10166 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10167 * grub-core/kern/powerpc/cache_flush.S: ... here.
10168 * grub-core/lib/efi/relocator.c: New file.
10169 * grub-core/lib/i386/relocator.c: Rewritten.
10170 * grub-core/lib/i386/relocator16.S: New file.
10171 * grub-core/lib/i386/relocator32.S: Likewise.
10172 * grub-core/lib/i386/relocator64.S: Likewise.
10173 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10174 * grub-core/lib/i386/relocator_common.S: New file.
10175 * grub-core/lib/ieee1275/relocator.c: Likewise.
10176 * grub-core/lib/mips/relocator.c: Rewritten.
10177 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10178 stylistic adjustments.
10179 * grub-core/lib/powerpc/relocator.c: New file.
10180 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10181 * grub-core/lib/relocator.c: Rewritten.
10182 * grub-core/lib/x86_64/relocator_asm.S: New file.
10183 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10184 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10185 (bsd_tag): New struct.
10186 (tags): New variable.
10187 (tags_last): Likewise.
10188 (netbsd_module): New struct.
10189 (netbsd_mods): New variable.
10190 (netbsd_mods_last): Likewise.
10191 (openbsd_opts): New parameter "serial".
10192 (OPENBSD_SERIAL_ARG): New definition.
10193 (netbsd_opts): New parameter "serial".
10194 (NETBSD_SERIAL_ARG): New definition.
10195 (grub_freebsd_add_meta): Reorganised into ...
10196 (grub_bsd_add_meta): ...this. All users updated.
10197 (grub_freebsd_add_mmap): Reorganised into ...
10198 (generate_e820_mmap): ...this...
10199 (grub_bsd_add_mmap): ...and this. All users updated.
10200 (grub_freebsd_list_modules): Use tags.
10201 (grub_netbsd_add_meta_module): New function.
10202 (grub_netbsd_list_modules): Likewise.
10203 (grub_freebsd_boot): Use relocator and finish EFI.
10204 (grub_openbsd_boot): Likewise.
10205 (grub_netbsd_setup_video): New function.
10206 (grub_netbsd_add_modules): Likewise.
10207 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10208 and finish EFI.
10209 (grub_bsd_unload): Unload tags.
10210 (grub_bsd_load_aout): Use relocator.
10211 (grub_bsd_elf32_size_hook): New function.
10212 (grub_bsd_elf32_hook): Use relocator.
10213 (grub_bsd_elf64_size_hook): New function.
10214 (grub_bsd_elf64_hook): Use relocator.
10215 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10216 (grub_bsd_load): Zero-out openbsd_ramdisk.
10217 (grub_bsd_load): Use relocator.
10218 (grub_cmd_openbsd): Support serial.
10219 (grub_cmd_netbsd): Support modules.
10220 (grub_cmd_freebsd_module): Use relocator.
10221 (grub_netbsd_module_load): New function.
10222 (grub_cmd_netbsd_module): Likewise.
10223 (grub_cmd_openbsd_ramdisk): Likewise.
10224 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10225 kopenbsd_ramdisk.
10226 (GRUB_MOD_FINI): Unregister new commands.
10227 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10228 (grub_freebsd_load_elfmodule_obj): Use relocator.
10229 (grub_freebsd_load_elfmodule): Likewise.
10230 (grub_freebsd_load_elf_meta): Likewise.
10231 (grub_netbsd_load_elf_meta): New function.
10232 (grub_openbsd_find_ramdisk): Likewise.
10233 * grub-core/loader/i386/bsd_helper.S: Removed.
10234 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10235 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10236 * grub-core/loader/i386/efi/linux.c: Likewise.
10237 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10238 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10239 (DEFAULT_VIDEO_MODE): Likewise.
10240 (real_mode_target): New variable.
10241 (prot_mode_target): Likewise.
10242 (initrd_mem_target): Likewise.
10243 (relocator): Likewise.
10244 (efi_mmap_buf): Likewise.
10245 (efi_mmap_size): Likewise.
10246 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10247 (free_pages): Use relocator.
10248 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10249 (grub_linux_setup_video): Return error.
10250 (grub_linux_trampoline_start): Removed.
10251 (grub_linux_trampoline_end): Likewise.
10252 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10253 andd video parameters depending on firmware.
10254 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10255 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10256 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10257 (grub_cmd_initrd): Use relocator.
10258 * grub-core/loader/i386/linux_trampoline.S: Removed.
10259 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10260 (elf_sec_entsize): Likewise.
10261 (elf_sec_shstrndx): Likewise.
10262 (elf_sections): Likewise.
10263 (grub_multiboot_load): Use relocator.
10264 (grub_multiboot_get_mbi_size): Account for sections.
10265 (grub_multiboot_make_mbi): Use relocator and support sections.
10266 (grub_multiboot_add_elfsyms): New function.
10267 (grub_multiboot_free_mbi): Free sections.
10268 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10269 (grub_linux_real_target): Likewise.
10270 (grub_linux_real_chunk): Likewise.
10271 (grub_linux16_prot_size): Likewise.
10272 (grub_linux16_boot): Use relocator.
10273 (grub_linux_unload): Unload relocator.
10274 (grub_cmd_linux): Use relocator.
10275 (grub_cmd_initrd): Likewise.
10276 * grub-core/loader/i386/pc/ntldr.c: New file.
10277 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10278 Don't try to guess CPU frequency.
10279 (grub_xnu_set_video): Stretch bitmap.
10280 (grub_xnu_boot): Use relocator.
10281 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10282 (grub_linux_unload): Free relocator.
10283 (grub_linux_load32): Use relocator.
10284 (grub_linux_load64): Likewise.
10285 (grub_cmd_initrd): Likewise.
10286 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10287 (grub_multiboot_unload): Unload relocator.
10288 (grub_cmd_multiboot): Use relocator.
10289 (grub_cmd_module): Likewise.
10290 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10291 Use relocator and support sections.
10292 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10293 (elf_sec_entsize): Likewise.
10294 (elf_sec_shstrndx): Likewise.
10295 (elf_sections): Likewise.
10296 (grub_multiboot_load): Use relocator.
10297 (grub_multiboot_get_mbi_size): Account for sections.
10298 (grub_multiboot_make_mbi): Use relocator and support sections.
10299 (grub_multiboot_add_elfsyms): New function.
10300 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10301 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10302 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10303 Prototype changed. All users updated.
10304 (grub_xnu_align_heap): Simplified.
10305 (grub_xnu_writetree_toheap): Likewise.
10306 (grub_xnu_unload): Unload relocator.
10307 (grub_cmd_xnu_kernel): Use relocator.
10308 (grub_cmd_xnu_kernel64): Likewise.
10309 (grub_xnu_register_memory): Simplified.
10310 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
10311 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10312 EFI is finished.
10313 (grub_console_checkkey): Likewise.
10314 (grub_console_getkey): Likewise.
10315 (grub_console_getwh): Likewise.
10316 (grub_console_getxy): Likewise.
10317 (grub_console_gotoxy): Likewise.
10318 (grub_console_cls): Likewise.
10319 (grub_console_setcolorstate): Likewise.
10320 (grub_console_setcursor): Likewise.
10321 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10322 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10323 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10324 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10325 * grub-core/tests/boot/kernel-8086.S: Likewise.
10326 * grub-core/tests/boot/kernel-i386.S: Likewise.
10327 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10328 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10329 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10330 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10331 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10332 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10333 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10334 * grub-core/tests/boot/linux.cfg: Likewise.
10335 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10336 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10337 * grub-core/tests/boot/linux16.cfg: Likewise.
10338 * grub-core/tests/boot/multiboot.cfg: Likewise.
10339 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10340 * grub-core/tests/boot/ntldr.cfg: Likewise.
10341 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10342 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10343 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10344 New definition.
10345 * include/grub/dl.h (grub_dl_unload_all): Removed.
10346 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10347 (grub_efi_finish_boot_services): Change prototype.
10348 (grub_efi_is_finished): New variable.
10349 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10350 Changed prototype.
10351 (grub_efiemu_finish_boot_services): Removed.
10352 (grub_machine_efiemu_init_tables): New prototype.
10353 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10354 (grub_elf64_phdr_iterate): Likewise.
10355 * include/grub/i386/bsd.h: Include relocator.h.
10356 (freebsd_tag_header): New struct.
10357 (grub_openbsd_bios_mmap): Removed.
10358 (grub_unix_real_boot): Removed.
10359 (grub_freebsd_load_elfmodule32): Changed prototype.
10360 (grub_freebsd_load_elfmodule_obj64): Likewise.
10361 (grub_freebsd_load_elf_meta32): Likewise.
10362 (grub_freebsd_load_elf_meta64): Likewise.
10363 (grub_freebsd_add_meta): Removed.
10364 (grub_netbsd_load_elf_meta32): New prototype.
10365 (grub_netbsd_load_elf_meta64): Likewise.
10366 (grub_bsd_add_meta): Likewise.
10367 (grub_openbsd_ramdisk_descriptor): New struct.
10368 (grub_openbsd_find_ramdisk32): New prototype.
10369 (grub_openbsd_find_ramdisk64): Likewise.
10370 * include/grub/i386/coreboot/loader.h: Removed.
10371 * include/grub/i386/efi/loader.h: Likewise.
10372 * include/grub/i386/ieee1275/loader.h: Likewise.
10373 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10374 to grub_uint32_t.
10375 * include/grub/i386/loader.h: Removed.
10376 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10377 value.
10378 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10379 (grub_phys_addr_t): New type.
10380 (grub_vtop): New inline function.
10381 (grub_map_memory): Likewise.
10382 (grub_unmap_memory): Likewise.
10383 * include/grub/i386/multiboot/loader.h: Removed.
10384 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10385 (NETBSD_BTINFO_CONSOLE): New definition.
10386 (NETBSD_BTINFO_SYMTAB): Likewise.
10387 (NETBSD_BTINFO_MODULES): Likewise.
10388 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10389 (grub_netbsd_bootinfo): New struct.
10390 (grub_netbsd_btinfo_common): Use explicit bitsize.
10391 (grub_netbsd_btinfo_mmap_entry): Removed.
10392 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10393 (grub_netbsd_btinfo_bootdisk): New struct.
10394 (grub_netbsd_btinfo_symtab): Likewise.
10395 (grub_netbsd_btinfo_serial): Likewise.
10396 (grub_netbsd_btinfo_modules): Likewise.
10397 (grub_netbsd_btinfo_framebuf): Likewise.
10398 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10399 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10400 Likewise.
10401 (grub_openbsd_bootargs): Use explicit bitsize.
10402 (grub_openbsd_bootarg_console): New struct.
10403 (GRUB_OPENBSD_COM_MAJOR): New definition.
10404 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10405 * include/grub/i386/pc/efiemu.h: Removed.
10406 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10407 * include/grub/i386/qemu/loader.h: Removed.
10408 * include/grub/i386/relocator.h: Rewritten.
10409 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10410 * include/grub/mips/memory.h: New file.
10411 * include/grub/mips/multiboot.h: Rewritten.
10412 * include/grub/mips/relocator.h: Rewritten.
10413 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10414 (grub_vtop): New function.
10415 (grub_map_memory): Likewise.
10416 (grub_unmap_memory): Likewise.
10417 * include/grub/misc.h (ALIGN_DOWN): New definition.
10418 * include/grub/mm.h (grub_mm_check_real): New proto.
10419 (GRUB_MM_CHECK): New definition.
10420 * include/grub/mm_private.h: New file.
10421 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10422 (grub_multiboot_get_mbi_size): Removed.
10423 (grub_multiboot_make_mbi): Change prottype.
10424 (grub_multiboot_set_accepts_video): New proto.
10425 (grub_multiboot_add_elfsyms): Likewise.
10426 (grub_multiboot_payload_eip): New variable.
10427 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10428 New prototype.
10429 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10430 New definition.
10431 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10432 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10433 * include/grub/powerpc/ieee1275/loader.h: Removed.
10434 * include/grub/powerpc/memory.h: New file.
10435 * include/grub/powerpc/relocator.h: Likewise.
10436 * include/grub/relocator.h: Likewise.
10437 * include/grub/relocator_private.h: Likewise.
10438 * include/grub/sparc64/ieee1275/loader.h: Removed.
10439 * include/grub/x86_64/memory.h: New file.
10440 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10441 (grub_xnu_heap_malloc): Likewise.
10442 (grub_xnu_heap_real_start): Removed.
10443 (grub_xnu_heap_start): Likewise.
10444 (grub_xnu_relocator): New variable.
10445 (grub_xnu_heap_target_start): Likewise.
10446 * tests/util/grub-shell.in: Support non-pc.
10447 * util/grub-mkimage.c (image_targets): Fix multiboot target.
10448
10449 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10450
10451 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10452 on malloc error.
10453 (grub_bidi_logical_to_visual): Check that malloc succeded.
10454 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10455 puts.
10456 (grub_xputs_normal): Likewise.
10457
10458 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10461 extra_dist.
10462
10463 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10466
10467 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10470
10471 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10472
10473 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10474 dprintf.
10475
10476 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10477
10478 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10479
10480 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * grub-core/normal/term.c (print_more): Fix a memory leak.
10483 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10484 (grub_xputs_normal): Likewise.
10485
10486 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10487
10488 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10489 the begining of the string
10490
10491 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10492
10493 * grub-core/script/script.c (grub_script_parse): Free parsed on
10494 failure.
10495
10496 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10499 on failure.
10500
10501 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10504 return.
10505
10506 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10509 (scroll_up): Fix a memory leak.
10510
10511 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10514 errors.
10515
10516 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10517
10518 Handle USB pendrives exposed as floppies.
10519
10520 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10521 floppy.
10522 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10523 Check for partitions on all devices.
10524
10525 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10526
10527 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10528 (readkey): Likewise.
10529
10530 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10531
10532 Multiple variable names support to "export" command.
10533
10534 * normal/context.c (grub_cmd_export): "export" command supports
10535 multiple variable names.
10536
10537 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10538
10539 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10540 --target=drive output to Mach device name.
10541
10542 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10543
10544 New Automake based build system for GRUB.
10545
10546 * ABOUT-NLS: New file.
10547 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10548 in Makefile.util.def file.
10549 * Makefile.util.def: New file. Autogen build definitions file for
10550 GRUB host utils.
10551 * conf/Makefile.common: New file. Common variables for GRUB host
10552 utils and target modules.
10553 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10554 * docs/Makefile.am: New file. Automake file for docs.
10555 * gentpl.py: New file. Python script to generate Autogen
10556 template.
10557 * grub-core/Makefile.am: New file. GRUB target modules' rules
10558 that doesn't fit in Makefile.core.def file.
10559 * grub-core/Makefile.core.def: New file. Autogen build
10560 definitions file for GRUB target modules.
10561 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10562 specific setjmp.S file.
10563 * po/Makefile.am: New file.
10564
10565 * .bzrignore: New ignores.
10566 * INSTALL: New requirements, without Ruby.
10567 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10568 * autogen.sh: Updated to invoke autogen as necessary.
10569 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10570 and defines for Automake conditionals.
10571 * geninit.sh: Refactoring.
10572
10573 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10574 necessary.
10575 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10576 New prototype.
10577
10578 * include/grub/test.h: Fix functional test modules' naming.
10579 * grub-core/tests/example_functional_test.c: Fix test module name.
10580
10581 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10582 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10583 * util/grub-editenv.c: Likewise.
10584 * util/grub-fstest.c: Likewise.
10585 * util/grub-mkdevicemap.c: Likewise.
10586 * util/grub-mkfont.c: Likewise.
10587 * util/grub-mkimage.c: Likewise.
10588 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10589 * util/grub-probe.c: Likewise.
10590 * util/grub-script-check.c: Likewise.
10591 * util/i386/pc/grub-setup.c: Likewise.
10592 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10593
10594 * tests/util/grub-shell.in: Fix override directory path.
10595 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10596 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10597
10598 * util/lvm.c: Update #includes.
10599 * util/raid.c: Likewise.
10600 * util/resolve.c: Likewise.
10601 * grub-core/bus/emu/pci.c: Likewise.
10602 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10603 * grub-core/lib/posix_wrap/string.h: Likewise.
10604 * grub-core/kern/emu/main.c: Likewise.
10605
10606 * grub-core/gensymlist.sh: New file. Script for generating kernel
10607 symbols file.
10608 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10609
10610 * grub-core/gentrigtables.c: Fix unused variable warnings.
10611
10612 * Makefile.in: Removed.
10613 * conf/any-emu.rmk: Removed.
10614 * conf/common.rmk: Removed.
10615 * conf/i386-coreboot.rmk: Removed.
10616 * conf/i386-efi.rmk: Removed.
10617 * conf/i386-ieee1275.rmk: Removed.
10618 * conf/i386-multiboot.rmk: Removed.
10619 * conf/i386-pc.rmk: Removed.
10620 * conf/i386-qemu.rmk: Removed.
10621 * conf/i386.rmk: Removed.
10622 * conf/mips-yeeloong.rmk: Removed.
10623 * conf/mips.rmk: Removed.
10624 * conf/powerpc-ieee1275.rmk: Removed.
10625 * conf/sparc64-ieee1275.rmk: Removed.
10626 * conf/tests.rmk: Removed.
10627 * conf/x86-efi.rmk: Removed.
10628 * conf/x86_64-efi.rmk: Removed.
10629 * gendistlist.sh: Removed.
10630 * geninitheader.sh: Removed.
10631 * genkernsyms.sh.in: Removed.
10632 * genmk.rb: Removed.
10633 * gensymlist.sh.in: Removed.
10634 * mkinstalldirs: Removed.
10635 * boot: Moved ...
10636 * grub-core/boot: ... to here.
10637 * bus: Moved ...
10638 * grub-core/bus: ... to here.
10639 * commands: Moved ...
10640 * grub-core/commands: ... to here.
10641 * disk: Moved ...
10642 * grub-core/disk: ... to here.
10643 * efiemu: Moved ...
10644 * grub-core/efiemu: ... to here.
10645 * font: Moved ...
10646 * grub-core/font: ... to here.
10647 * fs: Moved ...
10648 * grub-core/fs: ... to here.
10649 * gencmdlist.sh: Moved ...
10650 * grub-core/gencmdlist.sh: ... to here.
10651 * genemuinit.sh: Moved ...
10652 * grub-core/genemuinit.sh: ... to here.
10653 * genemuinitheader.sh: Moved ...
10654 * grub-core/genemuinitheader.sh: ... to here.
10655 * genfslist.sh: Moved ...
10656 * grub-core/genfslist.sh: ... to here.
10657 * genhandlerlist.sh: Moved ...
10658 * grub-core/genhandlerlist.sh: ... to here.
10659 * genmoddep.awk: Moved ...
10660 * grub-core/genmoddep.awk: ... to here.
10661 * genmodsrc.sh: Moved ...
10662 * grub-core/genmodsrc.sh: ... to here.
10663 * genpartmaplist.sh: Moved ...
10664 * grub-core/genpartmaplist.sh: ... to here.
10665 * genparttoollist.sh: Moved ...
10666 * grub-core/genparttoollist.sh: ... to here.
10667 * genterminallist.sh: Moved ...
10668 * grub-core/genterminallist.sh: ... to here.
10669 * gentrigtables.c: Moved ...
10670 * grub-core/gentrigtables.c: ... to here.
10671 * genvideolist.sh: Moved ...
10672 * grub-core/genvideolist.sh: ... to here.
10673 * gettext: Moved ...
10674 * grub-core/gettext: ... to here.
10675 * gfxmenu: Moved ...
10676 * grub-core/gfxmenu: ... to here.
10677 * gnulib: Moved ...
10678 * grub-core/gnulib: ... to here.
10679 * hello: Moved ...
10680 * grub-core/hello: ... to here.
10681 * hook: Moved ...
10682 * grub-core/hook: ... to here.
10683 * io: Moved ...
10684 * grub-core/io: ... to here.
10685 * kern: Moved ...
10686 * grub-core/kern: ... to here.
10687 * lib: Moved ...
10688 * grub-core/lib: ... to here.
10689 * loader: Moved ...
10690 * grub-core/loader: ... to here.
10691 * mmap: Moved ...
10692 * grub-core/mmap: ... to here.
10693 * normal: Moved ...
10694 * grub-core/normal: ... to here.
10695 * partmap: Moved ...
10696 * grub-core/partmap: ... to here.
10697 * parttool: Moved ...
10698 * grub-core/parttool: ... to here.
10699 * script: Moved ...
10700 * grub-core/script: ... to here.
10701 * term: Moved ...
10702 * grub-core/term: ... to here
10703 * tests/example_functional_test.c: Moved ...
10704 * grub-core/tests/example_functional_test.c: ... to here.
10705 * tests/lib/functional_test.c: Moved ...
10706 * grub-core/tests/lib/functional_test.c: ... to here.
10707 * tests/lib/test.c: Moved ...
10708 * grub-core/tests/lib/test.c: ... to here.
10709 * video: Moved ...
10710 * grub-core/video: ... to here.
10711
10712 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10713
10714 Replace --enable-grub-emu-modules with grub-emu-lite.
10715
10716 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10717 cache.S.
10718
10719 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10720 * kern/emu/full.c: New file. For grub-emu specific initialization.
10721 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10722 * kern/emu/main.c: Call initialization function grub_emu_init.
10723
10724 * Makefile.in: Include grub-emu-lite in install.
10725 * commands/parttool.c: Use grub_no_autoload to differentiate
10726 between grub-emu and grub-emu-lite.
10727 * include/grub/misc.h: New variable grub_no_autoload.
10728
10729 * conf/any-emu.rmk: New rules for grub-emu-lite.
10730 * configure.ac: Remove --enable-grub-emu-modules.
10731 * genmk.rb: Cleanup unnecessary rules.
10732 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10733
10734 * normal/main.c: Don't load list files on grub-emu-lite.
10735 * util/misc.c (grub_arch_sync_caches): Removed.
10736
10737 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
10738
10739 * kern/mips/startup.S (grub_prefix): Update comment to refer to
10740 grub-mkimage rather than grub-mkelfimage.
10741 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10742
10743 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10744
10745 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
10746 a key after CapsLock or NumLock. It's just a qemu bug.
10747
10748 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10749
10750 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
10751 needed by libusb wrapper.
10752
10753 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10754
10755 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
10756
10757 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10758
10759 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
10760 --nounzip is passed.
10761
10762 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
10763
10764 USB hotunplugging and USB serial support.
10765
10766 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
10767 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
10768 (grub_uhci_transfer): Respect timeout and set *actual.
10769 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
10770 non-standard length.
10771 (grub_usb_device_attach): Autoload modules.
10772 (GRUB_MOD_INIT): Set grub_term_poll_usb.
10773 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
10774 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
10775 users updated.
10776 (grub_usb_add_hub): Fill nports and children.
10777 (attach_root_port): Receive hub instead of controller.
10778 All users updated. Fill hub->devices.
10779 (grub_usb_root_hub): Allocate hub->devices.
10780 (detach_device): New function.
10781 (poll_nonroot_hub): Fill children and detach devices.
10782 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
10783 actual arguments. All users updated.
10784 (grub_usb_bulk_read_extended): New function.
10785 * bus/usb/serial/common.c: New file.
10786 * bus/usb/serial/ftdi.c: Likewise.
10787 * bus/usb/serial/pl2303.c: Likewise.
10788 * commands/terminal.c (handle_command): Support wildcard.
10789 * commands/usbtest.c: Output "Unknown" instead of empty string.
10790 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
10791 (usbserial_common_mod_SOURCES): New variable.
10792 (usbserial_common_mod_CFLAGS): Likewise.
10793 (usbserial_common_mod_LDFLAGS): Likewise.
10794 (pkglib_MODULES): Add usbserial_pl2303.mod.
10795 (usbserial_pl2303_mod_SOURCES): New variable.
10796 (usbserial_pl2303_mod_CFLAGS): Likewise.
10797 (usbserial_pl2303_mod_LDFLAGS): Likewise.
10798 (pkglib_MODULES): Add usbserial_ftdi.mod.
10799 (usbserial_ftdi_mod_SOURCES): New variable.
10800 (usbserial_ftdi_mod_CFLAGS): Likewise.
10801 (usbserial_ftdi_mod_LDFLAGS): Likewise.
10802 (pkglib_MODULES): Add serial.mod.
10803 (serial_mod_SOURCES): New variable.
10804 (serial_mod_CFLAGS): Likewise.
10805 (serial_mod_LDFLAGS): Likewise.
10806 * conf/i386-pc.rmk: Likewise.
10807 * conf/mips-yeeloong.rmk: Likewise.
10808 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
10809 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10810 * disk/usbms.c (first_available_slot): New variable.
10811 (grub_usbms_attach): Don't reuse free slots due to potential cache
10812 problems.
10813 * include/grub/serial.h: Moved to ..
10814 * include/grub/ns8250.h: ...this.
10815 * include/grub/serial.h: New file.
10816 * include/grub/term.h (grub_term_poll_usb): New variable.
10817 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
10818 readkey. All users updated.
10819 (grub_terminfo_output_state): Pass term to put.
10820 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
10821 (grub_usb_controller_dev): Add timeout and actual arguments to
10822 transfer. All users updated.
10823 (grub_usb_interface): New field detach_data.
10824 (grub_usb_device): New fields children and nports.
10825 (grub_usb_ep_type_t): New type.
10826 (grub_usb_get_ep_type): New function.
10827 (grub_usb_bulk_read_extended): Likewise.
10828 * include/grub/usbdesc.h (grub_usb_desc): New type.
10829 * include/grub/usbserial.h: New file.
10830 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
10831 * kern/term.c (grub_term_poll_usb): New variable.
10832 (grub_getkey): Call grub_term_poll_usb if set.
10833 (grub_checkkey): Likewise.
10834 (grub_getkeystatus): Likewise.
10835 * term/serial.c: Moved controller-specific parts to ...
10836 * term/ns8250.c: ... here.
10837 * term/serial.c: Mostly rewritten.
10838 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
10839 according to spec.
10840
10841 2010-08-20 Robert Millan <rmh@gnu.org>
10842
10843 Make kFreeBSD code more generic to support ext2fs as root, ufs as
10844 a separate module and maybe other interesting combinations.
10845
10846 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
10847 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
10848 (kfreebsd_entry): Add generic filesystem module load routine.
10849 Map GRUB `ext2' to kFreeBSD `ext2fs'.
10850
10851 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
10852
10853 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
10854 "numcenter" (I misunderstood the purpose of this entry).
10855 * docs/grub.texi (sendkey): Likewise.
10856
10857 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
10858
10859 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
10860 status flag options; simply omitting the option is equivalent and
10861 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
10862 (keysym_table): Rename "num5numlock" to "numlock".
10863 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
10864 can uniformly say that only the last of multiple `sendkey'
10865 invocations has any effect.
10866 * docs/grub.texi (sendkey): New section.
10867
10868 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
10869
10870 * commands/i386/pc/sendkey.c (options): Fix three typos.
10871
10872 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10873
10874 Implement sendkey support.
10875
10876 * commands/i386/pc/sendkey.c: New file.
10877 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
10878 (sendkey_mod_SOURCES): New variable.
10879 (sendkey_mod_CFLAGS): Likewise.
10880 (sendkey_mod_LDFLAGS): Likewise.
10881
10882 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
10883
10884 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
10885 fix warnings from Autoconf.
10886
10887 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
10888
10889 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
10890 to avoid false positives with some assemblers that output things
10891 like "someprefix_func" as part of their output.
10892
10893 2010-08-15 Robert Millan <rmh@gnu.org>
10894
10895 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
10896 errors.
10897 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
10898 grub_get_libzfs_handle() errors.
10899
10900 2010-08-14 Robert Millan <rmh@gnu.org>
10901
10902 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
10903 filesystem is not ZFS.
10904
10905 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10906
10907 Fix for misspelled color names defaulting to black/black (bug
10908 reported by Doug Nazar)
10909
10910 * include/grub/normal.h (grub_parse_color_name_pair): Add return
10911 status to prototype.
10912 * normal/color.c (grub_parse_color_name_pair): Return failure
10913 status.
10914 (grub_env_write_color_normal): Ignore bad color names.
10915 (grub_env_write_color_highlight): Likewise.
10916 * normal/main.c (GRUB_MOD_INIT): Set default color names.
10917
10918 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10919
10920 "shift" command support to GRUB script.
10921
10922 * include/grub/script_sh.h (grub_script_shift): New prototype.
10923 * script/execute.c (grub_script_shift): New function.
10924 * script/main.c (grub_script_init): Register shift command.
10925 (grub_script_fini): Unregister shift command.
10926 * util/grub-script-check.c (grub_script_cmd_shift): New function.
10927
10928 * tests/grub_script_shift.in: New testcase.
10929 * conf/tests.rmk: Rules for new testcase.
10930
10931 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10932
10933 "continue" command support to GRUB script.
10934
10935 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
10936 (grub_script_break): Continue support.
10937 * script/main.c (grub_script_init): Register continue command.
10938 (grub_script_fini): Unregister continue command.
10939
10940 * tests/grub_script_continue.in: New testcase.
10941 * conf/tests.rmk: Rules for new testcase.
10942
10943 2010-08-12 BVK Chaitanya <bvk@dbook>
10944
10945 "break" command support to GRUB script.
10946
10947 * conf/common.rmk: Rule updates to grub-script-check.
10948 * include/grub/misc.h (grub_min): New function.
10949 * include/grub/script_sh.h (grub_script_init): New prototype.
10950 (grub_script_fini): New prototype.
10951 (grub_script_break): New prototype.
10952 * script/main.c (grub_script_init): New function.
10953 (grub_script_fini): New function.
10954 * script/execute.c (grub_script_break): New function.
10955 * normal/main.c: Calls to grub_script_{init,fini}.
10956 * util/grub-script-check.c (grub_script_break): New function.
10957
10958 * tests/grub_script_break.in: New testcase.
10959 * conf/tests.rmk: Rules for new test case.
10960
10961 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10962
10963 Function parameters support to GRUB script.
10964
10965 * script/yylex.l (VARIABLE): Regular expression update.
10966 * script/function.c (grub_script_function_call): Moved ...
10967 * script/execute.c (grub_script_function_call): ... to here.
10968 (grub_script_execute_arglist_to_argv): Removed.
10969 (grub_script_arglist_to_argv): New function.
10970 * script/argv.c: New file.
10971 (grub_script_argv_free): New function.
10972 (grub_script_argv_next): Likewise.
10973 (grub_script_argv_append): Likewise.
10974 (grub_script_argv_split_append): Likewise.
10975 * include/grub/script_sh.h (grub_script_argv): New struct.
10976 (grub_script_argv_free): New function.
10977 (grub_script_argv_next): Likewise.
10978 (grub_script_argv_append): Likewise.
10979 (grub_script_argv_split_append): Likewise.
10980
10981 * conf/common.rmk (normal.mod): New source script/argv.c.
10982
10983 * tests/grub_script_echo1.in: More tests.
10984 * tests/grub_script_vars1.in: Likewise.
10985 * tests/grub_script_functions.in: New test case.
10986 * conf/tests.rmk: Rules for new testcase.
10987
10988 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10989
10990 Remove grub_script_cmdblock struct.
10991
10992 * include/grub/script_sh.h: Remove grub_script_cmdblock.
10993 * script/parser.y: Likewise.
10994 * script/execute.c: Rename cmdblock suffix to cmdlist.
10995 * script/script.c: Likewise.
10996 * util/grub-script-check.c: Likewise.
10997
10998 2010-08-11 Yves Blusseau <blusseau@zetam.org>
10999
11000 * .bzrignore: add grub-macho2img
11001
11002 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11003
11004 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
11005
11006 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
11007
11008 Remove the dump of sm712 initialisation sequence.
11009
11010 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
11011 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
11012 (GRUB_VGA_IO_MISC_WRITE): Likewise.
11013 (GRUB_VGA_CR_*): Added many registers.
11014 (GRUB_VGA_SR_*): Likewise.
11015 (GRUB_VGA_GR_*): Likewise.
11016 (grub_vga_write_arx): New function.
11017 (grub_video_hw_config): New struct.
11018 (grub_vga_set_geometry): New function.
11019 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
11020 GRUB_PCI_CLASS_SUBCLASS_VGA.
11021 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
11022 * video/sm712.c (grub_sm712_write_reg): New function
11023 (grub_sm712_read_reg): Likewise.
11024 (grub_sm712_sr_write): Likewise.
11025 (grub_sm712_gr_write): Likewise.
11026 (grub_sm712_cr_write): Likewise.
11027 (grub_sm712_write_arx): Likewise.
11028 (grub_sm712_cr_shadow_write): Likewise.
11029 (grub_sm712_write_dda_lookup): Likewise.
11030 (grub_video_sm712_setup): Initialise the video rather then
11031 blindly replay the dump.
11032 (main) [TEST]: Add a routine to be able to compile as standalone for
11033 tests.
11034 * video/sm712_init.c (sm712_init): Removed.
11035 (sm712_sr_seq1): New array.
11036 (sm712_sr_seq2): Likewise.
11037
11038 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11039
11040 * include/grub/vga.h: Add missing grub/pci.h include.
11041
11042 2010-08-10 Yves Blusseau <blusseau@zetam.org>
11043
11044 * util/grub-macho2img.c (main): fix typo
11045
11046 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
11047
11048 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
11049 (grub_vga_gr_read): Likewise.
11050 (grub_vga_cr_write): Likewise.
11051 (grub_vga_cr_read): Likewise.
11052 (grub_vga_sr_write): Likewise.
11053 (grub_vga_sr_read): Likewise.
11054 (grub_vga_palette_read): Likewise.
11055 (grub_vga_palette_write): Likewise.
11056 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
11057 (grub_sm712_sr_read): New function.
11058 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11059 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11060
11061 2010-08-09 Robert Millan <rmh@gnu.org>
11062
11063 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11064 out unused variables on non-ZFS build.
11065
11066 2010-08-08 Robert Millan <rmh@gnu.org>
11067
11068 Fix path generation for sub-filesystems in ZFS.
11069
11070 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11071 missing slash.
11072
11073 2010-08-08 Robert Millan <rmh@gnu.org>
11074
11075 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11076
11077 2010-08-08 Robert Millan <rmh@gnu.org>
11078
11079 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11080 exist, issue a proper error message (rely on `ls' for translated
11081 strings).
11082
11083 2010-08-08 Robert Millan <rmh@gnu.org>
11084
11085 Fix grub-probe invocation.
11086
11087 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11088
11089 2010-08-04 Robert Millan <rmh@gnu.org>
11090
11091 * configure.ac: Remove checks for getfsstat() and getmntany().
11092 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11093 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11094 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11095 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11096 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11097 function.
11098 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11099 via find_mount_point_from_dir() and getfsstat() / getmntany().
11100
11101 2010-08-04 Robert Millan <rmh@gnu.org>
11102
11103 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11104 (grub_find_zpool_from_mount_point): Merge into ...
11105 (grub_find_zpool_from_dir): ... this.
11106 * kern/emu/misc.c: Likewise.
11107
11108 * kern/emu/misc.c
11109 (grub_make_system_path_relative_to_its_root): Replace
11110 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11111 with grub_find_zpool_from_dir().
11112 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11113
11114 2010-08-04 Robert Millan <rmh@gnu.org>
11115
11116 Support OpenSolaris in ZFS device resolution.
11117
11118 * configure.ac: Check for getmntany().
11119 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11120 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11121 support.
11122
11123 2010-08-03 Robert Millan <rmh@gnu.org>
11124
11125 Fix grub-emu build.
11126
11127 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11128 * include/grub/emu/misc.h: ... here.
11129
11130 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11131 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11132
11133 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11134 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11135 (grub_get_libzfs_handle): Move to ...
11136 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11137 (grub_get_libzfs_handle): ... here.
11138
11139 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11140
11141 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11142 as command name case.
11143
11144 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11145
11146 * disk/raid.c (insert_array): Select unique numbers for named arrays
11147 as well, for use as keys in the disk cache.
11148
11149 2010-08-01 Robert Millan <rmh@gnu.org>
11150
11151 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11152 kFreeBSD device name, except on ZFS where the filesystem label is
11153 used.
11154 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11155 `/boot/zfs/zpool.cache'.
11156 Set mountfrom kernel variable using ${kfreebsd_device}.
11157
11158 2010-08-01 Robert Millan <rmh@gnu.org>
11159
11160 Make it even harder to use uninitialized `libzfs_handle' (and
11161 make the interface a bit simpler).
11162
11163 * include/grub/util/misc.h (grub_util_init_libzfs)
11164 (libzfs_handle): Remove.
11165 (grub_get_libzfs_handle): New prototype.
11166
11167 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11168 attribute.
11169 (grub_util_init_libzfs): Remove.
11170 (grub_get_libzfs_handle): New function.
11171
11172 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11173 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11174 accessing `libzfs_handle' directly.
11175
11176 2010-08-01 Robert Millan <rmh@gnu.org>
11177
11178 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11179 (grub_find_zpool_from_mount_point): New function prototypes.
11180
11181 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11182 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11183
11184 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11185 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11186 `static' attribute.
11187
11188 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11189 finding zpool from mount point into ...
11190 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11191
11192 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11193 requested path is part of a ZFS pool, use
11194 grub_find_zpool_from_mount_point() to detect its filesystem name,
11195 and generate a path with `/fsname@path' syntax.
11196
11197 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11198
11199 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11200 (void) rather than () so that this is a proper prototype.
11201
11202 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11203
11204 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11205
11206 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11207
11208 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11209 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11210
11211 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11212
11213 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11214
11215 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11216
11217 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11218
11219 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11220
11221 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11222 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11223 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11224 disable gfxpayload.
11225 (Shell-like scripting): Add real content.
11226 (Serial terminal): Suggest `terminal_input serial; terminal_output
11227 serial' rather than putting the two commands on separate lines,
11228 since console input will be inoperative after the first command.
11229 (menuentry): Document --class, --users, and --hotkey options.
11230 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11231 Vladimir Serbinenko).
11232
11233 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11234 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11235
11236 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11237
11238 2010-08-01 Robert Millan <rmh@gnu.org>
11239
11240 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11241 (grub_find_zpool_from_mount_point): New function prototypes.
11242
11243 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11244 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11245
11246 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11247 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11248 `static' attribute.
11249
11250 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11251 finding zpool from mount point into ...
11252 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11253
11254 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11255 requested path is part of a ZFS pool, use
11256 grub_find_zpool_from_mount_point() to detect its filesystem name,
11257 and generate a path with `/fsname@path' syntax.
11258
11259 2010-08-01 Robert Millan <rmh@gnu.org>
11260
11261 Prevent accidental use of uninitialized libzfs_handle.
11262
11263 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11264 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11265 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11266
11267 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11268
11269 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11270 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11271
11272 2010-08-01 Robert Millan <rmh@gnu.org>
11273
11274 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
11275
11276 2010-07-31 Robert Millan <rmh@gnu.org>
11277
11278 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11279
11280 2010-07-31 Robert Millan <rmh@gnu.org>
11281
11282 * kern/emu/misc.c: Add missing license header.
11283
11284 2010-07-31 Robert Millan <rmh@gnu.org>
11285
11286 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11287
11288 * include/grub/util/libnvpair.h: Include `<config.h>'.
11289 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11290 declaring libnvpair prototypes ourselves.
11291 * include/grub/util/libzfs.h: Include `<config.h>'.
11292 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11293 declaring libzfs prototypes ourselves.
11294
11295 (libzfs_handle): Moved to ...
11296 * include/grub/util/misc.h (libzfs_handle): ... here.
11297 Include `<grub/util/libzfs.h>'.
11298
11299 2010-07-30 Robert Millan <rmh@gnu.org>
11300
11301 * include/grub/emu/misc.h: Add missing license header.
11302
11303 2010-07-30 Robert Millan <rmh@gnu.org>
11304
11305 Enable `grub-probe -t device' resolution on ZFS.
11306
11307 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11308 * include/grub/util/libnvpair.h: New file.
11309 * include/grub/util/libzfs.h: New file.
11310
11311 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11312 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11313 `<grub/util/libnvpair.h>'.
11314 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11315
11316 (find_mount_point_from_dir): New static function.
11317 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11318 function.
11319 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11320 find_root_device_from_libzfs() before ressorting to find_root_device().
11321
11322 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11323 prototype.
11324 * util/misc.c: Include `<grub/util/libzfs.h>'.
11325 (grub_util_init_libzfs): New function.
11326 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11327 [HAVE_LIBZFS] (fini_libzfs): New static function.
11328 (grub_util_init_libzfs): New function.
11329 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11330
11331 2010-07-30 Robert Millan <rmh@gnu.org>
11332
11333 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11334 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11335 `warn_unused_result' attribute.
11336 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11337 (grub_xasprintf, grub_xvasprintf): Likewise.
11338 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11339
11340 2010-07-29 Robert Millan <rmh@gnu.org>
11341
11342 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11343 (probe): Handle `PRINT_FS_LABEL'.
11344 (main): Handle `-t fs_label'.
11345
11346 2010-07-29 Robert Millan <rmh@gnu.org>
11347
11348 * configure.ac: Remove grub-mkisofs checks.
11349
11350 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11351
11352 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11353 Reported by: Lennart Sorensen.
11354
11355 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11356
11357 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11358 prior to terminal_input/terminal_output separation. It's been over 1.5
11359 years and those versions weren't widely deployed.
11360
11361 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
11362
11363 * disk/raid.c (insert_array): Don't count named arrays when looking
11364 for unused array numbers.
11365 Reported and tested by: Michael Guntsche.
11366
11367 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11368
11369 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11370 implementation of this so that grub-emu links again, with a note
11371 that this should support hotplugging in the future.
11372
11373 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11374
11375 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11376
11377 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11378
11379 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11380 handle on failure.
11381 (grub_loopback_close): Remove empty function.
11382 (grub_loopback_dev): Remove close method.
11383
11384 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11385
11386 Disable EFI cursor when the EFI console becomes inactive.
11387
11388 * term/efi/console.c (grub_efi_console_init): New function.
11389 (grub_efi_console_fini): New function.
11390 (grub_console_term_output): Register init and fini methods.
11391
11392 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11393
11394 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11395 sh script.
11396
11397 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11398
11399 * disk/loopback.c (grub_loopback): Replace filename with file.
11400 (delete_loopback): Handle new semantics.
11401 (grub_cmd_loopback): Likewise.
11402 (grub_loopback_iterate): Likewise.
11403 (grub_loopback_close): Likewise.
11404
11405 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11406
11407 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11408 with -p "".
11409 Reported by: Tito Keitel.
11410
11411 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11412
11413 * docs/grub.texi (Naming convention): Document new naming convention.
11414
11415 2010-07-20 Vadim Solomin <vadic052@gmail.com>
11416 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11417
11418 Generate device.map in something closer to the old ordering.
11419
11420 * util/deviceiter.c (struct device): New declaration.
11421 (compare_file_names): Rename to ...
11422 (compare_devices): ... this. Sort by kernel name in preference to
11423 the stable by-id name, but keep the latter as a fallback comparison.
11424 Update header comment.
11425 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11426 of `struct device' rather than of plain file names.
11427
11428 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11429
11430 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11431 on i386.
11432
11433 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11434
11435 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11436 hardcoding size.
11437 (setv1table): Likewise.
11438
11439 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11440
11441 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11442 removing the homehost if present.
11443 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11444 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11445 removing the homehost if present.
11446 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11447 if possible.
11448 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11449
11450 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11451 parameter. Set its pointer target to 0.
11452 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11453 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11454 `data_offset' value from the superblock for 1.x metadata.
11455 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11456 data on the device.
11457 (insert_array): Record the start sector of data on the device.
11458 (grub_raid_register): Pass start_sector parameters to
11459 grub_raid_list->detect and insert_array.
11460 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11461 member.
11462 (struct grub_raid): Add start_sector parameter to `detect'.
11463
11464 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11465 __attribute__ ((packed)), leaving a comment.
11466 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11467 (grub_mdraid_detect_09): ... here and ...
11468 (grub_mdraid_detect_1x): ... here.
11469
11470 2010-07-20 Peter Henn <peter.henn@web.de>
11471
11472 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11473 chunk size and disk size, which are already given as sector counts
11474 as distinct from the 0.90 units. Fetch the correct device number
11475 from the role table instead of using the table index.
11476
11477 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
11478
11479 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11480 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11481 (WriteMostly1): New macro.
11482 Set array->name to NULL for metadata format 0.90. Add support for
11483 metadata 1.x. Fix some comments.
11484 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11485 few comments.
11486 * util/getroot.c (grub_util_get_grub_dev): Add support for
11487 /dev/md/name style devices.
11488
11489 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11490
11491 * .bzrignore: Ignore 20_linux_xen.
11492
11493 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
11494
11495 * util/import_unicode.py: Remove unnecessary imports.
11496
11497 2010-07-17 Aleš Nesrsta <starous@volny.cz>
11498
11499 Hotplugging and USB hub support.
11500
11501 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11502 (grub_ohci): Likewise.
11503 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11504 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11505 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11506 (GRUB_OHCI_CTRL_EDS): Likewise.
11507 (GRUB_OHCI_BULK_EDS): Likewise.
11508 (GRUB_OHCI_TDS): Likewise.
11509 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11510 (grub_ohci_ed_phys2virt): New function.
11511 (grub_ohci_virt_to_phys): Likewise.
11512 (grub_ohci_td_phys2virt): Likewise.
11513 (grub_ohci_td_virt2phys): Likewise.
11514 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11515 attachment.
11516 (grub_ohci_find_ed): New function.
11517 (grub_ohci_alloc_td): Likewise.
11518 (grub_ohci_free_td): Likewise.
11519 (grub_ohci_free_tds): Likewise.
11520 (grub_ohci_transfer): Use previously allocated memory.
11521 (grub_ohci_portstatus): Reset status changed bit.
11522 (grub_ohci_detect_dev): Supply status changed.
11523 (grub_ohci_fini_hw): Free memory.
11524 (grub_ohci_restore_hw): Reallocate memory.
11525 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11526 Reset status change.
11527 (grub_uhci_detect_dev): Supply status_change.
11528 * bus/usb/usb.c (attach_hooks): New var.
11529 (grub_usb_device_attach): New function.
11530 (grub_usb_register_attach_hook_class): Likewise.
11531 (grub_usb_unregister_attach_hook_class): Likewise.
11532 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11533 (grub_usb_add_hub): Reset connection changed bit.
11534 (attach_root_port): New function.
11535 (grub_usb_root_hub): Likewise.
11536 (poll_nonroot_hub): Likewise.
11537 (grub_usb_poll_devices): Likewise.
11538 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11539 * disk/usbms.c (grub_usbms_open): Use device hooks.
11540 (grub_usbms_iterate) :Poll devices.
11541 (grub_usbms_finddevs): Split into ...
11542 (grub_usbms_attach): ... this ...
11543 (grub_usbms_attach): ... and this.
11544 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11545 in detect_dev.
11546 (grub_usb_interface): New fields attached and detach_hook.
11547 (grub_usb_attach_hook_class): New type.
11548 (grub_usb_attach_desc): New struct.
11549 (grub_usb_register_attach_hook_class): New function.
11550 (grub_usb_unregister_attach_hook_class): Likewise.
11551 (grub_usb_poll_devices): Likewise.
11552 (grub_usb_device_attach): Likewise.
11553 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11554 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11555
11556 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11557
11558 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11559 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11560 delta determination style. Works with most NetBSD partitions too.
11561
11562 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11565 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11566
11567 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11568
11569 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11570
11571 2010-07-14 Anton Blanchard <anton@samba.org>
11572
11573 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11574 ET_DYN files.
11575
11576 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11577
11578 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11579
11580 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11581
11582 * kern/partition.c (grub_partition_check_containment): New function to
11583 check that a partition is physically contained in a parent. Since
11584 offsets are relative (and non-negative), this reduces to checking that
11585 the partition ends before its parent.
11586 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11587 (grub_partition_iterate): Likewise.
11588 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11589 comments.
11590 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11591 partitions that start before their parent, and add debug printfs.
11592
11593 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11594
11595 * Makefile.in (.SUFFIX): Spell correctly, as ...
11596 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11597 bare module name without `.mod', e.g. `test') tried to invoke a
11598 Modula-2 compiler.
11599
11600 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11601
11602 * README: Point to the Info manual.
11603
11604 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
11605
11606 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11607 2nd superblock position from partition size.
11608
11609 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
11610
11611 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11612 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11613 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11614 outputs.
11615
11616 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11617
11618 Restructure SCSI .id handling.
11619 Reported and tested by: Aleš Nesrsta.
11620
11621 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11622 (grub_atapi_dev): Changed .name to "ata". New field .id.
11623 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11624 (grub_usbms_dev): New field .id.
11625 * disk/scsi.c (grub_scsi_iterate): Generate name.
11626 (grub_scsi_open): Parse name.
11627 * include/grub/scsi.h (grub_make_scsi_id): New function.
11628 (grub_scsi_dev): Change iterate and open to number instead of naming
11629 busses. All users updated.
11630 (grub_scsi): Remove name. Add .bus.
11631
11632 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11633
11634 * commands/help.c (grub_cmd_help): Fix a typo.
11635
11636 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11639 Reported and tested by: Colin Watson.
11640
11641 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11644 in this context.
11645
11646 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11647
11648 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11649
11650 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
11651
11652 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11653 indentation.
11654
11655 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11656
11657 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11658 and disk/raid6_recover.c.
11659 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11660 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11661
11662 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11663
11664 * term/gfxterm.c (repaint_schedulded): Rename to ...
11665 (repaint_scheduled): ... this. Update all callers.
11666 (repaint_was_schedulded): Rename to ...
11667 (repaint_was_scheduled): ... this. Update all callers.
11668
11669 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11670
11671 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11672 which we expect to be handled by upper layers.
11673
11674 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11675
11676 * bus/usb/usbhub.c: #include time.h header.
11677
11678 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11679
11680 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11681 entry_name also for entries without stat blocks (e.g. ".."); fixes
11682 corruption of the first entry in a directory.
11683
11684 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11685
11686 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11687 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11688 doesn't work otherwise.
11689
11690 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11691
11692 * docs/grub.texi (Features): Update list of supported file systems.
11693 (GNU/Linux): Update for GRUB 2.
11694 (Serial terminal): Remove mention of --disable-serial, which was a
11695 GRUB Legacy configure option. Update instructions to use
11696 `terminal_input' and `terminal_output' rather than `terminal'.
11697 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11698 configuration' and `Installing GRUB using grub-install'.
11699 (Menu entry editor): Update for GRUB 2.
11700 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11701 Document new -a, -u, and -v options.
11702 (initrd): New section.
11703 (initrd16): New section.
11704 (linux): New section.
11705 (linux16): New section.
11706 (search): The `var' argument to `--set' is optional.
11707 (GRUB only offers a rescue shell): Go into a little more detail on
11708 drive ordering.
11709
11710 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11711
11712 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11713
11714 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11715
11716 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11717 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11718
11719 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11720
11721 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11722 install_prefix, in line with install_dos_part and install_bsd_part.
11723 Add new prefix variable, which is copied to install_prefix after
11724 comparing core.img in memory with the one read from disk in the
11725 no-embedding case, and use that rather than overwriting
11726 install_prefix immediately when installing to a partition.
11727 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11728 Bicakci.
11729
11730 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11731
11732 * configure.ac: Avoid == in test command, it's not portable.
11733 * util/grub.d/30_os-prober.in: Likewise.
11734
11735 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
11736
11737 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
11738
11739 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11740
11741 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
11742 multiple (top-level) partmaps.
11743
11744 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11745
11746 * util/i386/efi/grub-install.in: Don't use empty grub_device.
11747 Reported by: Tino Keitel.
11748
11749 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11750
11751 Bidi and diacritics support.
11752
11753 * Makefile.in (widthspec.bin): New target.
11754 (widthspec.h): Likewise.
11755 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
11756 * autogen.sh: Generate unidata.c.
11757 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
11758 * commands/ls.c (grub_ls_list_devices): Likewise.
11759 (grub_ls_list_files): Likewise.
11760 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
11761 (grub_mini_cmd_lsmod): Likewise.
11762 * commands/read.c: Likewise.
11763 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
11764 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
11765 * lib/arg.c (grub_arg_show_help): Likewise.
11766 * lib/crypto.c (grub_password_get): Likewise.
11767 * normal/auth.c (grub_username_get): Likewise.
11768 * normal/misc.c (grub_normal_print_device_info): Likewise.
11769 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
11770 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
11771 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
11772 (normal/charset.c_DEPENDENCIES): New variable.
11773 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
11774 (pkglib_MODULES): Remove charset.mod.
11775 (charset_mod_SOURCES): Removed.
11776 (charset_mod_CFLAGS): Likewise.
11777 (charset_mod_LDFLAGS): Likewise.
11778 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
11779 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
11780 and term/tparm.c.
11781 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11782 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11783 (kernel_img_HEADERS): Add terminfo.h.
11784 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
11785 Fill ->font. Reverse ascii bitmaps.
11786 (grub_font_get_xheight): New function.
11787 * font/font.c (grub_font_get_string_width): Moved from here ...
11788 * gfxmenu/font.c (grub_font_get_string_width): ... here.
11789 * font/font.c (grub_font_draw_string): Moved from here ...
11790 * gfxmenu/font.c (grub_font_draw_string): ... here.
11791 * font/font.c (grub_font_dup_glyph): New function.
11792 (grub_font_blit_glyph): Likewise.
11793 (grub_font_blit_glyph_mirror): Likewise.
11794 (blit_comb): Likewise.
11795 (grub_font_construct_dry_run): Likewise.
11796 (grub_font_get_constructed_device_width): Likewise.
11797 (grub_font_construct_glyph): Likewise.
11798 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
11799 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
11800 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
11801 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
11802 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
11803 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
11804 (grub_font_get_xheight): New proto.
11805 (grub_font_get_constructed_device_width): Likewise.
11806 (grub_font_construct_glyph): Likewise.
11807 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
11808 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
11809 * include/grub/font.h (grub_font_draw_string): Moved from here ...
11810 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
11811 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
11812 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
11813 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
11814 (grub_console_getcharwidth): Likewise.
11815 * include/grub/misc.h (grub_xputs): New proto.
11816 (grub_puts): Inlined.
11817 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
11818 (grub_normal_get_line_counter): Removed.
11819 (grub_install_newline_hook): Likewise.
11820 (grub_normal_get_char_counter): New proto.
11821 (grub_normal_reset_more): Likewise.
11822 (grub_xputs_normal): Likewise.
11823 * include/grub/powerpc/ieee1275/console.h: Removed.
11824 * include/grub/sparc64/ieee1275/console.h: Likewise.
11825 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
11826 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
11827 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
11828 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
11829 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
11830 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
11831 (grub_term_input): Pass reference to self. All users updated.
11832 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
11833 Pass reference to self. New fields normal_color, highlight_color and
11834 data. All users updated.
11835 (grub_putchar): Removed.
11836 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
11837 (grub_unicode_estimate_width): New function.
11838 (grub_term_getcharwidth): Add defaults.
11839 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
11840 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
11841 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
11842 (grub_cls): Remove EXPORT_FUNC.
11843 (grub_setcolorstate): Inline.
11844 (grub_newline_hook): Removed.
11845 * include/grub/terminfo.h: Rewritten. All users updated.
11846 * include/grub/unicode.h: New file.
11847 * include/grub/video.h (grub_video_signed_rect): New type.
11848 * kern/emu/console.c (grub_console_highlight_color): Removed.
11849 (grub_console_normal_color): Likewise.
11850 (grub_console_standard_color): Made static.
11851 (grub_ncurses_putchar): Remove mapping.
11852 (grub_ncurses_getcharwidth): Removed.
11853 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11854 (grub_ncurses_setcolor): Removed.
11855 (grub_ncurses_getcolor): Likewise.
11856 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
11857 (grub_console_putchar): ... this.
11858 (grub_console_putchar): Handle argument difference.
11859 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
11860 console_init_early and console_init_lately.
11861 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
11862 * kern/misc.c (grub_puts): Removed.
11863 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
11864 (grub_vsnprintf_real): Remove str = NULL support.
11865 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
11866 * normal/charset.c (grub_utf8_to_ucs4): ... here.
11867 * kern/term.c (grub_putcode): Renamed to ...
11868 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
11869 (grub_putchar): Removed.
11870 (grub_xputs_dumb): New function.
11871 (grub_xputs): New variable.
11872 * lib/charset.c: Move from here ...
11873 * normal/charset.c: ... to here.
11874 (grub_ucs4_to_utf8): New function.
11875 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
11876 (join_types): New variable.
11877 (unpack_join): New function.
11878 (bidi_types): New variable.
11879 (unpack_bidi): New function.
11880 (get_bidi_type): Likewise.
11881 (get_join_type): Likewise.
11882 (is_mirrored): Likewise.
11883 (grub_unicode_get_comb_type): Likewise.
11884 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
11885 (is_type_after): Likewise.
11886 (grub_unicode_aglomerate_comb): Likewise.
11887 (bidi_line_wrap): Likewise.
11888 (grub_bidi_line_logical_to_visual): Likewise.
11889 (grub_bidi_logical_to_visual): Likewise.
11890 (grub_unicode_mirror_code): Likewise.
11891 (grub_unicode_shape_code): Likewise.
11892 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
11893 Don't use grub_putchar.
11894 * normal/main.c (grub_normal_init_page): Use grub_putcode.
11895 (grub_normal_reader_init): Likewise.
11896 (grub_xputs_saved): New variable.
11897 (GRUB_MOD_INIT): Set grub_xputs.
11898 (GRUB_MOD_FINI): Restore grub_xputs.
11899 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
11900 (menu_init): Avoid printing gfxmenu error.
11901 (show_menu): Use grub_normal_get_char_counter.
11902 * normal/menu_entry.c (update_screen): Fix out-of-array.
11903 (complete): Avoid NULL dereferencing.
11904 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
11905 * normal/menu_text.c (print_spaces): Removed.
11906 (grub_print_ucs4): Likewise.
11907 (grub_print_message_indented): Use grub_print_ucs4.
11908 (print_message): Use grub_putcode.
11909 (print_entry): Hanlde diacritics.
11910 * normal/term.c (term_state): New type.
11911 (grub_more_lines): Removed.
11912 (term_states): New variable.
11913 (grub_normal_line_counter): Renamed to ..
11914 (grub_normal_char_counter): ...this. All users updated.
11915 (grub_normal_get_line_counter): Renamed to ...
11916 (grub_normal_get_char_counter): ... this.
11917 (grub_normal_reset_more): New function.
11918 (process_newline): Removed.
11919 (print_more): New function.
11920 (grub_install_newline_hook): Removed.
11921 (map_code): New function.
11922 (grub_puts_terminal): Use grub_print_ucs4.
11923 (putglyph): New function.
11924 (putcode_real): Likewise.
11925 (grub_putcode): Use putcode_real.
11926 (get_maxwidth): New function.
11927 (get_startwidth): Likewise.
11928 (print_ucs4_terminal): Likewise.
11929 (find_term_state): Likewise.
11930 (put_glyphs_terminal): Likewise.
11931 (print_backlog): Likewise.
11932 (print_ucs4_real): Likewise.
11933 (grub_print_ucs4): Likewise.
11934 (grub_xputs_normal): Likewise.
11935 * term/efi/console.c (grub_console_putchar): Output diacritics.
11936 (grub_console_getcharwidth): Removed.
11937 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11938 * term/gfxterm.c (clear_char): Free chars.
11939 (scroll_up): Avoid leaking memory.
11940 (grub_gfxterm_putchar): Support diacritics.
11941 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11942 * term/i386/pc/console.c (grub_console_term_output): Declare as
11943 GRUB_TERM_CODE_TYPE_VGA.
11944 * term/i386/pc/vga.c (grub_vga_term): Declare as
11945 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
11946 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
11947 GRUB_TERM_CODE_TYPE_VGA.
11948 * term/i386/vga_common.c (map_char): Removed.
11949 (grub_console_putchar): Likewise.
11950 (grub_console_getcharwidth): Likewise.
11951 * term/ieee1275/ofconsole.c: Simplify using terminfo.
11952 (colors): Reordered to match terminfo.
11953 (grub_ofconsole_normal_color): Removed.
11954 (grub_ofconsole_writeesc): Likewise.
11955 (grub_ofconsole_highlight_color): Likewise.
11956 (grub_ofconsole_getcharwidth): Likewise.
11957 (grub_ofconsole_setcolorstate): Likewise.
11958 (grub_ofconsole_setcolor): Likewise.
11959 (grub_ofconsole_getcolor): Likewise.
11960 (grub_ofconsole_readkey): Renamed to ...
11961 (readkey): ... this. Remove escape sequence handling. Return -1 on no
11962 key.
11963 (grub_ofconsole_checkkey): Removed.
11964 (grub_ofconsole_getkey): Likewise.
11965 (grub_ofconsole_getxy): Likewise.
11966 (grub_ofconsole_gotoxy): Likewise.
11967 (grub_ofconsole_cls): Likewise.
11968 (grub_ofconsole_refresh): Likewise.
11969 (grub_ofconsole_terminfo_input): New struct.
11970 (grub_ofconsole_terminfo_output): Likewise.
11971 (grub_ofconsole_term_input): Use terminfo.
11972 (grub_ofconsole_term_output): Likewise.
11973 (grub_console_init): Split into ...
11974 (grub_console_init_early): ...this and ...
11975 (grub_console_init_lately): ...this. Use terminfo.
11976 (grub_ofconsole_putchar): Renamed to ...
11977 (put): ... this. Remove mapping.
11978 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11979 * term/serial.c: Simplify using terminfo.
11980 (xpos): Removed.
11981 (ypos): Likewise.
11982 (keep_track): Likewise.
11983 (registered): Likewise.
11984 (input_buf): Likewise.
11985 (npending): Likewise.
11986 (serial_translate_key_sequence): Likewise.
11987 (fill_input_buf): Likewise.
11988 (grub_serial_checkkey): Likewise.
11989 (grub_serial_getkey): Likewise.
11990 (grub_serial_getxy): Likewise.
11991 (grub_serial_gotoxy): Likewise.
11992 (grub_serial_putchar): Likewise.
11993 (grub_serial_cls): Likewise.
11994 (grub_serial_setcolorstate): Likewise.
11995 (grub_serial_setcursor): Likewise.
11996 (serial_hw_init): Use serial_hw_fetch.
11997 (grub_serial_terminfo_input): New variable.
11998 (grub_serial_terminfo_output): Likewise.
11999 (grub_serial_term_input): Use terminfo.
12000 (grub_serial_term_output): Likewise.
12001 * term/terminfo.c (putstr): Use put.
12002 (grub_terminfo_all_free): New function
12003 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
12004 (grub_terminfo_output_register): New function.
12005 (grub_terminfo_output_unregister): Likewise.
12006 (grub_terminfo_getxy): Likewise.
12007 (grub_terminfo_readkey): Likewise.
12008 (grub_terminfo_checkkey): Likewise.
12009 (grub_terminfo_getkey): Likewise.
12010 (grub_terminfo_input_init): Likewise.
12011 (print_terminfo): Likewise.
12012 (grub_cmd_terminfo): Handle encoding.
12013 (grub_terminfo_gotoxy): Track position.
12014 (grub_terminfo_cls): Likewise.
12015 (grub_terminfo_putchar): Likewise.
12016 (grub_terminfo_setcolorstate): Handle colors
12017 (grub_terminfo_cursor_on): This ...
12018 (grub_terminfo_cursor_off): ... and this merged into ...
12019 (grub_terminfo_setcursor): ... this.
12020 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
12021 * unicode/ArabicShaping.txt: New file (imported from Unicode).
12022 * unicode/BidiMirroring.txt: Likewise.
12023 * unicode/UnicodeData.txt: Likewise.
12024 * unicode/COPYING: Likewise.
12025 * util/grub-editenv.c (grub_putchar): Removed.
12026 (grub_xputs_real): New function.
12027 (grub_xputs): New variable.
12028 * util/grub-fstest.c (grub_putchar): Removed.
12029 (grub_xputs_real): New function.
12030 (grub_xputs): New variable.
12031 * util/grub-mkdevicemap.c (grub_putchar): Removed.
12032 (grub_xputs_real): New function.
12033 (grub_xputs): New variable.
12034 * util/grub-probe.c (grub_putchar): Removed.
12035 (grub_xputs_real): New function.
12036 (grub_xputs): New variable.
12037 * util/grub-script-check.c (grub_putchar): Removed.
12038 (grub_xputs_real): New function.
12039 (grub_xputs): New variable.
12040 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
12041 (grub_xputs_real): New function.
12042 (grub_xputs): New variable.
12043 * util/import_unicode.py: New file.
12044 * util/grub-mkfont.c (ft_errmsgs): New array.
12045 (grub_glyph_info): Make bitmap a pointer.
12046 (file_formats): New type WIDTH_SPEC.
12047 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
12048 (options): Add width-spec.
12049 (help): Likewise.
12050 (add_char): Renamed to ...
12051 (add_glyph): ... this.
12052 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
12053 (glyph_replace): New type.
12054 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
12055 (add_char): New function.
12056 (add_subst): Likewise.
12057 (process_cursive): Likewise.
12058 (add_font): Handle GSUB.
12059 (write_font_width_spec): New function.
12060 (main): Sort glyphs.
12061 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12062 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12063 * kern/term.c (grub_cls): Moved from here...
12064 * normal/term.c (grub_cls): ... here.
12065
12066 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12067
12068 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12069 suitable for using within the format argument of printf when
12070 converting grub_size_t.
12071 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12072 "x" to convert grub_size_t arguments.
12073
12074 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12075
12076 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12077 too long captions.
12078 (list_get_minimal_size): Take selection box into account.
12079
12080 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12081
12082 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12083 NULL font.
12084
12085 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12086
12087 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12088 devices when iterating over /dev/disk/by-id; they will be handled
12089 later if appropriate, which they aren't always (e.g. LVM).
12090
12091 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12092
12093 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12094 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12095 fails.
12096 (grub_halt): Likewise.
12097 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12098 reset-all fails.
12099 (grub_halt): Don't return, even if all of shut-down, power-off, and
12100 poweroff fail.
12101
12102 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12103
12104 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12105 arguments, not three.
12106
12107 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12108
12109 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12110 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12111 LVM-on-RAID is handled correctly.
12112
12113 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12114
12115 * docs/grub.texi (Changes from GRUB Legacy): New section.
12116 (Future): Fix typo.
12117
12118 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12119
12120 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12121 grub.d/README accidentally ends up executable for one reason or
12122 another. Ignore it.
12123
12124 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12125
12126 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12127 (gpt_partition_map_iterate): Support non-512B sectors.
12128
12129 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12130
12131 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12132 Tested by: Seth Goldberg.
12133
12134 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12135
12136 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12137 Properly align mbi.
12138 Reported by: Seth Goldberg.
12139
12140 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12141
12142 * util/grub-mkrescue.in: Avoid module duplication.
12143
12144 2010-07-01 Sean Finney <seanius@seanius.net>
12145
12146 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12147
12148 2010-07-01 Sean Finney <seanius@seanius.net>
12149
12150 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12151
12152 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12153
12154 * disk/lvm.c (grub_lvm_checkvalue): New function.
12155 (grub_lvm_check_flag): Likewise.
12156
12157 2010-07-01 Robert Millan <rmh@gnu.org>
12158
12159 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12160 Support 'p' as partition separator on kernel of FreeBSD (used
12161 with GPT labels).
12162 (grub_util_biosdisk_get_grub_dev): Likewise.
12163
12164 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12165
12166 Yeeloong firmware port.
12167
12168 * boot/mips/yeeloong/fwstart.S: New file.
12169 * bus/cs5536.c (gpiodump): New const.
12170 (set_io_space): New function.
12171 (set_iod): Likewise.
12172 (set_p2d): Likewise.
12173 (grub_cs5536_init_geode): Likewise.
12174 * commands/mips/yeeloong/lsspd.c: New file.
12175 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12176 (serial_mod_SOURCES): New variable.
12177 (serial_mod_CFLAGS): Likewise.
12178 (serial_mod_LDFLAGS): Likewise.
12179 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12180 term/terminfo.c and term/tparm.c.
12181 (pkglib_IMAGES): Add fwstart.img.
12182 (fwstart_img_SOURCES): New variable.
12183 (fwstart_img_CFLAGS): Likewise.
12184 (fwstart_img_ASFLAGS): Likewise.
12185 (fwstart_img_LDFLAGS): Likewise.
12186 (fwstart_img_FORMAT): Likewise.
12187 (pkglib_MODULES): Add lsspd.mod.
12188 (lsspd_mod_SOURCES): New variable.
12189 (lsspd_mod_CFLAGS): Likewise.
12190 (lsspd_mod_LDFLAGS): Likewise.
12191 (pkglib_MODULES): Add halt.mod.
12192 (halt_mod_SOURCES): New variable.
12193 (halt_mod_CFLAGS): Likewise.
12194 (halt_mod_LDFLAGS): Likewise.
12195 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12196 (serial_mod_SOURCES): Removed.
12197 (serial_mod_CFLAGS): Likewise.
12198 (serial_mod_LDFLAGS): Likewise.
12199 * disk/ata.c (check_device): New function.
12200 (grub_ata_device_initialize): Use check_device.
12201 (grub_ata_iterate): Recheck devices.
12202 (grub_ata_open): Likewise.
12203 (grub_atapi_iterate): Likewise.
12204 (grub_atapi_open): Likewise.
12205 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12206 (GRUB_ATA_CH1_PORT1): Likewise.
12207 (GRUB_ATA_CH0_PORT2): Likewise.
12208 (GRUB_ATA_CH1_PORT2): Likewise.
12209 * include/grub/mips/loongson.h: New file.
12210 * include/grub/mips/yeeloong/ec.h: Likewise.
12211 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12212 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12213 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12214 * include/grub/misc.h (grub_halt): Declare as noreturn.
12215 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12216 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12217 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12218 (UART_ENABLE_DTRRTS): Likewise.
12219 (UART_ENABLE_MODEM): Removed.
12220 (UART_ENABLE_OUT2): New const.
12221 * include/grub/term.h (grub_term_register_input_active): New function.
12222 (grub_term_register_output_active): Likewise.
12223 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12224 argument.
12225 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12226 (init_pci): New function.
12227 (grub_machine_init): Execute platform init when firmware. Init serial.
12228 (grub_halt): Implement.
12229 (grub_exit): Likewise.
12230 (grub_reboot): Likewise.
12231 * term/serial.c (serial_hw_init): Update macros.
12232 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12233 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12234 (image_targets): New target mipsel-yeeloong-flash.
12235 (generate_image): Support IMAGE_YEELOONG_FLASH.
12236 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12237 (grub_video_sm712_setup): Init card.
12238 (grub_video_sm712_set_palette): Removed.
12239 * video/sm712_init.c: New file.
12240
12241 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12242
12243 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12244 PATH when running help2man and then run it on the unadorned
12245 executable names, rather than passing $(builddir)/* paths to
12246 help2man. This avoids the build directory ending up in generated
12247 manual pages.
12248
12249 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12250
12251 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12252 to avoid accidents when debugging with 'sh -x'.
12253 * util/grub-mkrescue.in: Likewise.
12254 * util/grub.d/00_header.in: Likewise.
12255 * util/grub.d/10_hurd.in: Likewise.
12256 * util/grub.d/10_kfreebsd.in: Likewise.
12257 * util/grub.d/10_linux.in: Likewise.
12258 * util/grub.d/10_netbsd.in: Likewise.
12259 * util/grub.d/10_windows.in: Likewise.
12260 * util/grub.d/20_linux_xen.in: Likewise.
12261 * util/grub.d/30_os-prober.in: Likewise.
12262 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12263
12264 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12265
12266 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12267 last character in the buffer.
12268 Reported by: Vladimir Serbinenko.
12269
12270 2010-06-29 Robert Millan <rmh@gnu.org>
12271
12272 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12273 (Command-line and menu entry commands): Document `badram' command.
12274
12275 2010-06-28 Robert Millan <rmh@gnu.org>
12276
12277 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12278 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12279 command using ${GRUB_BADRAM} as parameter.
12280
12281 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12282
12283 * docs/grub.texi (Device map): New section.
12284 (Themes): New section (stub).
12285 * Makefile.in (docs/grub.info): The info documentation now builds
12286 without errors. Make sure it stays that way.
12287
12288 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12289
12290 Use normal parser for menu entries.
12291 Reported by: Thomas Frauendorfer
12292
12293 * include/grub/parser.h (grub_parser_execute): Don't export.
12294 * normal/menu.c (grub_menu_execute_entry_real): New function.
12295 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12296
12297 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12298
12299 * docs/grub.texi (Embedded configuration): New section (replacing
12300 old "Preset Menu" stub).
12301 (Images): New section.
12302 (configfile): Note that any menu entries defined in `file' are shown
12303 immediately.
12304
12305 2010-06-28 Josh Triplett <josh@joshtriplett.org>
12306
12307 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12308
12309 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12310
12311 * util/grub-install.in: Add --debug-image= option.
12312
12313 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12314
12315 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12316 possible on Linux.
12317
12318 * util/deviceiter.c (check_device): Rename to ...
12319 (check_device_readable_unique): ... this. Update all callers.
12320 Maintain and check a list of which devices (by canonicalized name)
12321 have already been seen.
12322 (clear_seen_devices): New function.
12323 (compare_file_names) [__linux__]: New function.
12324 (grub_util_iterate_devices): Clear the list of seen devices on exit
12325 and (just in case) on entry.
12326 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12327 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12328 seen-devices list, superseded by general code in check_device.
12329
12330 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12331
12332 * commands/cat.c (options): New variable.
12333 (grub_cmd_cat): Parse options. If the --dos option is given, print
12334 DOS-style "\r\n" line endings as simple newlines (Debian bug
12335 #586358).
12336 (GRUB_MOD_INIT): Use extcmd.
12337 (GRUB_MOD_FINI): Likewise.
12338 * docs/grub.texi (cat): Document --dos.
12339
12340 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12341
12342 XEN with Linux grub-mkconfig support.
12343
12344 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12345 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12346 GRUB_CMDLINE_XEN_DEFAULT.
12347 * util/grub.d/20_linux_xen.in: New file.
12348
12349 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12350
12351 Initialise VGA video on qemu ourselves.
12352
12353 * boot/i386/qemu/boot.S: Don't call 0xc000.
12354 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12355 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12356 (kernel_img_HEADERS): Add pci.h.
12357 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12358 * configure.ac: Force unifont on qemu and yeeloong.
12359 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12360 (grub_vga_palette_write): Use correct register.
12361 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12362 Call grub_qemu_init_cirrus.
12363 * kern/i386/qemu/init.c: New file.
12364 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12365
12366 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12367
12368 2010-06-26 Pavel Roskin <proski@gnu.org>
12369
12370 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12371 13.
12372
12373 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12374
12375 * docs/grub.texi (Simple configuration): Explain that
12376 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12377 set to `true' to disable their respective recovery entries, not
12378 merely set.
12379
12380 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12381
12382 Make the `source' command slightly faster.
12383
12384 * normal/main.c (grub_normal_execute): Don't re-read list files when
12385 nested.
12386
12387 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12388
12389 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12390 field position and mask size to red fields from mode_info, not
12391 green.
12392 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12393 Remove redundant tag->common.framebuffer_type assignment.
12394 Reported by: Seth Goldberg.
12395
12396 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12397
12398 Sync up other versions of the Linux loader with Robert Millan's
12399 change of 2010-01-09, "Make loader output a bit more user-friendly".
12400
12401 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12402 grub_dprintf().
12403 (grub_cmd_linux): Likewise.
12404 (grub_cmd_initrd): Likewise.
12405 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12406 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12407
12408 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
12409
12410 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12411 larger than MEMORY_MAP_SIZE.
12412
12413 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12414
12415 Fix parallel build.
12416
12417 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12418 dependency.
12419 * script/parser.y: #include grub_script.tab.h header.
12420
12421 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12422
12423 Support >3GiB and <16MiB RAM in i386-qemu.
12424
12425 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12426 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12427 (grub_lower_mem): Removed.
12428 (grub_upper_mem): Likewise.
12429 (mem_size): Made static.
12430 (above_4g): New variable.
12431 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12432 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12433 support.
12434
12435 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 Cirrus 5446 and Bochs video cards support.
12438
12439 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12440 video_bochs.mod
12441 (video_cirrus_mod_SOURCES): New variable.
12442 (video_cirrus_mod_CFLAGS): Likewise.
12443 (video_cirrus_mod_LDFLAGS): Likewise.
12444 (video_bochs_mod_SOURCES): Likewise.
12445 (video_bochs_mod_CFLAGS): Likewise.
12446 (video_bochs_mod_LDFLAGS): Likewise.
12447 * include/grub/vga.h: New file.
12448 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12449 (grub_video_fb_set_page_t): New type.
12450 (grub_video_fb_setup): New prototype.
12451 (grub_video_fb_swap_buffers): Likewise.
12452 (grub_video_fb_get_info_and_fini): Likewise.
12453 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12454 (CRTC_DATA_PORT): Likewise.
12455 (CRTC_CURSOR): Likewise.
12456 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12457 (CRTC_CURSOR_ADDR_LOW): Likewise.
12458 (CRTC_CURSOR_DISABLE): Likewise.
12459 (update_cursor): Use grub_vga_cr_write.
12460 (grub_vga_text_setcursor): Likewise.
12461 * video/bochs.c: New file.
12462 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12463 (palette): Likewise.
12464 (palette_size): Likewise.
12465 (framebuffer): New variable.
12466 (grub_video_fb_init): Use 'framebuffer'.
12467 (grub_video_fb_fini): Likewise.
12468 (grub_video_fb_get_info): Likewise.
12469 (grub_video_fb_get_palette): Likewise.
12470 (grub_video_fb_set_palette): Likewise.
12471 (grub_video_fb_set_viewport): Likewise.
12472 (grub_video_fb_get_viewport): Likewise.
12473 (grub_video_fb_map_color): Likewise.
12474 (grub_video_fb_map_rgb): Likewise.
12475 (grub_video_fb_map_rgba): Likewise.
12476 (grub_video_fb_unmap_color): Likewise.
12477 (grub_video_fb_unmap_color_int): Likewise.
12478 (grub_video_fb_fill_rect): Likewise.
12479 (grub_video_fb_blit_bitmap): Likewise.
12480 (grub_video_fb_blit_render_target): Likewise.
12481 (grub_video_fb_scroll): Likewise.
12482 (grub_video_fb_create_render_target): Likewise.
12483 (grub_video_fb_doublebuf_blit_init): Likewise.
12484 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12485 (doublebuf_pageflipping_update_screen): New function.
12486 (doublebuf_pageflipping_init): Likewise.
12487 (grub_video_fb_setup): Likewise.
12488 (grub_video_fb_swap_buffers): Likewise.
12489 (grub_video_fb_get_info_and_fini): Likewise.
12490 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12491 All users updated.
12492 (doublebuf_pageflipping_commit): Restructured into ...
12493 (doublebuf_pageflipping_set_page): ... this.
12494 (doublebuf_pageflipping_update_screen): Removed.
12495 (doublebuf_pageflipping_init): Likewise.
12496 (double_buffering_init): Likewise.
12497 (grub_video_vbe_setup): Use grub_video_fb_setup.
12498 (grub_video_vbe_swap_buffers): Removed.
12499 (grub_video_vbe_set_active_render_target): Likewise.
12500 (grub_video_vbe_get_active_render_target): Likewise.
12501 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12502 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12503 grub_video_fb_set_active_render_target and
12504 grub_video_fb_get_active_render_target.
12505 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12506 (SEQUENCER_DATA_PORT): Likewise.
12507 (MAP_MASK_REGISTER): Likewise.
12508 (CRTC_ADDR_PORT): Likewise.
12509 (CRTC_DATA_PORT): Likewise.
12510 (START_ADDR_HIGH_REGISTER): Likewise.
12511 (START_ADDR_LOW_REGISTER): Likewise.
12512 (GRAPHICS_ADDR_PORT): Likewise.
12513 (GRAPHICS_DATA_PORT): Likewise.
12514 (READ_MAP_REGISTER): Likewise.
12515 (INPUT_STATUS1_REGISTER): Likewise.
12516 (INPUT_STATUS1_VERTR_BIT): Likewise.
12517 (get_map_mask): Use grub_vga_sr_read.
12518 (set_map_mask): Use grub_vga_sr_write.
12519 (set_read_map): Use grub_vga_gr_write.
12520 (set_start_address): Use grub_vga_cr_write.
12521 * video/sm712.c (framebuffer): Remove leftover fields.
12522
12523 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
12524
12525 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12526 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12527 instead. Replace the gfxterm backend check with a check that
12528 ${GRUB_PREFIX}/video.lst is non-empty.
12529 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12530 again.
12531 (load_video): New generated function. Call it before loading
12532 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12533 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12534 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12535 * docs/grub.texi (Simple configuration): Document
12536 GRUB_VIDEO_BACKEND.
12537
12538 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12539
12540 Use video functions in linux and xnu loaders.
12541
12542 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12543 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12544 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12545 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12546 loader/i386/pc/linux.c.
12547 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12548 (find_line_len): Removed.
12549 (find_framebuf): Likewise.
12550 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12551 * loader/i386/efi/xnu.c: Removed.
12552 * loader/i386/pc/xnu.c: Moved from here...
12553 * loader/i386/xnu.c: ...here.
12554
12555 Enable priorities in video drivers.
12556
12557 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12558 (grub_video_adapter): New field prio.
12559 (grub_video_register): Respect prio when inserting.
12560 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12561 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12562 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12563 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12564 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12565 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12566 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12567
12568 Fix SDL driver ID.
12569
12570 * include/grub/video.h (grub_video_driver_id_t): New value
12571 GRUB_VIDEO_DRIVER_SDL.
12572 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12573
12574 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12575
12576 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12577 argument to printf.
12578 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12579
12580 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12581
12582 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12583 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12584
12585 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12586
12587 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12588 directly, and recommend grub-install instead.
12589 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12590
12591 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12592
12593 Fix i386-pc prefix handling with nested partitions (Debian bug
12594 #585068). Note that the case where the core image is booted using
12595 multiboot and relocated from its original location still requires
12596 more work.
12597
12598 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12599 with "(,", fill the boot drive in between those two characters, but
12600 expect that a full partition specification including partition map
12601 names will follow.
12602 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12603 specified, write a prefix without the drive name but including a
12604 full partition specification.
12605
12606 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
12607
12608 * util/grub-mkconfig.in: Ignore non-option arguments, for
12609 compatibility with older versions (before 2010-06-12) which did the
12610 same. In particular, this makes it easier to ship an update-grub
12611 wrapper which is compatible with that used with GRUB Legacy (Debian
12612 bug #586056).
12613
12614 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12615
12616 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12617 for manual page generation.
12618
12619 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12620
12621 * po/POTFILES: Remove leftover commands/handler.c.
12622
12623 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12624
12625 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12626 left this script non-functional.
12627
12628 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12629
12630 * docs/man/grub-emu.h2m: New file.
12631
12632 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
12633
12634 * docs/grub.texi (Commands): Document reduced command set in rescue
12635 mode.
12636 (cpuid): New section.
12637
12638 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12639
12640 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12641 new partition naming style.
12642 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12643
12644 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12645
12646 Add "-o grub.iso" like cmdline options support.
12647
12648 * util/grub-install.in: Improve cmdline option parsing.
12649 * util/grub-mkconfig.in: Likewise.
12650 * util/grub-mkrescue.in: Likewise.
12651 * util/grub-reboot.in: Likewise.
12652 * util/grub-set-default.in: Likewise.
12653 * util/i386/efi/grub-install.in: Likewise.
12654 * util/ieee1275/grub-install.in: Likewise.
12655 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12656
12657 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12658
12659 * .bzrignore: Ignore 41_custom.
12660
12661 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12662
12663 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12664
12665 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12666
12667 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12668 prototype declarations.
12669
12670 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12671 generating fs, partmap, and video lists.
12672 * include/grub/fs.h (grub_fs_register): Omit prototype if
12673 GRUB_LST_GENERATOR is defined.
12674 * include/grub/partition.h (grub_partition_map_register): Likewise.
12675 * include/grub/video.h (grub_video_register): Likewise.
12676
12677 2010-06-12 Javier Martín <lordhabbit@gmail.com>
12678
12679 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12680
12681 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12682
12683 * util/grub-mkrescue.in: Support --xorriso argument.
12684
12685 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12688 Suggested by: Thomas Schmitt.
12689
12690 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12691
12692 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12693 Suggested by: Thomas Schmitt.
12694
12695 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12696
12697 custom.cfg support.
12698
12699 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12700 * util/grub.d/41_custom.in: New file.
12701
12702 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12703
12704 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12705 been merged back into normal.
12706
12707 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12708
12709 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12710 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12711
12712 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12713
12714 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12715 when generating manual pages.
12716 * docs/man/grub-bin2h.h2m: New file.
12717 * docs/man/grub-editenv.h2m: New file.
12718 * docs/man/grub-fstest.h2m: New file.
12719 * docs/man/grub-install.h2m: New file.
12720 * docs/man/grub-macho2img.h2m: New file.
12721 * docs/man/grub-mkconfig.h2m: New file.
12722 * docs/man/grub-mkdevicemap.h2m: New file.
12723 * docs/man/grub-mkfont.h2m: New file.
12724 * docs/man/grub-mkimage.h2m: New file.
12725 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12726 * docs/man/grub-mkrelpath.h2m: New file.
12727 * docs/man/grub-mkrescue.h2m: New file.
12728 * docs/man/grub-ofpathname.h2m: New file.
12729 * docs/man/grub-pe2elf.h2m: New file.
12730 * docs/man/grub-probe.h2m: New file.
12731 * docs/man/grub-reboot.h2m: New file.
12732 * docs/man/grub-script-check.h2m: New file.
12733 * docs/man/grub-set-default.h2m: New file.
12734 * docs/man/grub-setup.h2m: New file.
12735
12736 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
12737
12738 Use FOR_* macros instead of *_iterate whenever possible.
12739
12740 * commands/handler.c: Removed.
12741 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
12742 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
12743 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12744 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
12745 (grub_probe_SOURCES): Remove kern/parser.c.
12746 (util/grub-script-check.c_DEPENDENCIES): Removed.
12747 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
12748 and grub_script_check_init.c.
12749 (grub_script_check_init.lst): Removed.
12750 (grub_script_check_init.h): Likewise.
12751 (grub_script_check_init.c): Likewise.
12752 (pkglib_MODULES): Remove handler.mod and sh.mod.
12753 (handler_mod_SOURCES): Removed.
12754 (handler_mod_CFLAGS): Likewise.
12755 (handler_mod_LDFLAGS): Likewise.
12756 (normal_mod_SOURCES): Remove normal/handler.c.
12757 Add script/main.c, script/script.c, script/execute.c,
12758 script/function.c, script/lexer.c, grub_script.tab.c
12759 and grub_script.yy.c.
12760 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12761 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12762 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
12763 (grub_setup_SOURCES): Remove kern/parser.c.
12764 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12765 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
12766 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12767 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12768 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12769 (grub_setup_SOURCES): Remove kern/parser.c.
12770 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12771 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
12772 * include/grub/command.h (grub_command_iterate): Removed.
12773 (FOR_COMMANDS): New macro.
12774 * include/grub/dl.h (grub_dl): New member next.
12775 (grub_dl_iterate): Removed.
12776 (grub_dl_head): New variable declaration.
12777 (FOR_DL_MODULES): New macro.
12778 * include/grub/fs.h: Include list.h.
12779 (grub_fs): Make next first element.
12780 (grub_fs_list): New variable declaration.
12781 (grub_fs_register): Make inline.
12782 (grub_fs_unregister): Likewise.
12783 (grub_fs_iterate): Removed.
12784 (FOR_FILESYSTEMS): New macro.
12785 * include/grub/handler.h: Removed.
12786 * include/grub/list.h (grub_list_hook_t): Removed.
12787 (grub_list_test_t): Likewise.
12788 (grub_list_pop): Likewise.
12789 (grub_list_iterate): Likewise.
12790 (grub_list_insert): Likewise.
12791 (FOR_LIST_ELEMENTS): New macro.
12792 * include/grub/parser.h (grub_parser_class): Removed.
12793 (grub_parser_register): Likewise.
12794 (grub_parser_unregister): Likewise.
12795 (grub_parser_get_current): Likewise.
12796 (grub_parser_set_current): Likewise.
12797 (grub_register_rescue_parser): Likewise.
12798 (grub_rescue_parse_line): New function.
12799 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
12800 * include/grub/script_sh.h (grub_script_function_list): New variable
12801 declaration.
12802 (FOR_SCRIPT_FUNCTIONS): New macro.
12803 (grub_script_function_iterate): Removed.
12804 (grub_normal_parse_line): New prototype.
12805 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
12806 (FOR_DISABLED_TERM_INPUTS): Likewise.
12807 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12808 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12809 * include/grub/video.h (grub_video_adapter): Move 'next' to first
12810 element.
12811 (grub_video_register): Inline.
12812 (grub_video_unregister): Likewise.
12813 (grub_video_adapter_list): New variable declaration.
12814 (grub_video_iterate): Removed.
12815 (FOR_VIDEO_ADAPTERS): New macro.
12816 * kern/dl.c (grub_dl_list): Removed. All users updated.
12817 (grub_dl_iterate): Removed.
12818 * kern/fs.c (grub_fs_list): Make global.
12819 (grub_fs_register): Removed.
12820 (grub_fs_unregister): Likewise.
12821 (grub_fs_iterate): Likewise.
12822 * kern/handler.c: Removed.
12823 * kern/list.c (grub_list_pop): Removed.
12824 (grub_list_iterate): Likewise.
12825 (grub_list_insert): Likewise.
12826 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
12827 (grub_prio_list_insert): Don't use grub_list_insert.
12828 * kern/main.c (grub_register_rescue_parser): Don't call
12829 grub_register_rescue_parser.
12830 * kern/parser.c (grub_parser_class): Removed.
12831 (grub_parser_execute): Use grub_rescue_parse_line.
12832 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
12833 (grub_rescue_parser): Removed.
12834 (grub_register_rescue_parser): Likewise.
12835 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
12836 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
12837 (grub_auth_check_authentication): Likewise.
12838 * normal/completion.c (iterate_command): Removed.
12839 (grub_normal_do_completion): Use FOR_COMMANDS.
12840 * normal/handler.c: Removed.
12841 * normal/main.c (read_config_file): Remove parser changing.
12842 (grub_normal_execute): Don't call read_handler_list.
12843 (grub_normal_read_line_real): Statically allocate prompt.
12844 (grub_cmdline_run): Use grub_normal_parse_line.
12845 (GRUB_MOD_FINI): Don't call free_handler_list.
12846 * normal/menu_entry.c (run): Likewise.
12847 * script/function.c (grub_script_function_list): Make global.
12848 (grub_script_function_iterate): Removed.
12849 * script/main.c (grub_normal_parse_line): Make global.
12850 (grub_sh_parser): Removed.
12851 (GRUB_MOD_INIT): Likewise.
12852 (GRUB_MOD_FINI): Likewise.
12853 * tests/lib/functional_test.c (grub_functional_test): Use
12854 FOR_LIST_ELEMENTS.
12855 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
12856 (grub_test_run): Use FOR_LIST_ELEMENTS.
12857 * tests/lib/unit_test.c (main): Likewise.
12858 * util/deviceiter.c (grub_util_iterate_devices): Don't use
12859 grub_list_pop.
12860 * util/grub-fstest.c (grub_term_input_class): Removed.
12861 (grub_term_output_class): Likewise.
12862 * util/grub-probe.c: Likewise.
12863 * util/i386/pc/grub-setup.c: Likewise.
12864 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12865 * util/grub-script-check.c (main): Don't call grub_init_all and
12866 grub_fini_all.
12867 * video/video.c (grub_video_adapter_list): Make global.
12868 (grub_video_register): Removed.
12869 (grub_video_unregister): Likewise.
12870 (grub_video_iterate): Likewise.
12871
12872 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
12873
12874 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
12875 reported by Henrique Ferreiro.
12876
12877 2010-06-09 Robert Millan <rmh@gnu.org>
12878
12879 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
12880 ones, when both are available.
12881
12882 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12883
12884 Make --version uniform and avoid hard-coded program name.
12885
12886 * util/grub-mkimage.c (main): Use `program_name' instead of
12887 hard-coded string.
12888 * util/i386/pc/grub-setup.c (main): Likewise.
12889 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
12890 * util/grub-install.in: Save the basename of $0 in $self, and use the
12891 latter in informational messages. Use the same format for --version
12892 as the binary programs.
12893 * util/grub-mkconfig.in: Likewise.
12894 * util/grub-mkrescue.in: Likewise.
12895 * util/grub-reboot.in: Likewise.
12896 * util/grub-set-default.in: Likewise.
12897 * util/i386/efi/grub-install.in: Likewise.
12898 * util/ieee1275/grub-install.in: Likewise.
12899 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12900
12901 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12902
12903 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
12904 embedding area. Use <= instead of == when checking for non-emptiness.
12905
12906 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12907
12908 * configure.ac: Add `.' to the directories searched for unifont.
12909
12910 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12911
12912 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
12913 grub_script.yy.h.
12914
12915 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12916
12917 * docs/grub.texi (History): Expand to cover GRUB 2.
12918 (Serial terminal): Refer to `terminal_input' and `terminal_output'
12919 commands, not `terminal'.
12920 (serial): Likewise.
12921 (terminal_input): New section.
12922 (terminal_output): New section.
12923 (uppermem): New section (stub).
12924 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
12925
12926 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12927
12928 * docs/grub.texi (Security): Menu entries are unrestricted by
12929 default, not restricted to superusers as I had previously thought.
12930 Reword to account for this.
12931
12932 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12933
12934 * kern/emu/misc.c (device_mapper_null_log): New function.
12935 (grub_device_mapper_supported): New function.
12936 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
12937 prototype.
12938 * kern/emu/hostdisk.c (find_partition_start): Check whether
12939 device-mapper is supported before trying to use it.
12940 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
12941
12942 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12943
12944 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
12945 (File name syntax): Likewise.
12946 (help): --all is no longer supported in GRUB 2. Be more precise
12947 about pattern matching.
12948
12949 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12950
12951 * normal/completion.c (grub_normal_do_completion): When completing
12952 arguments to "set" and the current word contains an equals sign,
12953 skip to after the equals sign before starting completion.
12954
12955 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12956
12957 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
12958
12959 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12960
12961 * docs/grub.texi (Network): New section.
12962 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
12963 `(nd)' as in GRUB Legacy.
12964 (pxe_unload): New section.
12965
12966 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12967
12968 * docs/grub.texi (Troubleshooting): `echo' is not usually available
12969 in the rescue shell, so recommend using `set' instead. Thanks,
12970 Jordan Uggla.
12971
12972 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12973
12974 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
12975 (password): New section.
12976 (password_pbkdf2): New section.
12977 (search): New section.
12978 (Security): New section.
12979 (Troubleshooting): New section, currently very incomplete.
12980 (Invoking grub-mkpasswd-pbkdf2): New section.
12981 (Internals): New section, currently very incomplete.
12982
12983 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12984
12985 * util/grub.d/00_header.in: Add some more quoting (of
12986 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
12987 work again.
12988 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
12989
12990 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12991
12992 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
12993 to `count', fixing variable shadowing that broke the -c option.
12994
12995 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
12996
12997 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
12998 in case they contain spaces.
12999
13000 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13001
13002 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
13003 "part_" to partmap module names, in line with grub-install.
13004 Reported by: Jindřich Makovička (Debian bug #584426).
13005
13006 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
13007
13008 * util/grub-mkimage.c: Make target-related error messages slightly
13009 more helpful; -O talks about "format". Explicitly point to the use
13010 of -O if no target is specified.
13011 Reported by: Didier Raboud (Debian bug #584415).
13012
13013 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
13014
13015 * INSTALL: Document several build requirements for optional features
13016 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
13017
13018 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
13019
13020 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
13021 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
13022 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
13023
13024 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13025
13026 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
13027 Thanks to Jordan Uggla for spotting this.
13028
13029 2010-06-02 Aleš Nesrsta <starous@volny.cz>
13030
13031 Finally make USB usable.
13032
13033 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
13034 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
13035 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
13036 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
13037 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
13038 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
13039 (GRUB_OHCI_FSMPS): Likewise.
13040 (GRUB_OHCI_PERIODIC_START): Likewise.
13041 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
13042 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
13043 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
13044 (GRUB_OHCI_SET_PORT_RESET): Likewise.
13045 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
13046 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
13047 (grub_ohci_transaction): Likewise.
13048 (grub_ohci_transfer): Improve condition detection algorithms.
13049 Handle toggle property. Program the transactions correctly.
13050 Improve error handling. Various important fixups.
13051 (grub_ohci_portstatus): Put register writes in right order.
13052 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
13053 (grub_uhci_transfer): Don't show "failed" message on success.
13054 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
13055 array.
13056 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
13057 determine its size.
13058 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13059 before initialization is completed. Use IN direction for empty
13060 transfers. Use last_trans and compute toggle.
13061 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13062 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13063 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13064 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13065 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13066 (grub_usb_device): Increase toggle to 256.
13067 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13068 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13069 GRUB_USBMS_SUBCLASS_SFF8070.
13070 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13071 (grub_scsi_inquiry): New member page and alloc_length.
13072 (grub_scsi_request_sense): New structure.
13073 (grub_scsi_request_sense_data): Likewise.
13074 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13075 control.
13076 * disk/scsi.c (grub_scsi_request_sense): New function.
13077 (grub_scsi_test_unit_ready): Likewise.
13078 (grub_scsi_inquiry): Fill new fields.
13079 (grub_scsi_read_capacity): Likewise.
13080 (grub_scsi_read10): Add request sense at the end.
13081 (grub_scsi_read12): Likewise.
13082 (grub_scsi_write10): Likewise.
13083 (grub_scsi_write12): Likewise.
13084 (grub_scsi_open): Add Test Unit Ready.
13085 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13086 Support additional subclasses. Con't clear halt yet. Activate the
13087 proper config. Calculate LUNs correctly.
13088 (grub_usbms_transfer): Various important fixups.
13089
13090 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13091
13092 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13093 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13094 (grub_ohci_fini_hw): New function.
13095 (grub_ohci_restore_hw): Likewise.
13096 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13097 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13098 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13099
13100 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 Dedicated DMA allocations.
13103
13104 * bus/pci.c (grub_memalign_dma32): New function
13105 (grub_dma_free): Likewise.
13106 (grub_dma_get_virt): Likewise.
13107 (grub_dma_get_phys): Likewise.
13108 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13109 (grub_ohci_pci_iter): Use dma32_alloc.
13110 (grub_ohci_transfer): Likewise.
13111 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13112 (grub_usb_bulk_readwrite): Likewise.
13113 * include/grub/pci.h: Add declarations.
13114
13115 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 CS5536 support.
13118
13119 * bus/cs5536.c: New file.
13120 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13121 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13122 (cs5536_mod_SOURCES): New variable.
13123 (cs5536_mod_CFLAGS): Likewise.
13124 (cs5536_mod_LDFLAGS): Likewise.
13125 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13126 machine/pci.h.
13127 (kernel_img_SOURCES): Add bus/cs5536.c.
13128 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13129 usb_keyboard.mod.
13130 (usb_mod_SOURCES): New variable.
13131 (usb_mod_CFLAGS): New variable.
13132 (usb_mod_LDFLAGS): New variable.
13133 (usbtest_mod_SOURCES): New variable.
13134 (usbtest_mod_CFLAGS): New variable.
13135 (usbtest_mod_LDFLAGS): New variable.
13136 (ohci_mod_SOURCES): New variable.
13137 (ohci_mod_CFLAGS): New variable.
13138 (ohci_mod_LDFLAGS): New variable.
13139 (usbms_mod_SOURCES): New variable.
13140 (usbms_mod_CFLAGS): New variable.
13141 (usbms_mod_LDFLAGS): New variable.
13142 (usb_keyboard_mod_SOURCES): New variable.
13143 (usb_keyboard_mod_CFLAGS): New variable.
13144 (usb_keyboard_mod_LDFLAGS): New variable.
13145 * include/grub/smbus.h: New file.
13146 * include/grub/cs5536.h: New file.
13147
13148 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13149
13150 * util/grub.d/00_header.in: Add safety check to make sure that
13151 ${locale_dir} exists before trying to probe it.
13152
13153 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13154
13155 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13156 per the GNU Coding Standards; this is now too obscure to be worth
13157 documenting.
13158 (QNX): Likewise.
13159 (chainloader): Remove cross-reference to `SCO UnixWare'.
13160
13161 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13162
13163 * docs/grub.texi (Chain-loading): New section.
13164 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13165 adjusted for GRUB 2.
13166 (SCO UnixWare): Likewise.
13167 (QNX): Likewise.
13168 (chainloader): Add reference to `Block list syntax'.
13169 (drivemap): New section.
13170 (parttool): New section.
13171
13172 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13173
13174 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13175 the grub shell'.
13176 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13177 (Installing GRUB using grub-install): Remove reference to the grub
13178 shell; mention `grub-mkimage' and `grub-setup' instead.
13179 (Invoking grub-install): Likewise.
13180 (Interface): Add reference to `Menu entry editor'.
13181 (serial): Remove `--device' option.
13182
13183 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13184
13185 * docs/grub.texi (Configuration): New section, documenting
13186 configuration file generation using grub-mkconfig. I've left a slot
13187 for documenting the full shell scripting format but have not yet
13188 started on writing that up.
13189 (Invoking grub-mkconfig): New section.
13190
13191 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13192
13193 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13194 (GNU GRUB manual): Likewise.
13195 (General commands): Update description of `terminfo' for GRUB 2.
13196
13197 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13198
13199 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13200 (GRUB_MOD_INIT): Fix capitalisation.
13201 * docs/grub.texi (Command-line and menu entry commands): Document
13202 gettext and gptsync commands.
13203
13204 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13205
13206 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13207 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13208
13209 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13210
13211 Add btrfs probing support, currently only in the single-device case.
13212
13213 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13214 function.
13215 (grub_guess_root_device): Call find_root_device_from_mountinfo
13216 before looking in /dev.
13217
13218 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13221 GRUB_DISK_SIZE_UNKNOWN.
13222 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13223
13224 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13225
13226 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13227 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13228 corrupted or not synced properly.
13229
13230 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13233 Reported by: Seth Goldberg.
13234
13235 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13238 addition of dest.
13239 Reported by: Seth Goldberg.
13240
13241 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13242
13243 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13244 Reported by: Seth Goldberg.
13245
13246 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13249 64-bit address as signed on MIPS.
13250
13251 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13252
13253 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13254 to the empty string.
13255
13256 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13257
13258 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13259
13260 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13261 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13262 * kern/misc.c (__enable_execute_stack): Disable on
13263 GRUB_MACHINE_EMU.
13264
13265 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13266
13267 Make grub-probe work with symbolic links under /dev/mapper as well
13268 as with real block devices. The Linux world seems to be (at best)
13269 in transition here, and GRUB shouldn't get caught in the middle.
13270
13271 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13272 /dev/mapper.
13273
13274 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13275
13276 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13277 input files (in which case exit zero).
13278
13279 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13280
13281 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13282 return NULL for various reasons even if it has a maximum-length
13283 buffer: for example, there might be a symlink loop, or the path
13284 might exceed PATH_MAX. If this happens, return NULL.
13285
13286 2010-05-27 Robert Millan <rmh@gnu.org>
13287
13288 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13289 partmap module to handle cross-partmap setups.
13290 Reported by Orestes Mas. Gràcies!
13291
13292 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13293
13294 * util/grub-mkrescue.in: Initialise override_dir rather than
13295 assuming that it's unset or empty in the environment.
13296
13297 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13298
13299 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13300 variable index into p_index to suppress a warning with -Wshadow.
13301
13302 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13303
13304 * INSTALL: Added flex >= 2.5.35 requirement.
13305
13306 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13307
13308 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13309
13310 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 cmostest support.
13313
13314 * commands/i386/cmostest.c: New file.
13315 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13316 (cmostest_mod_SOURCES): New variable.
13317 (cmostest_mod_CFLAGS): Likewise.
13318 (cmostest_mod_LDFLAGS): Likewise.
13319 * conf/i386-pc.rmk: Likewise.
13320 * docs/grub.texi (Vendor power-on keys): New section.
13321 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13322 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13323 and GRUB_BUTTON_CMOS_ADDRESS.
13324 * util/grub.d/00_header.in: Handle powering-on by separate button.
13325
13326 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13327
13328 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13329 Removed drawing_scrollbar argument. All users updated
13330 Fixes #29792.
13331 Reported by Jo Shields
13332
13333 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13334
13335 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13336 buffer since gfxterm handles double repaint.
13337
13338 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13339
13340 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13341 * term/gfxterm.c (real_scroll): Likewise.
13342
13343 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13344
13345 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13346 before calling BIOS.
13347
13348 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * include/grub/i18n.h: Always enable grub_gettext.
13351
13352 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13355 partition naming style.
13356
13357 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
13358
13359 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13360 not the first option.
13361
13362 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13363
13364 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13365
13366 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13367
13368 * util/misc.c: Move inclusion of <limits.h> to ...
13369 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13370
13371 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13372
13373 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13374 Fix merge error in NetBSD code.
13375 (find_partition_start) [__NetBSD__]: Likewise.
13376
13377 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13378
13379 Fix grub-mkrescue usage unit testing.
13380
13381 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13382
13383 2010-05-18 Christian Franke <franke@computer.org>
13384
13385 * util/grub.d/10_windows.in: Use path names instead of
13386 drive letters to prevent warning from Cygwin 1.7.
13387 Add drivemap command to menuentry if needed.
13388
13389 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13390
13391 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13392 gnumach and gnumach.gz.
13393
13394 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13395
13396 * include/grub/i18n.h (gettext): Inline instead of using #define.
13397 (grub_gettext): Likewise.
13398 (_): Likewise.
13399
13400 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13401
13402 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13403 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13404 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13405 (main): Add a slash after pkglibdirroot.
13406
13407 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * util/grub-install.in: Add missing "in" keyword.
13410
13411 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13412
13413 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13414 Reported by: Seth Goldberg.
13415
13416 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13417
13418 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13419
13420 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13421
13422 * configure.ac: Check for Linux device-mapper support.
13423
13424 * util/hostdisk.c (device_is_mapped): New function.
13425 (find_partition_start): New function, partly broken out from
13426 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13427 device-mapper support added.
13428 (linux_find_partition): Use find_partition_start.
13429 (convert_system_partition_to_system_disk): Add `st' argument.
13430 Support Linux /dev/mapper/* devices if device-mapper support is
13431 available; only DM-RAID devices are understood at present.
13432 (find_system_device): Add `st' argument. Pass it to
13433 convert_system_partition_to_system_disk.
13434 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13435 find_system_device and convert_system_partition_to_system_disk. Use
13436 find_partition_start.
13437
13438 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13439 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13440 * util/deviceiter.c [__linux__]: Define MINOR.
13441 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13442 * util/mkdevicemap.c (grub_putchar): New function.
13443 (grub_getkey): New function.
13444 (grub_refresh): New function.
13445 (main): Set debug=all if -v -v is used.
13446
13447 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13448
13449 Fix build with non-GNU libcs.
13450
13451 * util/misc.c (canonicalize_file_name): Move to ...
13452 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13453 grub_make_system_path_relative_to_its_root.
13454
13455 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13456
13457 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13458 we handle finding grub-mkimage. Default to finding grub-mkimage in
13459 ${bindir} with program_transform_name applied, and provide a
13460 --grub-mkimage option to override this.
13461
13462 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13463
13464 Remove grub-mkisofs.
13465
13466 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13467 (grub_mkisofs_SOURCES): Removed.
13468 (grub_mkisofs_CFLAGS): Removed.
13469 * util/mkisofs/defaults.h: Removed.
13470 * util/mkisofs/eltorito.c: Likewise.
13471 * util/mkisofs/exclude.h: Likewise.
13472 * util/mkisofs/hash.c: Likewise.
13473 * util/mkisofs/include/: Likewise.
13474 * util/mkisofs/include/fctldefs.h: Likewise.
13475 * util/mkisofs/include/mconfig.h: Likewise.
13476 * util/mkisofs/include/prototyp.h: Likewise.
13477 * util/mkisofs/include/statdefs.h: Likewise.
13478 * util/mkisofs/iso9660.h: Likewise.
13479 * util/mkisofs/joliet.c: Likewise.
13480 * util/mkisofs/match.c: Likewise.
13481 * util/mkisofs/match.h: Likewise.
13482 * util/mkisofs/mkisofs.c: Likewise.
13483 * util/mkisofs/mkisofs.h: Likewise.
13484 * util/mkisofs/msdos_partition.h: Likewise.
13485 * util/mkisofs/multi.c: Likewise.
13486 * util/mkisofs/name.c: Likewise.
13487 * util/mkisofs/rock.c: Likewise.
13488 * util/mkisofs/tree.c: Likewise.
13489 * util/mkisofs/write.c: Likewise.
13490
13491 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13492
13493 Unify grub-mkimage accross platforms.
13494
13495 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13496 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13497 (grub_mkelfimage_SOURCES): Removed.
13498 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13499 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13500 (bin_UTILITIES): Add grub-mkimage.
13501 (grub_mkimage_SOURCES): New variable.
13502 (kernel_img_HEADERS): Remove machine/kernel.h.
13503 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13504 (pkglib_PROGRAMS): Add kernel.img.
13505 (kernel_img_HEADERS): Add machine/kernel.h.
13506 (kernel_img_FORMAT): Removed.
13507 (bin_UTILITIES): Remove grub-mkimage.
13508 (grub_mkimage_SOURCES): Removed.
13509 (grub_mkimage_CFLAGS): Likewise.
13510 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13511 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13512 (pkglib_PROGRAMS): Add kernel.img.
13513 (bin_UTILITIES): Remove grub-mkimage.
13514 (grub_mkimage_SOURCES): Removed.
13515 (grub_mkimage_CFLAGS): Likewise.
13516 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13517 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13518 (pkglib_PROGRAMS): Add kernel.img.
13519 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13520 (pkglib_PROGRAMS): Add kernel.img.
13521 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13522 (grub_mkimage_SOURCES): Removed.
13523 (grub_mkimage_CFLAGS): Likewise.
13524 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13525 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13526 (pkglib_PROGRAMS): Add kernel.img.
13527 (bin_UTILITIES): Remove grub-mkimage.
13528 (grub_mkimage_SOURCES): Removed.
13529 (grub_mkimage_CFLAGS): Likewise.
13530 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13531 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13532 (grub_mkimage_SOURCES): Removed.
13533 (grub_mkimage_CFLAGS): Likewise.
13534 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13535 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13536 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13537 (grub_pe32_optional_header): ... this.
13538 (grub_pe64_optional_header): ... and this. All users updated.
13539 (GRUB_PE32_PE32_MAGIC): Split into ..
13540 (GRUB_PE32_PE32_MAGIC): .. this.
13541 (GRUB_PE32_PE64_MAGIC): .. and this.
13542 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13543 * include/grub/elf.h (PT_GNU_STACK): New definition.
13544 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13545 * include/grub/i386/efi/kernel.h: Likewise.
13546 * include/grub/i386/kernel.h: Likewise.
13547 * include/grub/i386/pc/kernel.h: Likewise.
13548 * include/grub/i386/qemu/boot.h: Likewise.
13549 * include/grub/mips/kernel.h: Likewise.
13550 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13551 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13552 * include/grub/powerpc/kernel.h: Likewise.
13553 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13554 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13555 * include/grub/sparc64/kernel.h: Likewise.
13556 * include/grub/x86_64/efi/kernel.h: Likewise.
13557 * include/grub/x86_64/kernel.h: Likewise.
13558 * include/grub/offsets.h: New file.
13559 * include/grub/kernel.h (grub_module_info): Split into ...
13560 (grub_module_info32): ... this.
13561 (grub_module_info64): ... and this.
13562 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13563 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13564 (grub_boot_blocklist): Moved from here ...
13565 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13566 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13567 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13568 * include/grub/types.h (grub_target_to_host16): Removed.
13569 (grub_target_to_host32): Likewise.
13570 (grub_target_to_host64): Likewise.
13571 (grub_host_to_target16): Likewise.
13572 (grub_host_to_target32): Likewise.
13573 (grub_host_to_target64): Likewise.
13574 (grub_host_to_target_addr): Likewise.
13575
13576 Support grub-mkrescue for efi, coreboot and qemu.
13577
13578 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13579 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13580 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13581 * util/grub-mkrawimage.c: Moved from here ...
13582 * util/grub-mkimage.c: ... here. All users updated.
13583 (ALIGN_ADDR): Use image_target.
13584 (TARGET_NO_FIELD): New const.
13585 (image_target_desc): New type.
13586 (image_targets): New array.
13587 (grub_target_to_host64): Use image_target.
13588 (grub_target_to_host32): Likewise.
13589 (grub_target_to_host16): Likewise.
13590 (grub_host_to_target64): Likewise.
13591 (grub_host_to_target32): Likewise.
13592 (grub_host_to_target16): Likewise.
13593 (grub_host_to_target_addr): Likewise.
13594 (generate_image): Handle multiimage.
13595 (main): Require -O parameter. All users updated.
13596 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13597 util/efi/grub-mkimage.c
13598 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13599 New option --rom-directory.
13600 Use xorriso.
13601 * util/i386/efi/grub-mkimage.c: Removed.
13602 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13603 (grub_target_to_host32): Likewise.
13604 (grub_target_to_host64): Likewise.
13605 (grub_host_to_target16): Likewise.
13606 (grub_host_to_target32): Likewise.
13607 (grub_host_to_target64): Likewise.
13608 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13609 (grub_target_to_host32): Likewise.
13610 (grub_target_to_host64): Likewise.
13611 (grub_host_to_target16): Likewise.
13612 (grub_host_to_target32): Likewise.
13613 (grub_host_to_target64): Likewise.
13614
13615 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13616
13617 Source tree is reorganized for emu build.
13618
13619 * include/grub/util/console.h: Move from here...
13620 * include/grub/emu/console.h: ...to here.
13621 * include/grub/util/getroot.h: Move from here...
13622 * include/grub/emu/getroot.h: ...to here.
13623 * include/grub/util/hostdisk.h: Move from here...
13624 * include/grub/emu/hostdisk.h: ...to here.
13625 * util/console.c: Move from here...
13626 * kern/emu/console.c: ...to here.
13627 * util/getroot.c: Move from here...
13628 * kern/emu/getroot.c: ...to here.
13629 * util/grub-emu.c: Move from here...
13630 * kern/emu/main.c: ...to here.
13631 * util/hostdisk.c: Move from here...
13632 * kern/emu/hostdisk.c: ...to here.
13633 * util/hostfs.c: Move from here...
13634 * kern/emu/hostfs.c: ...to here.
13635 * util/mm.c: Move from here...
13636 * kern/emu/mm.c: ...to here.
13637 * util/pci.c: Move from here...
13638 * bus/emu/pci.c: ...to here.
13639 * util/sdl.c: Move from here...
13640 * video/emu/sdl.c: ...to here.
13641 * util/time.c: Move from here...
13642 * kern/emu/time.c: ...to here.
13643 * util/usb.c: Move from here...
13644 * bus/usb/emu/usb.c: ...to here.
13645
13646 * include/grub/emu/misc.h: New header for grub-emu functions.
13647 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13648
13649 * conf/any-emu.rmk: Rule updates for above renames.
13650 * conf/common.rmk: Likewise.
13651 * conf/i386-pc.rmk: Likewise.
13652 * conf/i386-qemu.rmk: Likewise.
13653 * conf/mips.rmk: Likewise.
13654 * conf/sparc64-ieee1275.rmk: Likewise.
13655 * conf/x86-efi.rmk: Likewise.
13656
13657 * disk/lvm.h: #include updates for above renames.
13658 * util/grub-mkrelpath.c: Likewise.
13659 * util/grub-probe.c: Likewise.
13660 * util/i386/pc/grub-setup.c: Likewise.
13661 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13662 * kern/emu/console.c: Likewise.
13663 * kern/emu/getroot.c: Likewise.
13664 * kern/emu/hostdisk.c: Likewise.
13665 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13666
13667 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13668 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13669 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13670 * util/misc.c: Remove grub-emu functions.
13671
13672 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13673
13674 Fix gfxmenu crash.
13675 Reported by: Thorsten Grützmacher.
13676
13677 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13678 timeout hook.
13679 (circprog_set_property): Register and unregister timeout hook.
13680 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13681 (label_destroy): Free template. and unregister hook.
13682 (label_set_state): New function.
13683 (label_set_property): Handle templates and hooks.
13684 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13685 timeout hook.
13686 (progress_bar_set_property): Register and unregister timeout hook.
13687 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13688 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13689 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13690 (update_timeout_visit): Removed.
13691 (update_timeouts): New function.
13692 (redraw_timeouts): Likewise.
13693 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13694 (grub_gfxmenu_clear_timeout): Likewise.
13695 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13696 (grub_gfxmenu_timeout_notify): Likewise.
13697 (grub_gfxmenu_timeout_notifications): New external variable.
13698 (grub_gfxmenu_timeout_register): New function.
13699 (grub_gfxmenu_timeout_unregister): Likewise.
13700
13701 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13702
13703 Transform (broken) vga terminal into (working) vga video driver.
13704
13705 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13706 video/i386/pc/vga.c.
13707 * include/grub/video.h (grub_video_driver_id):
13708 Add GRUB_VIDEO_DRIVER_VGA.
13709 * term/i386/pc/vga.c: Renamed to ...
13710 * video/i386/pc/vga.c: ...this
13711 (DEBUG_VGA): Removed.
13712 (CHAR_WIDTH): Likewise.
13713 (CHAR_HEIGHT): Likewise.
13714 (TEXT_WIDTH): Likewise.
13715 (TEXT_HEIGHT): Likewise.
13716 (DEFAULT_FG_COLOR): Likewise.
13717 (DEFAULT_BG_COLOR): Likewise.
13718 (colored_char): Likewise.
13719 (xpos): Likewise.
13720 (ypos): Likewise.
13721 (cursor_state): Likewise.
13722 (fg_color): Likewise.
13723 (bg_color): Likewise.
13724 (text_buf): Likewise.
13725 (page): Likewise.
13726 (font): Likewise.
13727 (framebuffer): New variable.
13728 (set_read_map): Disabled.
13729 (setup): New variable.
13730 (is_target): Likewise.
13731 (grub_vga_mod_init): Likewise.
13732 (grub_vga_mod_fini): Likewise.
13733 (check_vga_mem): Likewise.
13734 (write_char): Likewise.
13735 (write_cursor): Likewise.
13736 (scroll_up): Likewise.
13737 (grub_vga_putchar): Likewise.
13738 (grub_vga_getcharwidth): Likewise.
13739 (grub_vga_getwh): Likewise.
13740 (grub_vga_getxy): Likewise.
13741 (grub_vga_gotoxy): Likewise.
13742 (grub_vga_cls): Likewise.
13743 (grub_vga_setcolorstate): Likewise.
13744 (grub_vga_setcursor): Likewise.
13745 (grub_video_vga_init): New function.
13746 (grub_video_vga_setup): Likewise.
13747 (grub_video_vga_fini): Likewise.
13748 (update_target): Likewise.
13749 (grub_video_vga_blit_bitmap): Likewise.
13750 (grub_video_vga_blit_render_target): Likewise.
13751 (grub_video_vga_set_active_render_target): Likewise.
13752 (grub_video_vga_get_active_render_target): Likewise.
13753 (grub_video_vga_swap_buffers): Likewise.
13754 (grub_video_vga_set_palette): Likewise.
13755 (grub_video_vga_get_info_and_fini): Likewise.
13756 (grub_vga_term): Removed.
13757 (grub_video_vga_adapter): New variable.
13758 (GRUB_MOD_INIT): Register a video driver instead of terminal.
13759 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
13760
13761 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13762
13763 * video/readers/jpeg.c: Indented.
13764
13765 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13766
13767 Various jpeg cleanups.
13768
13769 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
13770 (grub_jpeg_decode_quan_table): Use sizeof.
13771 (grub_jpeg_decode_du): Use ARRAY_SIZE.
13772
13773 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
13774
13775 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
13776 tables. Ignore non-last ac bit.
13777 (grub_jpeg_decode_quan_table): Likewise.
13778
13779 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
13782 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
13783 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13784 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
13785 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
13786 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
13787
13788 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13789
13790 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
13791 error.
13792
13793 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13794
13795 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
13796
13797 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13798
13799 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
13800 condition.
13801
13802 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13803
13804 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
13805 part.
13806
13807 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13808
13809 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
13810 pointers.
13811
13812 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
13815
13816 2010-05-01 Christian Franke <franke@computer.org>
13817
13818 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
13819 Remove broken Cygwin path conversion.
13820 * util/misc.c: [__CYGWIN__] Add include and define.
13821 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
13822 for Cygwin 1.7.
13823 (make_system_path_relative_to_its_root): Simplify loop, replace early
13824 return by break.
13825 [__CYGWIN__] Add conversion to win32 path.
13826 Include "/" case in trailing slash removal.
13827
13828 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 * kern/main.c (grub_load_config): Fix copy-pasted comment.
13831 Reported by: Seth Goldberg
13832
13833 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13834
13835 * commands/help.c (grub_cmd_help): Fix a typo.
13836 Reported by: Seth Goldberg
13837
13838 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13839
13840 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
13841 name and add N_.
13842 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
13843 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
13844 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
13845 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
13846 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
13847 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
13848 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13849 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13850 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13851 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13852 * normal/context.c (GRUB_MOD_INIT): Likewise.
13853 * normal/main.c (GRUB_MOD_INIT): Likewise.
13854 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
13855 * term/serial.c (GRUB_MOD_INIT): Likewise.
13856 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
13857
13858 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13859
13860 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
13861 extra == 0.
13862
13863 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13864
13865 * commands/iorw.c: New file.
13866 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
13867 (iorw_mod_SOURCES): New variable.
13868 (iorw_mod_CFLAGS): Likewise.
13869 (iorw_mod_LDFLAGS): Likewise.
13870
13871 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13872
13873 Hotkey support
13874
13875 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
13876 * normal/main.c (hotkey_aliases): New variable.
13877 (grub_normal_add_menu_entry): Parse "--hotkey".
13878 * normal/menu_text.c (run_menu): Handle hotkeys.
13879
13880 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13881
13882 * kern/i386/coreboot/init.c (grub_machine_init): Call
13883 grub_machine_mmap_init on qemu.
13884
13885 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * boot/i386/qemu/boot.S: Add a missing .code16.
13888
13889 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13890
13891 Use LBIO on coreboot.
13892
13893 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
13894 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
13895 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
13896 New declaration.
13897 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
13898 grub_machine_mmap_init on coreboot.
13899 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
13900 GRUB_LINUXBIOS_MEMBER_LINK.
13901 (grub_machine_mmap_iterate): Fix declaration.
13902 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
13903
13904 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13905
13906 Split coreboot and multiboot ports.
13907
13908 * conf/i386-multiboot.rmk: New file.
13909 * configure.ac: Add multiboot port.
13910 * include/grub/i386/multiboot/boot.h: New file.
13911 * include/grub/i386/multiboot/console.h: Likewise.
13912 * include/grub/i386/multiboot/init.h: Likewise.
13913 * include/grub/i386/multiboot/kernel.h: Likewise.
13914 * include/grub/i386/multiboot/loader.h: Likewise.
13915 * include/grub/i386/multiboot/memory.h: Likewise.
13916 * include/grub/i386/multiboot/serial.h: Likewise.
13917 * include/grub/i386/multiboot/time.h: Likewise.
13918 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
13919 * loader/multiboot.c: Likewise.
13920 * loader/multiboot_mbi2.c: Likewise.
13921 * util/grub-mkrescue.in: Generate multiboot rescue.
13922
13923 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13924
13925 * kern/parser.c (grub_parser_execute): Cope with read-only config.
13926
13927 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13928
13929 Merge handling of input and output terminals. Fix a hang.
13930
13931 * commands/terminal.c (abstract_terminal): New struct.
13932 (handle_command): New function. Based on grub_cmd_terminal_input.
13933 (grub_cmd_terminal_input): Use handle_command.
13934 (grub_cmd_terminal_output): Use handle_command.
13935
13936 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
13937
13938 Fix comment handling.
13939
13940 * tests/grub_script_comments.in: New testcase.
13941 * conf/tests.rmk: Rules for new testcase.
13942 * script/yylex.l: Updated flex rules.
13943
13944 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
13945
13946 * docs/grub.texi (play): Document that zero pitches produce rests.
13947 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
13948 if argc is 1.
13949
13950 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
13953 autogen issues.
13954
13955 2010-04-26 Christian Franke <franke@computer.org>
13956
13957 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
13958 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
13959 (grub_get_prefix): Remove function.
13960 * util/grub-emu.c (main): Replace grub_get_prefix () call by
13961 make_system_path_relative_to_its_root ().
13962 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13963
13964 2010-04-24 Christian Franke <franke@computer.org>
13965
13966 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
13967 (kernel_img_LDFLAGS): Remove -static-libgcc.
13968
13969 2010-04-24 Christian Franke <franke@computer.org>
13970
13971 * configure.ac: Do not CHECK_BSS_START_SYMBOL
13972 and CHECK_END_SYMBOL if grub-emu is built.
13973 Unset TARGET_OBJ2ELF if grub-emu is built
13974 without module support.
13975
13976 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
13977
13978 Nilfs2 support.
13979
13980 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
13981 (grub_fstest_SOURCES): Likewise.
13982 (pkglib_MODULES): Add nilfs2.mod.
13983 (nilfs2_mod_SOURCES): New variable.
13984 (nilfs2_mod_CFLAGS): Likewise.
13985 (nilfs2_mod_LDFLAGS): Likewise.
13986 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13987 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13988 * fs/nilfs2.c: New file.
13989
13990 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
13993 is not supported.
13994
13995 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
13996
13997 Add grub-mkconfig support for NetBSD.
13998
13999 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
14000 * util/grub-mkconfig.in: export new NetBSD specific variables.
14001 * po/POTFILES-shell: added 10_netbsd.in.
14002 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
14003
14004 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
14005
14006 Fix emu build with grub-emu-pci and grub-emu-modules.
14007
14008 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
14009 functions.
14010 * include/grub/libpciaccess.h: New file.
14011 * conf/any-emu.rmk: Update kernel headers for emu build.
14012
14013 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14014
14015 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
14016
14017 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
14020
14021 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14022
14023 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
14024 Retrieve chosen/bootpath if bootpath isn't hardcoded.
14025 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
14026 util/ieee1275/ofpath.c.
14027 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
14028 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
14029 * include/grub/sparc64/ieee1275/boot.h
14030 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
14031 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
14032 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
14033 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
14034 const char *.
14035 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
14036 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
14037 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
14038 install.
14039
14040 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14041
14042 * util/grub-mkconfig.in: Corrected two == equality tests.
14043 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
14044 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
14045 expect a number appended to it.
14046 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
14047 expects a number appended to it.
14048
14049 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14050
14051 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
14052
14053 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
14054
14055 * util/hostdisk.c (make_device_name): Change to new partition naming.
14056
14057 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
14058
14059 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14060
14061 2010-04-17 Christian Franke <franke@computer.org>
14062
14063 * Makefile.in: Add missing localedir setting.
14064
14065 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14066
14067 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14068 mistake in r2156. Noticed by Anthony Fok.
14069
14070 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14071 @localedir@.
14072 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14073
14074 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14075
14076 Fix a spurious, uninitialized variable warning.
14077
14078 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14079 Initialize variable, shdr.
14080 (grub_freebsd_load_elfmodule): Likewise.
14081 (grub_freebsd_load_elf_meta): Likewise.
14082
14083 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14084
14085 Fix for escaped dollar in double quoted strings.
14086
14087 * script/yylex.l: Updated flex rules.
14088 * conf/tests.rmk: Rule for new testcase.
14089 * tests/grub_script_dollar.in: New testcase.
14090
14091 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14092 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14093
14094 Enclose all translated strings in grub.cfg in single quotes, and
14095 escape them appropriately (Ubuntu bug #552921).
14096
14097 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14098 * util/grub.d/10_hurd.in: Use it.
14099 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14100 * util/grub.d/10_linux.in (linux_entry): Likewise.
14101
14102 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14103
14104 Fix cygwin compilation.
14105
14106 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14107 * include/grub/misc.h (__register_frame_info)
14108 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14109 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14110 * kern/misc.c (__register_frame_info)
14111 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14112 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14113
14114 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14115
14116 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14117
14118 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14119
14120 Unify libgcc processing.
14121
14122 * Makefile.in (kernel_img_LDFLAGS): New variable.
14123 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14124 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14125 overwriting.
14126 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14127 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14128 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14129 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14130 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14131 overwriting. Remove -lgcc and -static-libgcc
14132 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14133 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14134 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14135 (kernel_img_LDFLAGS): Append instead of overwriting.
14136 Remove -lgcc and -static-libgcc
14137 * conf/sparc64-ieee1275.rmk: Likewise.
14138 * include/grub/powerpc/libgcc.h: Move to ...
14139 * include/grub/libgcc.h: .. this.
14140 * include/grub/libgcc.h: Don't export most of the function on x86.
14141 (__bswapsi2): New export.
14142 (__bswapdi2): Likewise.
14143 * include/grub/mips/libgcc.h: Removed.
14144 * include/grub/sparc64/libgcc.h: Likewise.
14145
14146 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14147
14148 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14149 disk_info_msg (conflicts with gettexting into languages with cases).
14150
14151 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14152
14153 Add grub-probe support for NetBSD.
14154
14155 * util/getroot.c (find_root_device): Convert block device to
14156 character device on NetBSD.
14157 * util/probe.c (probe): Require character device on NetBSD.
14158 * util/hostdisk.c: NetBSD specific headers.
14159 (configure_device_driver): new function to tune device driver
14160 parameters (currently only for NetBSD floppy driver).
14161 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14162 via disklabel ioctl).
14163 (open_device): call configure_device_driver on NetBSD.
14164 (convert_system_partition_to_system_disk): NetBSD specific code.
14165 (device_is_wholedisk): Likewise.
14166 (grub_util_biosdisk_get_grub_dev): Likewise.
14167 (make_device_name): Fixed a typo in bsd_part_str.
14168 * configure.ac: check for opendisk() and getrawpartition() on
14169 NetBSD and set LIBUTIL.
14170 * Makefile.in: add LIBUTIL to LIBS.
14171
14172 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14173
14174 Documentation fix.
14175
14176 * util/grub-script-check.c: Better help message.
14177
14178 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14179
14180 Fix FreeBSD build.
14181
14182 * configure.ac: Flex version check.
14183 * conf/common.rmk: Add -Wno-error to sh.mod.
14184 * script/yylex.l: Remove all #pragma.
14185
14186 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14187
14188 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14189 prototype.
14190 Reported by: Seth Goldberg.
14191
14192 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14193
14194 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14195 Rename "module" to "module2".
14196 Reported by: Seth Goldberg.
14197
14198 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14201 EXPORT_FUNC.
14202 Reported by: Seth Goldberg.
14203
14204 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14205
14206 * lib/posix_wrap/locale.h: Add missing file.
14207 Reported by: Seth Goldberg.
14208
14209 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14210
14211 grub-emu module load support.
14212
14213 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14214 NO_DYNAMIC_MODULES switched to this.
14215 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14216 (CFLAGS): Likewise.
14217 * conf/any-emu.rmk: Generate symlist.
14218 (kernel_img_HEADERS): Add util/datetime.h.
14219 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14220 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14221 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14222 kern/$(target_cpu)/cache.S.
14223 * configure.ac (grub-emu-modules): New option.
14224 * genmk.rb: Handle multiple source lists.
14225 * include/grub/sdl.h: New file.
14226 * include/grub/libusb.h: Likewise.
14227 * util/grub-emu.c (main): Hanle (host) root.
14228 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14229 GRUB_ERR_UNKNOWN_DEVICE.
14230 * util/misc.c: Move mm functions to ...
14231 * util/mm.c: ... here. All users updated.
14232
14233 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14234
14235 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14236 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14237 missing files.
14238 (maintainer-clean): Remove libgcrypt-grub.
14239
14240 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14243
14244 2010-04-09 EFI Coder <eficoder@hotmail.com>
14245
14246 * normal/menu_text.c (print_message): Clean up the message and show
14247 the Fn information when on EFI
14248 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14249
14250 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14253 All users updated.
14254 * normal/crypto.c (read_crypto_list): Likewise.
14255 * normal/dyncmd.c (read_command_list): Likewise.
14256 * normal/term.c (read_terminal_list): Likewise.
14257 * normal/main.c (read_lists): Use explicit prefix.
14258 (read_lists_hook): Use read_lists.
14259 (grub_normal_execute): Likewise.
14260
14261 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14262
14263 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14264 Reported by: Thomas Schmitt.
14265 Add -no-emul-boot to grub-mkisofs parameters.
14266
14267 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14268
14269 * font/font.c: Indented.
14270
14271 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14272
14273 Elif support to GRUB script (by Deepak Vankadaru).
14274
14275 * tests/grub_script_if.in: New testcase.
14276 * conf/tests.rmk: Rule for new testcase.
14277 * script/parser.y: Grammar rules for elif.
14278
14279 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14280
14281 While and until loops support to GRUB script.
14282
14283 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14284 (grub_script_create_cmdwhile): New function prototype.
14285 (grub_script_execute_cmdwhile): New function prototype.
14286 * script/execute.c (grub_script_execute_cmdwhile): New function.
14287 * script/parser.y (command): New commands.
14288 (whilecmd): New grammar rule.
14289 (untilcmd): New grammar rule.
14290 * script/script.c (grub_script_create_cmdwhile): New function.
14291 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14292 function.
14293
14294 * tests/grub_script_while1.in: New testcase.
14295 * conf/tests.rmk: Rule for new testcase.
14296
14297 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14298
14299 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14300 as *.jpg.
14301
14302 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
14303
14304 GRUB_BACKGROUND support.
14305
14306 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14307 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14308
14309 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14310
14311 Load fonts and modules for gfxmenu in grub-mkconfig.
14312 Idea by: Mario Vazquez
14313
14314 * util/grub.d/00_header.in: Load pf2 and image modules.
14315
14316 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14317
14318 grub-mkconfig multiple terminal support.
14319
14320 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14321 * util/grub.d/00_header.in: Likewise.
14322
14323 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14324
14325 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14326 we use cd $(srcdir).
14327
14328 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
14329
14330 * util/grub.d/10_linux.in: Only use the first word of
14331 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14332 spaces in GRUB_DISTRIBUTOR.
14333 * util/grub.d/10_kfreebsd.in: Likewise.
14334 * util/grub.d/10_hurd.in: Likewise.
14335
14336 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14337
14338 Fix unit testing framework for Qemu 0.12.
14339
14340 * tests/util/grub-shell.in: Remove -serial stdio option.
14341
14342 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14343
14344 POSIX header file wrappers.
14345
14346 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14347 equivalents.
14348 * lib/posix_wrap/ctype.h: Likewise.
14349 * lib/posix_wrap/errno.h: Likewise.
14350 * lib/posix_wrap/langinfo.h: Likewise.
14351 * lib/posix_wrap/limits.h: Likewise.
14352 * lib/posix_wrap/localcharset.h: Likewise.
14353 * lib/posix_wrap/stdint.h: Likewise.
14354 * lib/posix_wrap/stdio.h: Likewise.
14355 * lib/posix_wrap/stdlib.h: Likewise.
14356 * lib/posix_wrap/string.h: Likewise.
14357 * lib/posix_wrap/sys/types.h: Likewise.
14358 * lib/posix_wrap/unistd.h: Likewise.
14359 * lib/posix_wrap/wchar.h: Likewise.
14360 * lib/posix_wrap/wctype.h: Likewise.
14361 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14362 (grub_script.yy.h): Likewise.
14363 * script/yylex.l: Remove POSIX emulation #defines.
14364 * Makefile.in (POSIX_CFLAGS): New variable.
14365 (GNULIB_UTIL_CFLAGS): Likewise.
14366
14367 Regexp support.
14368
14369 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14370 (regexp_mod_SOURCES): New variable.
14371 (regexp_mod_CFLAGS): Likewise.
14372 (regexp_mod_LDFLAGS): Likewise.
14373 * commands/regexp.c: New file.
14374 * gnulib/regcomp.c: New file. Imported from gnulib.
14375 * gnulib/regex.c: Likewise.
14376 * gnulib/regex_internal.c: Likewise.
14377 * gnulib/regex_internal.h: Likewise.
14378 * gnulib/regexec.c: Likewise.
14379 * gnulib/regex.h: Likewise.
14380
14381 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14384 unsupported video mode types.
14385
14386 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14389
14390 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14391
14392 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14393 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14394
14395 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 Remove unused grub_vga_get_font.
14398
14399 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14400 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14401
14402 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14403
14404 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14405 * include/grub/misc.h: Likewise.
14406
14407 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14408
14409 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14410 for which failure is fatal.
14411
14412 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14413
14414 * util/grub-install.in: Use mkdir -p to create grub directory.
14415 * util/i386/efi/grub-install.in: Likewise.
14416 * util/ieee1275/grub-install.in: Likewise.
14417
14418 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14419
14420 * Makefile.in (LEX): new variable.
14421
14422 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14423
14424 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14425 `=' and added double quotes on operands of this equality test.
14426
14427 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 * Makefile.in (uninstall): Remove a leftover debug echo.
14430 Reported by: Grégoire Sutre
14431
14432 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 MIPS multiboot2 support.
14435
14436 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14437 (multiboot2_mod_SOURCES): New variable.
14438 (multiboot2_mod_CFLAGS): Likewise.
14439 (multiboot2_mod_LDFLAGS): Likewise.
14440 (multiboot2_mod_ASFLAGS): Likewise.
14441 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14442 definition.
14443 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14444 (MULTIBOOT_MBI_REGISTER): Likewise.
14445 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14446 (MULTIBOOT_ELF32_MACHINE): Likewise.
14447 (MULTIBOOT_ELF64_MACHINE): Likewise.
14448 * include/grub/mips/multiboot.h: New file.
14449 * include/grub/video.h (grub_video_driver_id): New type
14450 GRUB_VIDEO_DRIVER_SM712.
14451 (grub_video_get_info_and_fini): Export.
14452 (grub_video_get_palette): Likewise.
14453 (grub_video_get_driver_id): Likewise.
14454 * include/multiboot2.h: Resynced with spec.
14455 * loader/i386/multiboot.c: Moved from here ...
14456 * loader/multiboot.c: ... here. All users updated.
14457 (grub_multiboot_boot): Use platform-specific macros.
14458 * loader/i386/multiboot_elfxx.c: Moved from here ...
14459 * loader/multiboot_elfxx.c: ... here. All users updated.
14460 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14461 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14462 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14463
14464 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14465
14466 Import gnulib argp module.
14467
14468 * gnulib/argp-ba.c: New file.
14469 * gnulib/argp-eexst.c: Likewise.
14470 * gnulib/argp-fmtstream.c: Likewise.
14471 * gnulib/argp-fmtstream.h: Likewise.
14472 * gnulib/argp-fs-xinl.c: Likewise.
14473 * gnulib/argp-help.c: Likewise.
14474 * gnulib/argp-namefrob.h: Likewise.
14475 * gnulib/argp-parse.c: Likewise.
14476 * gnulib/argp-pin.c: Likewise.
14477 * gnulib/argp-pv.c: Likewise.
14478 * gnulib/argp-pvh.c: Likewise.
14479 * gnulib/argp-version-etc.c: Likewise.
14480 * gnulib/argp-version-etc.h: Likewise.
14481 * gnulib/argp-xinl.c: Likewise.
14482 * gnulib/argp.h: Likewise.
14483
14484 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 * kern/device.c (grub_device_iterate): Clear errors after failed
14487 opening device.
14488
14489 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14490
14491 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14492 returned by firmware.
14493
14494 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14495
14496 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14497 compilation on coreboot and qemu
14498
14499 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14500
14501 * include/multiboot2.h: Resync with spec.
14502
14503 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14504
14505 Multiboot2 tag support
14506
14507 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14508 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14509 Remove loader/multiboot_loader.c.
14510 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14511 (grub_multiboot2_real_boot): Likewise.
14512 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14513 (grub_get_multiboot_mmap_count): New proto.
14514 (grub_fill_multiboot_mmap): Likewise.
14515 (grub_multiboot_set_video_mode): Likewise.
14516 (grub_multiboot_set_console): Likewise.
14517 (grub_multiboot_load): Likewise.
14518 (grub_multiboot_load_elf): Likewise.
14519 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14520 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14521 * include/multiboot.h: Resynced with specification.
14522 * include/multiboot2.h: Resynced with specification.
14523 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14524 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14525 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14526 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14527 users updated.
14528 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14529 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14530 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14531 Removed.
14532 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14533 Moved from here...
14534 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14535 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14536 Moved from here...
14537 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14538 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14539 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14540 All users updated.
14541 * loader/i386/multiboot_mbi2.c: New file.
14542
14543 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14544
14545 Resync with gnulib.
14546
14547 * Makefile.in (GNULIB_CFLAGS): New variable.
14548 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14549 (grub_script_check_CFLAGS): New variable.
14550 * gnulib/alloca.h: Resync with gnulib.
14551 * gnulib/error.c: Likewise.
14552 * gnulib/error.h: Likewise.
14553 * gnulib/fnmatch.c: Likewise.
14554 * gnulib/fnmatch_loop.c: Likewise.
14555 * gnulib/getdelim.c: Likewise.
14556 * gnulib/getline.c: Likewise.
14557 * gnulib/getopt.c: Likewise.
14558 * gnulib/getopt1.c: Likewise.
14559 * gnulib/getopt_int.h: Likewise.
14560 * gnulib/gettext.h: Likewise.
14561 * gnulib/progname.c: Likewise.
14562 * gnulib/progname.h: Likewise.
14563
14564 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14565
14566 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14567 which is the case with --disabled-nls.
14568
14569 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14570 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14571 * util/misc.c: Likewise.
14572 * util/mkisofs/mkisofs.c: Likewise.
14573 * util/mkisofs/mkisofs.h: Likewise.
14574
14575 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14576
14577 Simplify Apple CC support.
14578
14579 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14580 Add 0 byte at the end not to have a symbol with empty target.
14581 * mmap/i386/pc/mmap_helper.S: Likewise.
14582 * genmk.rb: Ignore errors 2030 and 2050.
14583 * kern/i386/pc/startup.S: Use LOCAL when possible.
14584
14585 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14586
14587 Testcase and the fix for final semicolon on cmdline.
14588
14589 * tests/grub_script_final_semicolon.in: New testcase.
14590 * conf/tests.rmk: Rules for the new testcase.
14591 * script/parser.y: Grammar fix.
14592
14593 2010-03-26 BVK Chaitanya <bvk@localhost>
14594
14595 Blank lines testcase for GRUB script.
14596
14597 * tests/grub_script_blanklines.in: New testcase.
14598 * conf/tests.rmk: Rules for the new testcase.
14599
14600 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14601
14602 Don't use __FILE__.
14603
14604 * genmk.rb: Add -DGRUB_FILE to all C targets.
14605 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14606 * include/grub/list.h: Likewise.
14607 * include/grub/misc.h: Likewise.
14608 * include/grub/mm.h: Likewise.
14609 * include/grub/test.h: Likewise.
14610 * kern/mm.c: Likewise.
14611 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14612
14613 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14614
14615 Sunpc partitions support.
14616
14617 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14618 (grub_fstest_SOURCES): Likewise.
14619 (pkglib_MODULES): Add part_sunpc.mod.
14620 (part_sunpc_mod_SOURCES): New variable.
14621 (part_sunpc_mod_CFLAGS): Likewise.
14622 (part_sunpc_mod_LDFLAGS): Likewise.
14623 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14624 * partmap/sunpc.c: New file.
14625
14626 2010-03-26 BVK Chaitanya <bvk@localhost>
14627
14628 For loop support to GRUB script.
14629
14630 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14631 (grub_script_create_cmdfor): New function prototype.
14632 (grub_script_execute_cmdfor): New function prototype.
14633 * script/execute.c (grub_script_execute_cmdfor): New function.
14634 * script/parser.y (command): New for command.
14635 (forcmd): New grammar rule.
14636 * script/script.c (grub_script_create_cmdfor): New function.
14637 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14638 function.
14639 * tests/grub_script_for1.in: New testcase.
14640 * conf/tests.rmk: Rules for new testcase.
14641
14642 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 Nested partitions
14645
14646 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14647 'partition' is NULL, grub_partition_get_start already does that.
14648 * commands/loadenv.c (check_blocklists): Likewise.
14649 (write_blocklists): Likewise.
14650 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14651 (grub_fstest_SOURCES): Likewise.
14652 (pkglib_MODULES): Add part_bsd.mod.
14653 (part_bsd_mod_SOURCES): New variable.
14654 (part_bsd_mod_CFLAGS): Likewise.
14655 (part_bsd_mod_LDFLAGS): Likewise.
14656 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14657 (grub_emu_SOURCES): Likewise.
14658 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14659 * include/grub/bsdlabel.h: New file.
14660 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14661 'get_name'.
14662 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14663 (grub_partition_map_list): New variable.
14664 (grub_partition_map_register): Inline.
14665 (grub_partition_map_unregister): Likewise.
14666 (FOR_PARTITION_MAPS): New macro.
14667 (grub_partition_map_iterate): Removed.
14668 (grub_partition_get_start): Handle nested partitions.
14669 * include/grub/msdos_partition.h: Remove bsd-related entries.
14670 (grub_pc_partition): Remove.
14671 * kern/disk.c (grub_disk_close): Free partition data.
14672 (grub_disk_adjust_range): Handle nested partitions.
14673 * kern/partition.c (grub_partition_map_probe): New function.
14674 (grub_partition_probe): Parse name to number, handle subpartitions.
14675 (get_partmap): New function.
14676 (grub_partition_iterate): Handle subpartitions.
14677 (grub_partition_get_name): Likewise.
14678 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14679 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14680 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14681 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14682 Set 'number'.
14683 (acorn_partition_map_probe): Remove.
14684 (acorn_partition_map_get_name): Likewise.
14685 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14686 Set 'number'.
14687 Set 'index' to 0 since there can be only one partition entry per sector.
14688 (amiga_partition_map_probe): Remove.
14689 (amiga_partition_map_get_name): Likewise.
14690 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14691 Set 'number'.
14692 Set 'offset' and 'index' to real positions of partitions.
14693 (apple_partition_map_probe): Remove.
14694 (apple_partition_map_get_name): Likewise.
14695 * partmap/bsdlabel.c: New file.
14696 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14697 Set 'number'.
14698 Allocate 'data' so it can be correctly freed.
14699 Set 'index' to offset inside sector.
14700 (gpt_partition_map_probe): Remove.
14701 (gpt_partition_map_get_name): Likewise.
14702 * partmap/msdos.c (grub_partition_parse): Remove.
14703 (pc_partition_map_iterate): Don't force raw access.
14704 Set 'number'.
14705 Make 'ext_offset' a local variable.
14706 (pc_partition_map_probe): Remove.
14707 (pc_partition_map_get_name): Remove.
14708 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14709 Set 'number'.
14710 (sun_partition_map_probe): Remove.
14711 (sun_partition_map_get_name): Likewise.
14712 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14713 (grub_pcpart_type): Likewise.
14714 * util/hostdisk.c (open_device): Handle new numbering scheme.
14715 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14716 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14717 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14718 * util/grub-install.in: Insert all subpartition modules.
14719 * util/ieee1275/grub-install.in: Likewise.
14720
14721 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14722
14723 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14724 grammar.
14725
14726 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
14727
14728 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14729
14730 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
14731
14732 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14733 match where 'make install' puts them.
14734 * util/i386/efi/grub-install.in: Likewise.
14735
14736 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
14737
14738 * .bzrignore: Add gentrigtables, grub-script-check,
14739 grub_script_check_init.c, grub_script_check_init.h, and
14740 trigtables.c.
14741
14742 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
14743
14744 * kern/parser.c: Indented.
14745
14746 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14747
14748 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
14749
14750 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14751
14752 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
14753 alpha_mask_size == 0 case.
14754
14755 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
14756
14757 GRUB shell lexer and parser improvements.
14758
14759 * conf/any-emu.rmk: Build rule updates.
14760 * conf/common.rmk: Likewise.
14761 * conf/i386-coreboot.rmk: Likewise.
14762 * conf/i386-efi.rmk: Likewise.
14763 * conf/i386-ieee1275.rmk: Likewise.
14764 * conf/i386-pc.rmk: Likewise.
14765 * conf/powerpc-ieee1275.rmk: Likewise.
14766 * conf/x86_64-efi.rmk: Likewise.
14767
14768 * configure.ac: Configure check for flex.
14769
14770 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
14771 types.
14772 (grub_lexer_param): Struct member updates.
14773 (grub_parser_param): Likewise.
14774 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
14775 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
14776 (grub_script_lexer_init): Prototype update.
14777 (grub_script_lexer_record_start): Likewise.
14778 (grub_script_lexer_record_stop): Likewise.
14779 (grub_script_lexer_yywrap): New function prototype.
14780 (grub_script_lexer_fini): Likewise.
14781 (grub_script_execute_argument_to_string): Removed by...
14782 (grub_script_execute_argument_to_argv): ...better version.
14783
14784 * script/execute.c (ROUND_UPTO): New macro.
14785 (grub_script_execute_cmdline): Out of memory fixes.
14786 (grub_script_execute_menuentry): Likewise.
14787 (grub_script_execute_argument_to_string): Removed. Update all
14788 users by...
14789 (grub_script_execute_argument_to_argv): ...better version.
14790 * script/function.c (grub_script_function_create): Use
14791 grub_script_execute_argument_to_argv instead of
14792 grub_script_execute_argument_to_string.
14793
14794 * script/lexer.c (check_varstate): Removed.
14795 (check_textstate): Removed.
14796 (grub_script_lexer_record_start): Likewise.
14797 (grub_script_lexer_record_stop): Likewise.
14798 (recordchar): Replaced with...
14799 (grub_script_lexer_record): ...new function.
14800 (nextchar): Removed.
14801 (grub_script_lexer_init): Rewritten.
14802 (grub_script_yylex): Rewritten.
14803 (append_newline): New function.
14804 (grub_script_lexer_yywrap): New function.
14805 (grub_script_lexer_fini): New function.
14806 (grub_script_yyerror): Sets error flag.
14807
14808 * script/yylex.l: New file.
14809 (grub_lexer_yyfree): Wrapper for flex yyffre.
14810 (grub_lexer_yyalloc): Likewise.
14811 (grub_lexer_yyrealloc): Likewise.
14812 * script/parser.y: Refactored.
14813
14814 * script/script.c (grub_script_arg_add): Out of memory fixes.
14815 (grub_script_add_arglist): Likewise.
14816 (grub_script_create_cmdline): Likewise.
14817 (grub_script_create_cmdmenu): Likewise.
14818 (grub_script_add_cmd): Likewise.
14819 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
14820 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
14821 unnecessary code.
14822
14823 * tests/grub_script_echo1.in: New testcase.
14824 * tests/grub_script_vars1.in: New testcase.
14825 * tests/grub_script_echo_keywords.in: New testcase.
14826
14827 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14828
14829 Remove some redundancy in build system.
14830
14831 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
14832 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
14833 (TARGET_LDFLAGS): Add -nostdlib.
14834 (TARGET_IMG_LDFLAGS): Likewise.
14835 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
14836 anything since mmap isn't available.
14837 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
14838 Add util/time.c.
14839 (pkglib_MODULES): Remove reboot.mod.
14840 (reboot_mod_SOURCES): Removed.
14841 (reboot_mod_CFLAGS): Likewise.
14842 (reboot_mod_LDFLAGS): Likewise.
14843 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
14844 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
14845 (DEFSYMFILES): Add kernel_syms.lst.
14846 (kernel_img_HEADERS): Add common headers.
14847 (symlist.c): New target.
14848 (kernel_syms.lst): Likewise.
14849 (pkglib_MODULES): Add memdisk.mod.
14850 (memdisk_mod_SOURCES): New variable.
14851 (memdisk_mod_CFLAGS): Likewise.
14852 (memdisk_mod_LDFLAGS): Likewise.
14853 (pkglib_MODULES): Add reboot.mod.
14854 (reboot_mod_SOURCES): New variable.
14855 (reboot_mod_CFLAGS): Likewise.
14856 (reboot_mod_LDFLAGS): Likewise.
14857 (pkglib_MODULES): Add date.mod.
14858 (date_mod_SOURCES): New variable.
14859 (date_mod_CFLAGS): Likewise.
14860 (date_mod_LDFLAGS): Likewise.
14861 (pkglib_MODULES): Add datehook.mod.
14862 (datehook_mod_SOURCES): New variable.
14863 (datehook_mod_CFLAGS): Likewise.
14864 (datehook_mod_LDFLAGS): Likewise.
14865 (pkglib_MODULES): Add lsmmap.mod.
14866 (lsmmap_mod_SOURCES): New variable.
14867 (lsmmap_mod_CFLAGS): Likewise.
14868 (lsmmap_mod_LDFLAGS): Likewise.
14869 (pkglib_MODULES): Add boot.mod.
14870 (boot_mod_SOURCES): New variable.
14871 (boot_mod_CFLAGS): Likewise.
14872 (boot_mod_LDFLAGS): Likewise.
14873 * conf/i386-coreboot.rmk: Removed redundant parts.
14874 * conf/i386-ieee1275.rmk: Likewise.
14875 * conf/i386-pc.rmk: Likewise.
14876 * conf/mips-yeeloong.rmk: Likewise.
14877 * conf/mips.rmk: Likewise.
14878 * conf/powerpc-ieee1275.rmk: Likewise.
14879 * conf/sparc64-ieee1275.rmk: Likewise.
14880 * conf/x86_64-efi.rmk: Likewise.
14881 * conf/i386-coreboot.rmk: Moved qemu parts ..
14882 * conf/i386-qemu.rmk: ... here
14883 * conf/i386-efi.rmk: Moved common parts to...
14884 * conf/x86-efi.rmk: ... here.
14885 * conf/i386.rmk: Added modules common to all x86 variants.
14886 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
14887 * disk/memdisk.c: Remove grub/machine/kernel.h.
14888 * gensymlist.sh.in: Include symbol.h.
14889 * hook/datehook.c: Correct module name.
14890 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
14891 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
14892 * include/grub/i386/efi/serial.h: New file.
14893 * include/grub/x86_64/efi/serial.h: Likewise.
14894 * util/time.c: Likewise.
14895 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
14896
14897 2010-03-14 Colin King <colin.king@ubuntu.com>
14898 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
14899
14900 Shrink the pre-partition-table part of boot.img by eight bytes.
14901
14902 * boot/i386/pc/boot.S (ERR): New macro.
14903 (chs_mode): Use ERR.
14904 (geometry_error): Likewise.
14905 (hd_probe_error): Remove. This is only used once, so we wrwite
14906 it inline instead.
14907 (read_error): Instead of printing read_error_string, just set up
14908 %si and fall through to ...
14909 (error_message): ... this new function, also used by ERR.
14910
14911 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
14912
14913 Speed up consecutive hostdisk operations on the same device.
14914
14915 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
14916 (grub_util_biosdisk_open): Initialise disk->data.
14917 (struct linux_partition_cache): New structure.
14918 (linux_find_partition): Cache partition start positions; these are
14919 expensive to compute on every read and write.
14920 (open_device): Cache open file descriptor in disk->data, so that we
14921 don't have to reopen it and flush the buffer cache for consecutive
14922 operations on the same device.
14923 (grub_util_biosdisk_close): New function.
14924 (grub_util_biosdisk_dev): Set `close' member.
14925
14926 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
14927 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
14928 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14929 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14930 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
14931
14932 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14933
14934 Compile parts of grub-emu as modules.
14935
14936 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
14937 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
14938 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
14939 (all-local): Add $(GRUB_EMU).
14940 (install-local): Install $(GRUB_EMU).
14941 (uninstall): Uninstall $(GRUB_EMU).
14942 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
14943 * kern/dl.c: Likewise.
14944 * commands/sleep.c: Not include machine/time.h.
14945 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
14946 (COMMON_CFLAGS): Likewise.
14947 (sbin_UTILITIES): Remove grub-emu.
14948 (grub_emu_SOURCES): Removed.
14949 (kernel_img_RELOCATABLE): New variable.
14950 (pkglib_PROGRAMS): Add kernel.img.
14951 (kernel_img_SOURCES): New variable
14952 (kernel_img_CFLAGS): Likewise.
14953 (kernel_img_LDFLAGS): Likewise.
14954 (TARGET_NO_STRIP): Likewise.
14955 (TARGET_NO_DYNAMIC_MODULES): Likewise.
14956 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
14957 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
14958 (grub-emu): New target.
14959 (GRUB_EMU): New variable.
14960 * configure.ac: Whitelist -emu as possible x86_64 architecture.
14961 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
14962 * loader/xnu.c: Likewise.
14963 * include/grub/pci.h: Likewise.
14964 * genemuinit.sh: New file.
14965 * genemuinitheader.sh: Likewise.
14966 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
14967 Support TARGET_NO_DYNAMIC_MODULES.
14968 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
14969 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
14970 * disk/loopback.c: Likewise.
14971 * font/font_cmd.c: Likewise.
14972 * partmap/acorn.c: Likewise.
14973 * partmap/amiga.c: Likewise.
14974 * partmap/apple.c: Likewise.
14975 * partmap/gpt.c: Likewise.
14976 * partmap/msdos.c: Likewise.
14977 * partmap/sun.c: Likewise.
14978 * parttool/msdospart.c: Likewise.
14979 * term/gfxterm.c: Likewise.
14980 * video/bitmap.c: Likewise.
14981 * video/readers/jpeg.c: Likewise.
14982 * video/readers/png.c: Likewise.
14983 * video/readers/tga.c: Likewise.
14984 * video/video.c: Likewise.
14985 * util/grub-emu.c (read_command_list): Removed.
14986 (main): Don't call util_init_nls.
14987 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
14988 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
14989
14990 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14991
14992 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
14993 date.mod, datehook.mod.
14994 (datetime_mod_SOURCES): New variable.
14995 (datetime_mod_CFLAGS): Likewise.
14996 (datetime_mod_LDFLAGS): Likewise.
14997 (date_mod_SOURCES): Likewise.
14998 (date_mod_CFLAGS): Likewise.
14999 (date_mod_LDFLAGS): Likewise.
15000 (datehook_mod_SOURCES): Likewise.
15001 (datehook_mod_CFLAGS): Likewise.
15002 (datehook_mod_LDFLAGS): Likewise.
15003 * conf/sparc64-ieee1275.rmk: Likewise.
15004 * lib/ieee1275/datetime.c: New file.
15005
15006 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15007
15008 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
15009 (ieee1275_fb_mod_SOURCES): New variable.
15010 (ieee1275_fb_mod_CFLAGS): Likewise.
15011 (ieee1275_fb_mod_LDFLAGS): Likewise.
15012 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
15013 New proto.
15014 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
15015 (HEAP_MAX_ADDR): Likewise.
15016 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
15017 type.
15018 Correct stop condition.
15019 (grub_ieee1275_devices_iterate): New function.
15020 * video/ieee1275.c: New file.
15021
15022 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
15023
15024 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
15025
15026 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
15027 as scratch.
15028 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
15029 SCRATCH_PAD_DISKBOOT as scratch.
15030 (bootit): Pass Openfirmware pointer in %o4.
15031 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
15032 of 0x200000.
15033 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
15034 with util/grub-mkrawimage.c.
15035 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
15036 * include/grub/aout.h (AOUT_MID_SUN): New definition.
15037 (grub_aout_get_type) [GRUB_UTIL]: Removed.
15038 (grub_aout_load) [GRUB_UTIL]: Likewise.
15039 * include/grub/kernel.h (grub_modules_get_end): New proto.
15040 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
15041 (SCRATCH_PAD_BOOT): New definition.
15042 (SCRATCH_PAD_DISKBOOT): Likewise.
15043 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
15044 * include/grub/sparc64/ieee1275/ieee1275.h
15045 (grub_ieee1275_original_stack): New variable
15046 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15047 New definition
15048 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
15049 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
15050 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
15051 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
15052 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
15053 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
15054 (grub_platform_image_format_t): New type.
15055 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
15056 * kern/main.c (grub_modules_get_end)
15057 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
15058 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15059 (codestart): Switch stacks.
15060 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15061 variable.
15062 (grub_heap_init): Use grub_modules_get_end.
15063 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15064 stack.
15065 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15066 (main): Likewise.
15067 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15068
15069 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15070
15071 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15072
15073 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15074
15075 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15076 bug #559005).
15077
15078 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15079
15080 * genmoddep.awk: Output all missing symbols and not only first.
15081
15082 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15083
15084 * NEWS: Put the date of 1.98 release.
15085
15086 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15087
15088 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15089 ft2build.h.
15090
15091 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15092
15093 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15094 completition in the middle of string.
15095
15096 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15097
15098 * util/grub-mkrescue.in: Use mktemp with explicit template.
15099
15100 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15101
15102 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15103
15104 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15105
15106 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15107 right pointer.
15108
15109 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15110
15111 Fix FreeBSD compilation.
15112
15113 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15114 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15115
15116 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15117
15118 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15119
15120 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15121
15122 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15123
15124 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15127
15128 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15129
15130 Support relative image path in theme file.
15131
15132 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15133 (image_set_property): Handle theme_dir and relative path.
15134
15135 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15136
15137 * configure.ac: Alias amd64 to x86_64.
15138
15139 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 * NEWS: mention multiboot on EFI.
15142
15143 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 * kern/main.c (grub_load_modules): Handle errors from init functions of
15146 embeded modules.
15147
15148 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15149
15150 * normal/autofs.c (autoload_fs_module): Handle errors.
15151
15152 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 Disable linux.mod on qemu-mips since it's not functional and leads
15155 to compilation failure.
15156
15157 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15158 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15159 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15160 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15161 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15162 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15163 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15164 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15165 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15166 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15167 Reported by: BVK Chaitanya
15168
15169 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15170
15171 * INSTALL: Add gettext as a dependency and add qemu to a new section
15172 "Prerequisites for make-check".
15173
15174 2010-03-04 Christian Franke <franke@computer.org>
15175
15176 * util/grub-pe2elf.c: Add missing include "progname.h".
15177
15178 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15179
15180 * normal/crypto.c (read_crypto_list): Fix a typo.
15181 Reported by: Seth Goldberg.
15182
15183 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15186 Reported by: Seth Goldberg.
15187
15188 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15189
15190 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15191 ascii.bitmaps.
15192
15193 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15194
15195 * genmk.rb: Remove terminal*.lst in make clean.
15196 Reported by: Seth Goldberg.
15197
15198 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15199
15200 * util/i386/efi/grub-install.in: Copy gettext files.
15201
15202 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15203
15204 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15205
15206 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15207
15208 Wait for user entry basing on presence of output rather than on errors.
15209
15210 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15211 (grub_install_newline_hook): Likewise.
15212 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15213 * normal/menu.c (show_menu): Check line_counter to determine presence
15214 of output.
15215 * normal/term.c (grub_normal_line_counter): New variable.
15216 (grub_normal_get_line_counter): New function.
15217 (grub_install_newline_hook): Likewise.
15218
15219 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15222
15223 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15224
15225 * configure.ac: Update version to 1.98.
15226
15227 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * util/grub.d/10_linux.in (linux_entry): Don't default to
15230 gfxpayload=keep if Linux doesn't support video handover.
15231
15232 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15233
15234 Don't compile video modules on yeeloong since video subsystem is part
15235 of kernel.
15236
15237 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15238 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15239 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15240 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15241 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15242 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15243 * include/grub/bitmap_scale.h: Likewise.
15244 * include/grub/bufio.h: Likewise.
15245 * include/grub/font.h: Likewise.
15246 * include/grub/gfxterm.h: Likewise.
15247 * include/grub/video.h: Likewise.
15248 * include/grub/vbe.h: Don't include video_fb.h.
15249 * video/i386/pc/vbe.c: Include video_fb.h.
15250 * commands/i386/pc/vbetest.c: Include video.h.
15251
15252 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15253
15254 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15255 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15256 default entry if GRUB_SAVEDEFAULT=true. This allows using
15257 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15258 saving a new default on every boot.
15259
15260 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15263 * normal/term.c (read_terminal_list): Likewise.
15264 * normal/main.c (grub_normal_init_page): Likewise.
15265 (grub_normal_read_line_real): Likewise.
15266
15267 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15268
15269 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15270 memory leak.
15271 Reported by: Seth Goldberg.
15272
15273 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15274
15275 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15276 duplicate declaration of `start'.
15277
15278 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15281 filename.
15282 Reported by: Georgy Buranov
15283
15284 2010-02-20 Carles Pina i Estany <carles@pina.cat>
15285
15286 * util/grub-mkrawimage.c (usage): Change string formatting to
15287 improve gettext.
15288
15289 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15290
15291 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15292 backspace keys.
15293
15294 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15297 Reported by: Michael Suchanek.
15298
15299 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
15300
15301 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15302 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15303
15304 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 Remove any reference to non-free fonts.
15307
15308 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15309 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15310 uses non-free components.
15311 * font/font.c (grub_font_get_name): Remove example name.
15312 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15313 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15314 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15315 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15316
15317 2010-02-16 Georgy Buranov <gburanov@gmail.com>
15318
15319 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15320
15321 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15322
15323 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15324 Double divisor.
15325 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15326 features.
15327 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15328
15329 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15330
15331 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15332
15333 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15334
15335 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15336 * docs/grub.texi (Command-line and menu entry commands): Document play
15337 command.
15338
15339 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15340
15341 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15342 parse arguments as inline tempo and notes. Move code for playing notes
15343 to...
15344 (play): ... new function.
15345
15346 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15347
15348 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15349 grub_uint16_t instead of short.
15350 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15351 disk from little endian to cpu endianness.
15352
15353 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15354
15355 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15356 GRUB_TICKS_PER_SECOND instead of 120.
15357
15358 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15361 escape sequence after \e.
15362
15363 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15364
15365 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15366 non-ASCII characters.
15367
15368 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15371 set root in single quotes to prevent \, from being unescaped.
15372
15373 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15374
15375 Prevent unknown commands from stopping menuentry execution.
15376
15377 * script/execute.c (grub_script_execute_cmdline): Print error after
15378 unknown command.
15379
15380 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15381
15382 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15383 Reported by: Pavel Pisa.
15384
15385 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15386
15387 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15388
15389 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15390
15391 Merge grub_ieee1275_map_physical into grub_map and rename to
15392 grub_ieee1275_map
15393
15394 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15395 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15396 Remove.
15397 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15398 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15399 necessary.
15400 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15401
15402 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15405 opening and not after.
15406
15407 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15410 constants.
15411
15412 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15413
15414 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15415 (alloc_phys): Use ALIGN_UP instead of align_addr.
15416
15417 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15418
15419 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15420
15421 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15424
15425 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15426
15427 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15428 verbose dprintf.
15429
15430 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15431
15432 Fix over-4GiB seek on sparc64.
15433
15434 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15435 Replace pos_i and pos_lo with pos. All users updated.
15436 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15437 New constant.
15438 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15439 Likewise.
15440 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15441 and pos_lo.
15442
15443 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * util/grub-mkrawimage.c (main): Call set_program_name.
15446
15447 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15448
15449 Properly align 64-bit targets.
15450
15451 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15452 (generate_image): Use ALIGN_ADDR.
15453
15454 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 Properly create cross-endian images.
15457
15458 * include/grub/types.h (grub_host_to_target_addr): New macro
15459 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15460
15461 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15462
15463 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15464
15465 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15466
15467 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15468
15469 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15470 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15471 (grub_linux_boot): Divide by 64K when on VESA.
15472
15473 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 Support GRUB_GFXPAYLOAD_LINUX.
15476
15477 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15478 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15479
15480 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15483 to show messages instead of discarding them.
15484 Process errors after executing command and not before. Keep old method
15485 too as precaution.
15486
15487 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 * configure.ac: Check for ft2build.h.
15490
15491 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15492
15493 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15494
15495 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15496
15497 * genkernsyms.sh.in: Use TARGET_CC.
15498
15499 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
15500
15501 * NEWS: Update.
15502
15503 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15504
15505 * include/grub/multiboot2.h: Remove leftover file.
15506 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15507 * include/grub/partition.h [GRUB_UTIL]: Likewise.
15508
15509 2010-02-07 Yves Blusseau <blusseau@zetam.org>
15510
15511 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
15512
15513 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 Fix warnings in grub-emu when compiling with maximum warning options.
15516
15517 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15518 (grub_arch_modules_addr): Return 0 and not NULL.
15519 * util/misc.c (ENABLE_RELOCATABLE): New definition.
15520 (xstrdup): Use newstr instead of dup.
15521 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15522 of disk to dsk to avoid shadowing.
15523 (find_free_slot): Fix prototype.
15524 * util/getroot.c (grub_util_is_dmraid): Make static.
15525 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15526 Add missing prototype.
15527 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
15528
15529 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15530
15531 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15532 appropriately.
15533
15534 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15535
15536 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15537 code out.
15538
15539 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15540
15541 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15542 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15543 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15544 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15545 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15546 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15547
15548 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 * include/grub/err.h (grub_err_printf): Don't export.
15551
15552 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15553
15554 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15555
15556 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15557
15558 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15559 * kern/misc.c (grub_gettext_dummy): Make static.
15560
15561 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15564 by non-valid ones.
15565 * kern/term.c (grub_putchar): Likewise.
15566
15567 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15568
15569 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15570 buggy hook call and memory leak.
15571
15572 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15573
15574 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15575
15576 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15577
15578 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15579
15580 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15583 modevar.
15584 Return grub_errno on allocation error.
15585
15586 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15589
15590 2010-02-06 Yves Blusseau <blusseau@zetam.org>
15591
15592 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15593 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15594
15595 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15596
15597 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15598 non-pxe disk.
15599 (grub_pxefs_open): Likewise.
15600
15601 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15602
15603 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15604 * util/grub.d/10_kfreebsd.in: Likewise.
15605 * util/grub.d/10_linux.in: Likewise.
15606
15607 2010-02-06 Colin D Bennett <colin@gibibit.com>
15608
15609 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15610 (gfxmenu_mod_SOURCES): New variable.
15611 (gfxmenu_mod_CFLAGS): Likewise.
15612 (gfxmenu_mod_LDFLAGS): Likewise.
15613 * include/grub/term.h (grub_term_set_current_output): Declare
15614 argument as const.
15615 * docs/gfxmenu-theme-example.txt: New file.
15616 * gfxmenu/gfxmenu.c: Likewise.
15617 * gfxmenu/gui_box.c: Likewise.
15618 * gfxmenu/gui_canvas.c: Likewise.
15619 * gfxmenu/gui_circular_progress.c: Likewise.
15620 * gfxmenu/gui_image.c: Likewise.
15621 * gfxmenu/gui_label.c: Likewise.
15622 * gfxmenu/gui_list.c: Likewise.
15623 * gfxmenu/gui_progress_bar.c: Likewise.
15624 * gfxmenu/gui_string_util.c: Likewise.
15625 * gfxmenu/gui_util.c: Likewise.
15626 * gfxmenu/icon_manager.c: Likewise.
15627 * gfxmenu/model.c: Likewise.
15628 * gfxmenu/named_colors.c: Likewise.
15629 * gfxmenu/theme_loader.c: Likewise.
15630 * gfxmenu/view.c: Likewise.
15631 * gfxmenu/widget-box.c: Likewise.
15632 * include/grub/gfxmenu_model.h: Likewise.
15633 * include/grub/gfxmenu_view.h: Likewise.
15634 * include/grub/gfxwidgets.h: Likewise.
15635 * include/grub/gui.h: Likewise.
15636 * include/grub/gui_string_util.h: Likewise.
15637 * include/grub/icon_manager.h: Likewise.
15638
15639 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15640
15641 Agglomerate scrolling in gfxterm.
15642
15643 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15644 (grub_virtual_screen_setup): Initialise 'total_screen'.
15645 (write_char): Split to ...
15646 (paint_char): ... this ...
15647 (write_char): ... and this.
15648 (paint_char): Handle delayed scrolling.
15649 (draw_cursor): Likewise.
15650 (scroll_up): Split to ...
15651 (real_scroll): ... this ...
15652 (scroll_up): ... and this.
15653 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15654 characters.
15655 (grub_gfxterm_refresh): Call real_scroll.
15656
15657 2010-02-06 Colin D Bennett <colin@gibibit.com>
15658
15659 * include/grub/misc.h (grub_iscntrl): New inline function.
15660 (grub_isalnum): Likewise.
15661 (grub_strtol): Likewise.
15662
15663 2010-02-06 Colin D Bennett <colin@gibibit.com>
15664
15665 * normal/menu_text.c (get_entry_number): Move from here ...
15666 * normal/menu.c (get_entry_number): ... moved here.
15667 * include/grub/menu.h (grub_menu_get_default_entry_index):
15668 New prototype.
15669 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15670 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15671 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15672 (grub_menu_viewer_should_return): Likewise.
15673 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15674 * normal/menu_text.c (run_menu): Enable menu switching.
15675 * normal/menu_viewer.c (should_return): New variable.
15676 (menu_viewer_changed): Likewise.
15677 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15678 (grub_menu_viewer_should_return): New function.
15679 (menuviewer_write_hook): Likewise.
15680 (grub_menu_viewer_init): Likewise.
15681
15682 2010-02-06 Colin D Bennet <colin@gibibit.com>
15683 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15684
15685 Support for gfxterm in a window.
15686
15687 * include/grub/gfxterm.h: New file.
15688 * include/grub/video.h (struct grub_video_rect): New declaration.
15689 (grub_video_rect_t): Likewise.
15690 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15691 (refcount): New variable.
15692 (render_target): Likewise.
15693 (window): Likewise.
15694 (repaint_callback): Likewise.
15695 (grub_virtual_screen_setup): Use 'render_target'.
15696 (init_window): New function.
15697 (grub_gfxterm_init_window): Likewise.
15698 (grub_gfxterm_init): Check reference counter.
15699 Use init_window.
15700 (destroy_window): New function.
15701 (grub_gfxterm_destroy_window): Likewise.
15702 (grub_gfxterm_fini): Check reference counter.
15703 Use destroy_window.
15704 (redraw_screen_rect): Restore viewport.
15705 Use 'render_target' and 'window'.
15706 Call 'repaint_callback'.
15707 (write_char): Use 'render_target'.
15708 (draw_cursor): Likewise.
15709 (scroll_up): Restore viewport.
15710 Use 'render_target' and 'window'.
15711 Call 'repaint_callback'.
15712 (grub_gfxterm_cls): Likewise.
15713 (grub_gfxterm_refresh): Use 'window'.
15714 (grub_gfxterm_set_repaint_callback): New function.
15715 (grub_gfxterm_background_image_cmd): Use 'window'.
15716 (grub_gfxterm_get_term): New function.
15717 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15718
15719 2010-02-06 Colin D Bennett <colin@gibibit.com>
15720
15721 Bitmap scaling support.
15722
15723 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15724 (bitmap_scale_mod_SOURCES): New variable.
15725 (bitmap_scale_mod_CFLAGS): Likewise.
15726 (bitmap_scale_mod_LDFLAGS): Likewise.
15727 * include/grub/bitmap_scale.h: New file.
15728 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15729 (background_image_cmd_options): New variable.
15730 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15731 (cmd): Rename and change type to ...
15732 (background_image_cmd_handle): ... this. All users updated.
15733 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
15734 * video/bitmap_scale.c: New file.
15735
15736 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 SDL support.
15739
15740 * Makefile.in (LIBSDL): New variable.
15741 (enable_grub_emu_sdl): Likewise.
15742 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
15743 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
15744 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
15745 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
15746 * util/sdl.c: New file.
15747
15748 2010-02-06 Colin D Bennett <colin@gibibit.com>
15749 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15750
15751 Double buffering support.
15752
15753 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
15754 * include/grub/video.h: Update comment.
15755 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
15756 New type.
15757 (grub_video_fb_doublebuf_blit_init): New prototype.
15758 * term/gfxterm.c (scroll_up): Support double buffering.
15759 (grub_gfxterm_refresh): Likewise.
15760 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
15761 (grub_video_fb_doublebuf_blit_init): Likewise.
15762 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
15763 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
15764 'displayed_page', 'render_page' and 'update_screen'.
15765 (grub_video_vbe_fini): Free offscreen buffer.
15766 (doublebuf_pageflipping_commit): New function.
15767 (doublebuf_pageflipping_update_screen): Likewise.
15768 (doublebuf_pageflipping_init): Likewise.
15769 (double_buffering_init): Likewise.
15770 (grub_video_vbe_setup): Enable doublebuffering.
15771 (grub_video_vbe_swap_buffers): Implement.
15772 (grub_video_vbe_set_active_render_target): Handle double buffering.
15773 (grub_video_vbe_get_active_render_target): Likewise.
15774 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
15775 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
15776 (grub_video_vbe_enable_double_buffering): Likewise.
15777 (grub_video_vbe_swap_buffers): Use update_screen.
15778 (grub_video_set_mode): Use double buffering.
15779
15780 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15781
15782 * maintainance/gentrigtables.py: Remove.
15783 * lib/trig.c: Likewise.
15784
15785 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
15786
15787 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
15788 `trigtables.c'.
15789 (trigtables.c): New rule.
15790 (gentrigtables): Likewise.
15791 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
15792
15793 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15794
15795 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
15796 integer constants.
15797
15798 2010-02-06 Colin D Bennet <colin@gibibit.com>
15799
15800 Trigonometry support.
15801
15802 * include/grub/trig.h: New file.
15803 * lib/trig.c: Likewise.
15804 * maintainance/gentrigtables.py: Likewise.
15805 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
15806 (trig_mod_SOURCES): New variable.
15807 (trig_mod_CFLAGS): Likewise.
15808 (trig_mod_LDFLAGS): Likewise.
15809
15810 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15811
15812 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
15813 disk devices.
15814
15815 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15816
15817 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
15818 error.
15819
15820 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15821
15822 * util/hostdisk.c (open_device): Don't use partition device when reading
15823 before the partition.
15824 (grub_util_biosdisk_read): Don't read from partition and before the
15825 partition in single operation.
15826 (grub_util_biosdisk_write): Don't write to partition and before the
15827 partition in single operation.
15828
15829 2010-02-03 Torsten Landschoff <torsten@debian.org>
15830
15831 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15832 last sectors.
15833
15834 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15835
15836 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
15837 CDROM reads.
15838 (grub_biosdisk_write): Refuse to write to CDROM.
15839
15840 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15841
15842 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
15843
15844 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15845
15846 * font/font.c (find_glyph): Check that bmp_idx is available before
15847 using it.
15848 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
15849 with (font == NULL).
15850
15851 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
15852
15853 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
15854
15855 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
15856
15857 * include/grub/script_sh.h (sourcecode): Add const qualifier.
15858 * util/grub-script-check.c (getline): Fix empty lines case.
15859
15860 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
15861
15862 * Makefile.in (check): Exit with fail status when one of the tests
15863 fails.
15864 * tests/example_functional_test.c (example_test): Fix reversed assert.
15865 * tests/example_unit_test.c (example_test): Likewise.
15866
15867 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
15868
15869 * util/grub.d/10_linux.in: This script does not use any of the
15870 contents of gettext.sh, only the external command `gettext', so stop
15871 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
15872 the same prefix as GRUB.)
15873 * util/grub.d/10_kfreebsd.in: Likewise.
15874
15875 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
15878 of the line.
15879
15880 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15881
15882 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15883 last sectors.
15884
15885 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15886
15887 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
15888 having a 4KiB and not 32KiB buffer size.
15889
15890 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15891
15892 * util/hostfs.c: Include `<errno.h>'.
15893 (grub_hostfs_read): Handle errors from fseeko() and fread().
15894
15895 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15896
15897 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
15898 loop when using read hooks on files whose size isn't sector-aligned.
15899
15900 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15901
15902 Remove unused parameter.
15903
15904 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
15905 (grub_iso9660_open): Remove initialization of `data->length'.
15906
15907 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15908
15909 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
15910 memleak conditions.
15911
15912 2010-01-27 Carles Pina i Estany <carles@pina.cat>
15913
15914 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
15915 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
15916
15917 2010-01-26 Carles Pina i Estany <carles@pina.cat>
15918
15919 * util/bin2h.c (usage): Fix warning (space after backslash).
15920
15921 2010-01-26 Carles Pina i Estany <carles@pina.cat>
15922
15923 * font/font.c: Include `grub/fontformat.h.
15924 Remove font file format constants.
15925 (grub_font_load): Use the new macros.
15926 * include/grub/fontformat.h: New file.
15927 * util/grub-mkfont.c: Include `grub/fontformat.c'.
15928 (write_font_pf2): Use the new macros.
15929
15930 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15931
15932 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
15933 does.
15934
15935 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15936
15937 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
15938
15939 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
15940 (_start): Macroify `0x7F'.
15941
15942 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
15943 (make_install_device): Use "(pxe)" as fallback prefix when booting
15944 via PXE.
15945
15946 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
15947
15948 * configure.ac: Reset LIBS after check for libgcc symbols.
15949
15950 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
15951
15952 * util/hostdisk.c (open_device): Add trailing newline to debug
15953 message.
15954
15955 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
15956
15957 * configure.ac: Check for `limits.h'.
15958 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
15959
15960 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
15961
15962 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
15963 capitalize error strings.
15964
15965 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
15966
15967 * util/grub.d/10_hurd.in: Add a recovery mode.
15968
15969 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
15970
15971 * configure.ac: Check for libgcc symbols with -nostdlib.
15972
15973 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
15974
15975 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
15976
15977 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15978
15979 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
15980 stack since heap may be unavailable at that point.
15981 (grub_ofconsole_gotoxy): Likewise.
15982
15983 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * configure.ac: Check for _restgpr_14_x.
15986 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
15987 and _savegpr_* prototypes.
15988
15989 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
15990
15991 Use generic grub_reboot() for i386-efi.
15992
15993 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
15994 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
15995 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
15996
15997 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15998
15999 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
16000 presence of "prefix" variable as it breaks when normal.mod is
16001 embedded.
16002
16003 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16004
16005 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
16006 stack since heap is unavailable at that point.
16007
16008 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16009
16010 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
16011 (grub_freebsd_bootinfo): Rewritten.
16012 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
16013
16014 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
16015
16016 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
16017
16018 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
16019
16020 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
16021 domain now.
16022
16023 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
16024
16025 * util/misc.c (make_system_path_relative_to_its_root): Change the work
16026 around for handling "/" to the correct fix. Fix a memory leak. Use
16027 xstrdup instead of strdup.
16028
16029 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16030
16031 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
16032
16033 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16034
16035 Optimise glyph lookup by Basic Multilingual Plane lookup array.
16036
16037 * font/font.c (struct grub_font): New member 'bmp_idx'.
16038 (font_init): Initialise 'bmp_idx'.
16039 (load_font_index): Fill 'bmp_idx'.
16040 (find_glyph): Make inline. Use bmp_idx for BMP characters.
16041
16042 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16043
16044 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
16045 unnecessary calls.
16046
16047 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16048
16049 Move context handling out of the kernel.
16050
16051 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
16052 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
16053 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
16054 * conf/i386-efi.rmk: Likewise.
16055 * conf/i386-ieee1275.rmk: Likewise.
16056 * conf/i386-pc.rmk: Likewise.
16057 * conf/powerpc-ieee1275.rmk: Likewise.
16058 * conf/sparc64-ieee1275.rmk: Likewise.
16059 * conf/x86_64-efi.rmk: Likewise.
16060 * include/grub/env.h: Include grub/menu.h.
16061 (grub_env_var_type): Removed.
16062 (grub_env_var): Replaced field 'type' with 'global'.
16063 (grub_env_find): New prototype.
16064 (grub_env_context_open): Remove EXPORT_FUNC.
16065 (grub_env_context_close): Likewise.
16066 (grub_env_export): Likewise.
16067 (grub_env_set_data_slot): Removed.
16068 (grub_env_get_data_slot): Likewise.
16069 (grub_env_unset_data_slot): Likewise.
16070 (grub_env_unset_menu): New prototype.
16071 (grub_env_set_menu): Likewise.
16072 (grub_env_get_menu): Likewise.
16073 * include/grub/env_private.h: New file.
16074 * include/grub/normal.h (grub_context_init): New prototype.
16075 (grub_context_fini): Likewise.
16076 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16077 * normal/context.c (grub_cmd_export): ... to here.
16078 * kern/env.c: Include env_private.h.
16079 (HASHSZ): Moved to include/grub/env_private.h.
16080 (grub_env_context): Likewise.
16081 (grub_env_sorted_var): Likewise.
16082 (current_context): Renamed from this ...
16083 (grub_current_context): ...to this. 'static' removed. All users updated.
16084 (grub_env_find): Removed 'static'.
16085 (grub_env_context_open): Moved to normal/context.c.
16086 (grub_env_context_close): Likewise.
16087 (grub_env_export): Likewise.
16088 (mangle_data_slot_name): Removed.
16089 (grub_env_set_data_slot): Likewise.
16090 (grub_env_get_data_slot): Likewise.
16091 (grub_env_unset_data_slot): Likewise.
16092 * kern/main.c (grub_set_root_dev): Don't export root.
16093 It will be done later.
16094 (grub_main): Don't export prefix.
16095 It will be done later.
16096 * normal/context.c: New file.
16097 * normal/main.c (free_menu): Use grub_env_unset_menu.
16098 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16099 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16100 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16101 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16102
16103 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16104
16105 setpci support.
16106
16107 * commands/setpci.c: New file.
16108 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16109 (setpci_mod_SOURCES): New variable.
16110 (setpci_mod_CFLAGS): Likewise.
16111 (setpci_mod_LDFLAGS): Likewise.
16112
16113 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16114
16115 Byte-addressable PCI configuration space.
16116
16117 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16118 dword address.
16119 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16120 GRUB_PCI_REG_CACHELINE.
16121 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16122 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16123 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16124 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16125 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16126 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16127 grub_pci_make_address.
16128 (lock_rom_area): Likewise.
16129 * commands/lspci.c (grub_lspci_iter): Use macroses
16130 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16131 of grub_pci_make_address.
16132 * disk/ata.c (grub_ata_pciinit): Likewise.
16133 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16134 (GRUB_PCI_REG_VENDOR): Likewise.
16135 (GRUB_PCI_REG_DEVICE): Likewise.
16136 (GRUB_PCI_REG_COMMAND): Likewise.
16137 (GRUB_PCI_REG_STATUS): Likewise.
16138 (GRUB_PCI_REG_REVISION): Likewise.
16139 (GRUB_PCI_REG_CLASS): Likewise.
16140 (GRUB_PCI_REG_CACHELINE): Likewise.
16141 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16142 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16143 (GRUB_PCI_REG_BIST): Likewise.
16144 (GRUB_PCI_REG_ADDRESSES): Likewise.
16145 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16146 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16147 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16148 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16149 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16150 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16151 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16152 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16153 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16154 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16155 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16156 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16157 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16158 (GRUB_PCI_REG_MIN_GNT): Likewise.
16159 (GRUB_PCI_REG_MAX_LAT): Likewise.
16160 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16161 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16162 * video/efi_uga.c (find_framebuf): Likewise.
16163 * video/sm712.c (grub_video_sm712_setup): Likewise.
16164 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16165 space.
16166
16167 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16168
16169 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16170 can be reliably determined to be supported.
16171
16172 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16173
16174 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16175 that VESA is supported.
16176 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16177 supported.
16178
16179 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16180
16181 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16182
16183 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16184
16185 * util/misc.c (make_system_path_relative_to_its_root): Work around
16186 special-casing of "/", as previous incarnation of this routine did.
16187
16188 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 Fix any-emu compilation.
16191
16192 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16193 * grub_bin2h_SOURCES: New variable.
16194
16195 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16196
16197 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16198
16199 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16200
16201 * util/grub.d/00_header.in: Fix handling of locale_dir.
16202
16203 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16204
16205 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16206 as possible unifont location (Gentoo).
16207 Reported by: Alexander Brüning
16208
16209 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16210
16211 Don't try to generate lists for kernel.img.
16212
16213 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16214 (pkglib_MODULES): Remove kernel.img.
16215 (kernel_img_EXPORTS): Removed.
16216 (kernel_img_RELOCATABLE): New variable.
16217 * conf/x86_64-efi.rmk: Likewise.
16218 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16219
16220 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16221
16222 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16223 grub_xasprintf or grub_snprintf.
16224 (grub_vsprintf): Likewise.
16225 (grub_snprintf): New proto.
16226 (grub_vsnprintf): Likewise.
16227 (grub_xasprintf): Likewise.
16228 (grub_xvasprintf): Likewise.
16229 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16230 (grub_sprintf): Removed.
16231 (grub_vsnprintf): New function.
16232 (grub_snprintf): Likewise.
16233 (grub_xvasprintf): Likewise.
16234 (grub_xasprintf): Likewise.
16235 (grub_vsprintf): Renamed to ...
16236 (grub_vsnprintf_real): ...this. New argument max_len.
16237
16238 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16239
16240 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16241 fix grub-script-check warning.
16242
16243 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16244
16245 * include/grub/font.h (grub_font_load): Fix prototype.
16246
16247 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16248
16249 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16250
16251 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16252
16253 * include/grub/x86_64/at_keyboard.h: New file.
16254
16255 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 * loader/mips/linux.c: Include missing grub/i18n.h.
16258
16259 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16260
16261 * normal/menu.c (notify_execution_failure): Clarify error message.
16262
16263 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16264
16265 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16266 return value (and revert all return statements). Update users.
16267
16268 2010-01-20 Dan Merillat <debian@dan.merillat.org>
16269
16270 * kern/device.c (grub_device_iterate): Allocate new part_ent
16271 structure based on sizeof (*p) rather than sizeof (p->next), to
16272 account for structure padding.
16273
16274 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16275 disk is NULL, which might happen for LVM physical volumes with no
16276 LVM signature.
16277
16278 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16279
16280 * loader/mips/linux.c (grub_cmd_initrd)
16281 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16282
16283 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16284
16285 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16286 (grub_video_video_init, grub_video_bitmap_init)
16287 (grub_font_manager_init, grub_term_gfxterm_init)
16288 (grub_at_keyboard_init): New extern declarations.
16289 (grub_machine_init): Initialize gfxterm and at_keyboard.
16290
16291 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16292
16293 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16294 `gfxterm.mod' into core image.
16295
16296 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16297 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16298 (kernel_img_FORMAT): Copy to ...
16299
16300 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16301 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16302 (kernel_img_FORMAT): ... here, and ...
16303
16304 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16305 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16306 (kernel_img_FORMAT): ... here.
16307
16308 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16309 and input (at_keyboard) terminals in kernel.
16310 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16311
16312 (pkglib_MODULES): Remove `pci.mod'.
16313 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16314 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16315 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16316 (at_keyboard_mod_LDFLAGS): Remove variables.
16317
16318 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
16319
16320 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16321
16322 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16323
16324 * include/grub/mips/libgcc.h: Only export symbols for functions
16325 that libgcc provides.
16326
16327 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16328
16329 MIPS support.
16330
16331 * bus/bonito.c: New file.
16332 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16333 GRUB_PCI_NUM_DEVICES.
16334 * term/i386/pc/serial.c: Move to ...
16335 * term/serial.c: ... here. All users updated.
16336 * util/i386/pc/grub-mkimage.c: Move to ...
16337 * util/grub-mkrawimage.c: ... here. All users updated.
16338 * term/i386/pc/at_keyboard.c: Move to ...
16339 * term/at_keyboard.c: ... here. All users updated.
16340 * conf/mips-qemu-mips.rmk: New file.
16341 * conf/mips-yeeloong.rmk: Likewise.
16342 * conf/mips.rmk: Likewise.
16343 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16344 mipsel-qemu-mips.
16345 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16346 to port addresses.
16347 (grub_ata_pciinit): Support CS5536.
16348 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16349 * font/font_cmd.c (loadfont_command): Open file before passing it to
16350 grub_font_load.
16351 (pseudo_file_read): New function.
16352 (pseudo_file_close): Likewise.
16353 (pseudo_fs): New structure.
16354 (load_font_module): New function.
16355 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16356 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16357 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16358 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16359 * include/grub/i386/at_keyboard.h: Split into ...
16360 * include/grub/at_keyboard.h: ... this ...
16361 * include/grub/i386/at_keyboard.h: ... and this.
16362 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16363 New prototype.
16364 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16365 updated.
16366 (grub_elf64_size): Likewise.
16367 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16368 filename.
16369 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16370 * include/grub/i386/coreboot/serial.h: Rewritten.
16371 * include/grub/i386/ieee1275/serial.h: Include
16372 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16373 * include/grub/i386/pc/serial.h: Moved from here ...
16374 * include/grub/serial.h: ... to here. All users updated.
16375 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16376 (GRUB_PCI_NUM_BUS): Likewise.
16377 (GRUB_PCI_NUM_DEVICES): Likewise.
16378 (grub_pci_device_map_range): Add missing volatile keyword.
16379 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16380 * include/grub/mips/at_keyboard.h: New file.
16381 * include/grub/mips/cache.h: Likewise.
16382 * include/grub/mips/io.h: Likewise.
16383 * include/grub/mips/kernel.h: Likewise.
16384 * include/grub/mips/libgcc.h: Likewise.
16385 * include/grub/mips/pci.h: Likewise.
16386 * include/grub/mips/qemu-mips/boot.h: Likewise.
16387 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16388 * include/grub/mips/qemu-mips/loader.h: Likewise.
16389 * include/grub/mips/qemu-mips/memory.h: Likewise.
16390 * include/grub/mips/qemu-mips/serial.h: Likewise.
16391 * include/grub/mips/qemu-mips/time.h: Likewise.
16392 * include/grub/mips/relocator.h: Likewise.
16393 * include/grub/mips/time.h: Likewise.
16394 * include/grub/mips/types.h: Likewise.
16395 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16396 * include/grub/mips/yeeloong/boot.h: Likewise.
16397 * include/grub/mips/yeeloong/kernel.h: Likewise.
16398 * include/grub/mips/yeeloong/loader.h: Likewise.
16399 * include/grub/mips/yeeloong/memory.h: Likewise.
16400 * include/grub/mips/yeeloong/pci.h: Likewise.
16401 * include/grub/mips/yeeloong/serial.h: Likewise.
16402 * include/grub/mips/yeeloong/time.h: Likewise.
16403 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16404 * kern/elf.c (grub_elf32_size): New parameter. All users
16405 updated.
16406 (grub_elf64_size): Likewise.
16407 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16408 Load modules before saying "Welcome to GRUB!".
16409 Call grub_refresh after saying "Welcome to GRUB!".
16410 * kern/mips/cache.S: New file.
16411 * kern/mips/cache_flush.S: Likewise.
16412 * kern/mips/dl.c: Likewise.
16413 * kern/mips/init.c: Likewise.
16414 * kern/mips/qemu-mips/init.c: Likewise.
16415 * kern/mips/startup.S: Likewise.
16416 * kern/mips/yeeloong/init.c: Likewise.
16417 * kern/term.c (grub_putcode): Handle NULL terminal.
16418 (grub_getcharwidth): Likewise.
16419 (grub_getkey): Likewise.
16420 (grub_checkkey): Likewise.
16421 (grub_getkeystatus): Likewise.
16422 (grub_getxy): Likewise.
16423 (grub_getwh): Likewise.
16424 (grub_gotoxy): Likewise.
16425 (grub_cls): Likewise.
16426 (grub_setcolorstate): Likewise.
16427 (grub_setcolor): Likewise.
16428 (grub_getcolor): Likewise.
16429 (grub_refresh): Likewise.
16430 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16431 (write_jump): Add hatch nop.
16432 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16433 * lib/mips/setjmp.S: New file.
16434 * loader/mips/linux.c: Likewise.
16435 * term/i386/pc/at_keyboard.c: Move from here ...
16436 * term/at_keyboard.c: ... to here.
16437 * term/i386/pc/serial.c: Moved from here ...
16438 * term/serial.c: ... to here. All users updated.
16439 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16440 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16441 (serial_translate_key_sequence): Avoid deadlock.
16442 (grub_serial_getkey): Handle backspace.
16443 (grub_serial_putchar): Fix newline handling.
16444 * util/i386/pc/grub-mkimage.c: Move from here ...
16445 * util/grub-mkrawimage.c: ... to here. All users updated.
16446 (generate_image): New parameters 'font_path' and 'format'.
16447 Support embedding font.
16448 Use grub_host_to_target* instead of grub_cpu_to_le*.
16449 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16450 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16451 (options): New option "--font".
16452 (usage): Likewise.
16453 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16454 (main): Handle "--font".
16455 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16456 (grub_virtual_screen_setup): Set bg_color_display.
16457 (redraw_screen_rect): Use bg_color_display instead of incorrect
16458 bg_color.
16459 (grub_gfxterm_cls): Likewise.
16460 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16461 Support embedding config file.
16462 (add_segments): Likewise.
16463 (options): New option "--config".
16464 (main): Handle "--config".
16465 * video/sm712.c: New file.
16466
16467 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16468
16469 Fix parallel builds.
16470
16471 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16472 font.c depend on ascii.h).
16473
16474 2010-01-12 Carles Pina i Estany <carles@pina.cat>
16475
16476 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16477
16478 2010-01-11 Carles Pina i Estany <carles@pina.cat>
16479
16480 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16481 By default: disabled.
16482 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16483 parameter.
16484
16485 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16486
16487 * font/font.c: Update copyright years.
16488 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16489
16490 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16491
16492 * font/font.c: Include `ascii.h'.
16493 (ASCII_BITMAP_SIZE): New macro.
16494 (ascii_font_glyph): Define.
16495 (ascii_glyph_lookup): New function.
16496 (grub_font_get_string_width): Change comment. If glyph not found, use
16497 ascii_glyph_lookup.
16498 (grub_font_get_glyph_with_fallback): If glyph not available returns
16499 ascii_glyph_lookup.
16500 * util/grub-mkfont.c (file_formats): New enum.
16501 (options): Add `ascii-bitmaps' new option.
16502 (usage): Add `asii-bitmaps' new option.
16503 (write_font_ascii_bitmap): New function.
16504 (write_font): Rename to ...
16505 (write_font_p2): ... this. Remove print_glyphs call.
16506 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16507 used. Call print_glyphs.
16508 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16509
16510 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16511
16512 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16513 (grub_bin2h_SOURCES): New variable.
16514 * util/bin2h.c: New file.
16515
16516 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16517
16518 * include/multiboot.h: Resynced with spec.
16519 * include/multiboot2.h: Likewise.
16520 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16521 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16522
16523 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16524
16525 * include/grub/term.h (grub_term_register_input,
16526 grub_term_register_output): Check return of terminal init()
16527 routines, and abort if errors are raised.
16528
16529 * commands/terminal.c: Update copyright year.
16530
16531 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16532
16533 * commands/terminal.c (grub_cmd_terminal_input)
16534 (grub_cmd_terminal_output): Check return of terminal init()
16535 routines, and abort if errors are raised.
16536
16537 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16538
16539 * include/grub/i386/bsd.h: Fix include pathes.
16540
16541 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16542
16543 Add missing *BSD copyright headers.
16544
16545 * include/grub/aout.h: Add BSD licence.
16546 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16547 * include/grub/i386/freebsd_linker.h: ... here,
16548 * include/grub/i386/freebsd_reboot.h: ... here,
16549 * include/grub/i386/netbsd_bootinfo.h: ... here,
16550 * include/grub/i386/netbsd_reboot.h: ... here,
16551 * include/grub/i386/openbsd_bootarg.h: ... here,
16552 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16553 licence to each file.
16554
16555 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16556
16557 * acinclude.m4: Remove `nop' assembly instruction; it's not
16558 implemented by all architectures.
16559
16560 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16561
16562 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16563 ELILO. This is no longer necessary.
16564
16565 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16566
16567 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16568
16569 * util/grub-script-check.c: grub-script-check tool.
16570 * conf/common.rmk: Make rules for grub-script-check.
16571
16572 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16573
16574 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16575 spotting it back in 2008. Shame on me for forgetting he did.
16576
16577 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16578
16579 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16580
16581 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16582 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16583 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16584 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16585 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16586 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16587
16588 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16589
16590 * include/grub/test.h: Add license header.
16591 * tests/example_functional_test.c: Likewise.
16592 * tests/example_unit_test.c: Likewise.
16593 * tests/lib/functional_test.c: Likewise.
16594 * tests/lib/test.c: Likewise.
16595 * tests/lib/unit_test.c: Likewise.
16596
16597 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16598
16599 Use flag-based instead of hook-based video mode selection and "auto"
16600 keyword.
16601
16602 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16603 (grub_video_set_mode): Changed prototype. All users updated.
16604 (grub_video_check_mode_flag): New inline function.
16605 * video/video.c (parse_modespec): New function.
16606 (grub_video_set_mode): Parse flags and keywords.
16607
16608 2010-01-17 Carles Pina i Estany <carles@pina.cat>
16609
16610 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16611 fprintf call.
16612
16613 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16614
16615 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16616
16617 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16618
16619 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16620 string.
16621 * util/grub-emu.c (usage): Likewise.
16622 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16623 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16624 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16625 * util/i386/pc/grub-setup.c (usage): Likewise.
16626
16627 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16628
16629 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16630 the message.
16631 (grub_util_info): Likewise.
16632 (grub_util_error): Likewise.
16633 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16634 and/or new lines in `grub_util_warna', `grub_util_info',
16635 `grub_util_error' calls.
16636 * util/getroot.c: Likewise.
16637 * util/grub-editenv.c: Likewise.
16638 * util/grub-emu.c: Likewise.
16639 * util/grub-fstest.c: Likewise.
16640 * util/grub-mkdevicemap.c: Likewise.
16641 * util/grub-mkfont.c: Likewise.
16642 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16643 * util/grub-mkrelpath.c: Likewise.
16644 * util/grub-pe2elf.c: Likewise.
16645 * util/grub-probe.c: Likewise.
16646 * util/hostdisk.c: Likewise.
16647 * util/i386/efi/grub-mkimage.c: Likewise.
16648 * util/i386/pc/grub-mkimage.c: Likewise.
16649 * util/i386/pc/grub-setup.c: Likewise.
16650 * util/ieee1275/ofpath.c: Likewise.
16651 * util/mkisofs/eltorito.c: Likewise.
16652 * util/mkisofs/rock.c: Likewise.
16653 * util/mkisofs/write.c: Likewise.
16654 * util/raid.c: Likewise.
16655 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16656 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16657
16658 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16659
16660 Enable multiboot on non-pc.
16661
16662 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16663 multiboot.mod and multiboot2.mod to ...
16664 * conf/i386.rmk (pkglib_MODULES): ... here.
16665 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16666 Moved to ...
16667 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16668 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16669 Moved to ...
16670 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16671 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16672 Moved to ...
16673 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16674 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16675 Moved to ...
16676 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16677 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16678 relocator.mod.
16679 (ata_mod_SOURCES): Removed.
16680 (ata_mod_CFLAGS): Likewise.
16681 (ata_mod_LDFLAGS): Likewise.
16682 (relocator_mod_SOURCES): Removed.
16683 (relocator_mod_CFLAGS): Likewise.
16684 (relocator_mod_ASFLAGS): Likewise.
16685 (relocator_mod_LDFLAGS): Likewise.
16686 Include i386.mk.
16687 * include/grub/x86_64/multiboot.h: New file.
16688 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16689 Terminate EFI.
16690
16691 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16692
16693 Video multiboot support.
16694
16695 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16696 New prototype.
16697 * include/multiboot.h: Resynced with multiboot specification.
16698 * include/multiboot2.h: Likewise.
16699 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16700 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16701 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16702 (HAS_VGA_TEXT): Likewise.
16703 (accepts_video): New variable.
16704 (grub_multiboot_set_accepts_video): New function.
16705 (grub_multiboot_get_mbi_size): Account for video structures.
16706 (set_video_mode): New function.
16707 (retrieve_video_parameters): Likewise.
16708 (grub_multiboot_make_mbi): Fill video fields.
16709
16710 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16711
16712 Video driver ids.
16713
16714 * include/grub/video.h (grub_video_driver_id): New type.
16715 (grub_video_adapter): New member 'id'. All users updated.
16716 (grub_video_get_driver_id): New proto.
16717 * video/video.c (grub_video_get_driver_id): New function.
16718
16719 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16720
16721 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16722 `var=val'.
16723
16724 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16725
16726 * normal/cmdline.c (print_completion): Gettextizze.
16727
16728 2001-01-14 Carles Pina i Estany <carles@pina.cat>
16729
16730 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16731
16732 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16733
16734 * gettext/gettext.c (grub_gettext_translate): Push and pop
16735 grub_errno.
16736 (grub_gettext_delete_list): Change comment style.
16737 * kern/err.c (grub_error): Gettextizze.
16738 (grub_fatal): Gettextizze.
16739
16740 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16741
16742 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
16743 (grub_linux16_real_boot): ... this.
16744 * kern/i386/loader.S: Likewise.
16745 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
16746 (grub_linux16_boot): New function. Switches to text mode and calls
16747 grub_linux16_real_boot().
16748
16749 * loader/i386/bsd.c: Include `<grub/video.h>'.
16750 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
16751 text mode before calling grub_unix_real_boot().
16752
16753 * loader/i386/multiboot.c: Include `<grub/video.h>'.
16754 (grub_multiboot_boot): Switch to text mode before calling
16755 grub_relocator32_boot().
16756
16757 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
16758 (grub_chainloader_boot): Switch to text mode before calling
16759 grub_chainloader_real_boot().
16760
16761 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16762 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16763
16764 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
16765 non-empty value.
16766
16767 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16768 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16769
16770 * util/grub.d/00_header.in: Define a "savedefault" function for use
16771 in menu entries.
16772 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
16773
16774 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16775 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16776
16777 * util/grub-mkconfig_lib.in (save_default_entry): Only set
16778 saved_entry if boot_once is unset.
16779 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
16780 previous saved entry (i.e. grub-reboot).
16781
16782 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16783
16784 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
16785
16786 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16787
16788 * util/grub.d/00_header.in: Use `set var=val' rather than plain
16789 `var=val'.
16790 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
16791
16792 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16793
16794 * util/grub-reboot.in: Fix --version output.
16795 * util/grub-set-default.in: Likewise.
16796
16797 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16798
16799 * util/grub.d/00_header.in: Silently ignore zero-sized environment
16800 blocks.
16801
16802 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16803
16804 * util/grub.d/00_header.in: Quote the value assigned to `default',
16805 in case it contains spaces.
16806
16807 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16808
16809 * util/grub.d/30_os-prober.in: Fix merge error that moved a
16810 `save_default_entry' call from the macosx case to the linux case.
16811
16812 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16813 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
16814
16815 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
16816 in `chosen' environment variable.
16817 * normal/menu_text.c (get_entry_number): Check if the variable
16818 matches the title of a menu entry.
16819 (run_menu): Pass menu to get_entry_number.
16820
16821 * util/grub-reboot.in: New file.
16822 * util/grub-set-default.in: New file.
16823 * conf/common.rmk (grub-reboot): New utility.
16824 (grub-set-default): New utility.
16825
16826 * util/grub-mkconfig_lib.in (save_default_entry): New function.
16827 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
16828 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
16829 move it to `saved_entry' for the next boot. Load environment on
16830 initialisation.
16831 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
16832 * util/grub.d/10_hurd.in: Likewise.
16833 * util/grub.d/10_linux.in (linux_entry): Likewise.
16834 * util/grub.d/10_windows.in: Likewise.
16835 * util/grub.d/30_os-prober.in: Likewise.
16836
16837 * util/grub-install.in: Create environment block.
16838 * util/i386/efi/grub-install.in: Likewise.
16839 * util/ieee1275/grub-install.in: Likewise.
16840 * util/sparc64/ieee1275/grub-install.in: Likewise.
16841
16842 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
16843
16844 Unit testing framework for GRUB.
16845
16846 * Makefile.in: Test framework build rules for 'make check'.
16847 * conf/tests.rmk: Build rules for individual tests and framework.
16848
16849 * include/grub/test.h: Header file for whitebox tests.
16850 * tests/lib/functional_test.c: Framework support for whitebox
16851 functional tests.
16852 * tests/lib/test.c: Common whitebox testing code for unit and
16853 functional tests.
16854 * tests/lib/unit_test.c: Framework support for whitebox unit
16855 tests.
16856
16857 * tests/util/grub-shell-tester.in: Support utility for grub-script
16858 tests.
16859 * tests/util/grub-shell.in: Utility to execute grub-script
16860 commands in a Qemu instance.
16861
16862 * tests/example_functional_test.c: Example whitebox functional
16863 test.
16864 * tests/example_grub_script_test.in: Example grub-script test.
16865 * tests/example_scripted_test.in: Example scripted test.
16866 * tests/example_unit_test.c: Example whitebox unit test.
16867
16868 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16869
16870 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
16871 Add loader/i386/multiboot_mbi.c.
16872 (multiboot2_mod_SOURCES): Likewise.
16873 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
16874 (multiboot2_mod_SOURCES): Likewise.
16875 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
16876 (grub_multiboot_make_mbi): Likewise.
16877 (grub_multiboot_free_mbi): Likewise.
16878 (grub_multiboot_init_mbi): Likewise.
16879 (grub_multiboot_add_module): Likewise.
16880 (grub_multiboot_set_bootdev): Likewise.
16881 * loader/i386/multiboot.c (mbi): Removed.
16882 (mbi_dest): Likewise.
16883 (alloc_mbi): New variable.
16884 (grub_multiboot_payload_size): Removed. All users updated.
16885 (grub_multiboot_pure_size): New variable.
16886 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
16887 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
16888 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
16889 (grub_fill_multiboot_mmap): Likewise.
16890 (grub_multiboot_get_bootdev): Likewise.
16891 (grub_multiboot): Use multiboot_mbi functions.
16892 * loader/i386/multiboot_mbi.c: New file.
16893
16894 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16895
16896 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
16897 it would result in module crash.
16898
16899 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16900
16901 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
16902 (grub_ofconsole_getwh): Split to ...
16903 (grub_ofconsole_getwh): ... this.
16904 (grub_ofconsole_dimensions): ...and this.
16905 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
16906
16907 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
16908
16909 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
16910
16911 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16912
16913 * loader/i386/pc/multiboot2.c: Removed stalled file.
16914
16915 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16916
16917 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
16918 Reported by: Grégoire Sutre
16919
16920 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
16921
16922 * util/misc.c (canonicalize_file_name): New function.
16923 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
16924 instead of realpath().
16925
16926 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
16927
16928 * util/grub-install.in (usage): Clarify meaning of --root-directory,
16929 and make it clearer that it's optional. Based on confusion
16930 witnessed on IRC.
16931
16932 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16933
16934 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
16935 in premature implicit newline.
16936
16937 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16938
16939 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
16940 which resulted in garbled command line at the end of screen.
16941
16942 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16943
16944 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
16945 initialization with similar approach as with other Linux loaders.
16946
16947 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16948
16949 Fix i386-ieee1275 build.
16950
16951 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
16952 and grub_term_height() for video_{width,height} initialization.
16953
16954 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16955
16956 Fix grub-emu build.
16957
16958 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
16959
16960 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16961 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16962
16963 Support for multiple terminals.
16964
16965 * Makefile.in (pkglib_DATA): terminal.lst.
16966 (terminal.lst): New target.
16967 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
16968 (GRUB_MOD_INIT(handler)): Likewise.
16969 (GRUB_MOD_FINI(handler)): Likewise.
16970 * commands/help.c (grub_cmd_help): Handle multiple terminals.
16971 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
16972 * commands/sleep.c (do_print): Use grub_term_restore_pos.
16973 (grub_cmd_sleep): Use grub_term_save_pos.
16974 * commands/terminal.c: New file.
16975 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
16976 commands/terminal.c and lib/charset.c.
16977 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
16978 (pkglib_MODULES): Add terminal.mod.
16979 (terminal_mod_SOURCES): New variable.
16980 (terminal_mod_CFLAGS): Likewise.
16981 (terminal_mod_LDFLAGS): Likewise.
16982 * genhandlerlist.sh: Don't handle terminals.
16983 * genmk.rb: Generate terminal-*.lst.
16984 * genterminallist.sh: New file.
16985 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
16986 (grub_is_valid_utf8): Likewise.
16987 (grub_utf8_to_ucs4_alloc): Likewise.
16988 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
16989 (grub_menu_register_viewer): Changed argument.
16990 (grub_menu_try_text): New proto.
16991 (grub_gfxmenu_try_hook): New declaration.
16992 * include/grub/normal.h (grub_normal_exit_level): New declaration.
16993 (grub_menu_init_page): Additional argument term.
16994 (grub_normal_init_page): Likewise.
16995 (grub_cmdline_get): Arguments simplified.
16996 (grub_utf8_to_ucs4_alloc): Removed.
16997 (grub_print_ucs4): Additional argument term.
16998 (grub_getstringwidth): Likewise.
16999 (grub_print_message_indented): Likewise.
17000 (grub_menu_text_register_instances): New proto.
17001 (grub_show_menu): Likewise.
17002 (read_terminal_list): Likewise.
17003 (grub_set_more): Likewise.
17004 * include/grub/parser.h: Include handler.h.
17005 * include/grub/reader.h: Rewritten.
17006 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
17007 (GRUB_TERM_WIDTH): Changed to function.
17008 (GRUB_TERM_HEIGHT): Likewise.
17009 (GRUB_TERM_BORDER_WIDTH): Likewise.
17010 (GRUB_TERM_BORDER_HEIGHT): Likewise.
17011 (GRUB_TERM_NUM_ENTRIES): Likewise.
17012 (GRUB_TERM_ENTRY_WIDTH): Likewise.
17013 (GRUB_TERM_CURSOR_X): Likewise.
17014 (grub_term_input_class): Likewise.
17015 (grub_term_output_class): Likewise.
17016 (grub_term_outputs_disabled): New declaration.
17017 (grub_term_inputs_disabled): Likewise.
17018 (grub_term_outputs): Likewise.
17019 (grub_term_inputs): Likewise.
17020 (grub_term_register_input): Rewritten.
17021 (grub_term_register_output): Likewise.
17022 (grub_term_unregister_input): Likewise.
17023 (grub_term_unregister_output): Likewise.
17024 (FOR_ACTIVE_TERM_INPUTS): New macro.
17025 (FOR_DISABLED_TERM_INPUTS): Likewise.
17026 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
17027 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
17028 * include/grub/terminfo.h: Add oterm argument to all protypes.
17029 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
17030 Use grub_rescue_run.
17031 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
17032 All users updated.
17033 * kern/reader.c: Removed. All users updated.
17034 * kern/rescue_reader.c (grub_rescue_init): Removed.
17035 (grub_rescue_reader): Likewise.
17036 (grub_register_rescue_reader): Likewise.
17037 (grub_rescue_run): New function based on kern/reader.c.
17038 * kern/term.c: Adapted for multiterm.
17039 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
17040 (grub_is_valid_utf8): Likewise.
17041 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
17042 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
17043 right terminal.
17044 * loader/i386/linux.c (grub_linux_boot): Likewise.
17045 * normal/auth.c (grub_username_get): New function.
17046 (grub_auth_check_authentication): Use grub_username_get.
17047 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
17048 * normal/color.c: Adapt for multiterm.
17049 * normal/main.c (read_config_file): Don't use grub_reader_loop.
17050 (grub_normal_init_page): Additional argument term.
17051 (read_lists): Call read_terminal_lists.
17052 (grub_enter_normal_mode): Call grub_cmdline_run.
17053 Handle grub_normal_exit_level.
17054 (grub_cmd_normal): Make reentrant.
17055 (grub_cmd_normal_exit): New function.
17056 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
17057 * normal/menu.c: Adapt for multiterm.
17058 * normal/menu_entry.c: Likewise.
17059 * normal/menu_text.c: Likewise.
17060 * normal/menu_viewer.c: Removed. All users updated.
17061 * normal/term.c: New file.
17062 * util/console.c: Change order of includes to workaround a bug in
17063 ncurses headers.
17064 * term/terminfo.c: New argument oterm on all exported functions.
17065 All users updated.
17066 * util/grub-editenv.c (grub_term_input_class): Removed.
17067 (grub_term_output_class): Likewise.
17068
17069 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17070
17071 Make loader output a bit more user-friendly.
17072
17073 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17074 is being loaded. Likewise for the Hurd.
17075
17076 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17077 that kernel of FreeBSD ${version} is being loaded.
17078
17079 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17080 grub_dprintf().
17081 (grub_cmd_initrd): Likewise.
17082 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17083 that Linux ${version} is being loaded. Likewise for initrd.
17084
17085 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17086
17087 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17088
17089 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17090
17091 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17092 (GRUB_MOD_INIT): Gettextizze.
17093 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17094 (GRUB_MOD_INIT): Gettextizze.
17095 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17096 (grub_cmd_linux): Capitalise Linux.
17097 (GRUB_MOD_INIT): Gettextizze.
17098 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17099 (grub_cmd_linux): Capitalise Linux.
17100 (GRUB_MOD_INIT): Gettextizze.
17101 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17102 (grub_cmd_linux): Capitalise Linux.
17103 (GRUB_MOD_INIT): Gettextizze.
17104 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17105 (GRUB_MOD_INIT): Gettextizze.
17106 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17107 (grub_cmd_linux): Capitalise Linux.
17108 (GRUB_MOD_INIT): Gettextizze.
17109 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17110 (grub_cpu_xnu_init): Gettextizze.
17111 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17112 (GRUB_MOD_INIT): Gettextizze.
17113 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17114 (GRUB_MOD_INIT): Gettextizze.
17115 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17116 (grub_linux_load64): Capitalise Linux.
17117 (GRUB_MOD_INIT): Gettextizze.
17118 * loader/xnu.c: Include `<grub/i18n.h>'.
17119 (GRUB_MOD_INIT): Gettextizze.
17120 * po/POTFILES: Add `loader/efi/appleloader.c',
17121 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17122 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17123 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17124 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17125 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17126 and `loader/xnu.c'.
17127
17128 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17129
17130 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17131
17132 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17133
17134 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17135 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17136 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17137
17138 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17139
17140 Reset Multiboot 2 support. New loader implements the draft in
17141 /branches/multiboot2 and shares as much code as possible with the
17142 production Multiboot 1 implementation.
17143
17144 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17145 * loader/multiboot2.c: Likewise.
17146 * loader/i386/multiboot_helper.S: Likewise.
17147 * include/multiboot2.h: Replace with latest version from the draft
17148 in /branches/multiboot2.
17149
17150 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17151 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17152 and `loader/multiboot2.c'.
17153 (pkglib_MODULES): Add `multiboot2.mod'.
17154 (multiboot2_mod_SOURCES): New variable.
17155 (multiboot2_mod_LDFLAGS): Likewise.
17156 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17157
17158 * conf/i386-pc.rmk: Likewise.
17159
17160 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17161 (multiboot_mod_SOURCES): Remove variable.
17162 (multiboot_mod_LDFLAGS): Likewise.
17163 (multiboot_mod_CFLAGS): Likewise.
17164
17165 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17166 `<multiboot2.h>' instead of `<multiboot.h>'.
17167 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17168 (MULTIBOOT_HEADER_MAGIC): New macros.
17169
17170 * loader/multiboot_loader.c (module_version_status): Remove variable.
17171 (find_multi_boot2_header): Remove function.
17172 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17173 logic. Always check for the Multiboot version we're compiling for.
17174 (grub_cmd_module_loader): Likewise.
17175 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17176 command instead of `multiboot'.
17177
17178 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17179
17180 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17181 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17182 all users.
17183
17184 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17185 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17186
17187 Fix breakage introduced with previous commit.
17188
17189 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17190 commands.
17191 * normal/handler.c (read_handler_list): Revert part of previous commit
17192 affecting this file.
17193 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17194 (grub_normal_execute): ... here.
17195
17196 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17197
17198 Merge prefix-redefinition-fix branch.
17199
17200 * normal/autofs.c (read_fs_list): Make function capable of being
17201 run multiple times, gracefuly replacing the previous data
17202 structures.
17203 * normal/dyncmd.c (read_command_list): Likewise.
17204 * normal/handler.c (read_handler_list): Likewise.
17205 * normal/main.c (read_lists): New function. Calls all the
17206 list reading functions.
17207 (grub_normal_execute): Use read_lists() instead of calling all
17208 list reading functions explicitly. Register read_lists() as a
17209 variable hook attached to ${prefix}.
17210
17211 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17212
17213 Merge crypto branch.
17214
17215 * Makefile.in (pkglib_DATA): Add crypto.lst.
17216 (crypto.lst): New target.
17217 * commands/hashsum.c: New file.
17218 * commands/password.c (check_password): Use grub_crypto_memcmp.
17219 * commands/password_pbkdf2.c: New file.
17220 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17221 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17222 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17223 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17224 -I$(srcdir)/lib/libgcrypt_wrap.
17225 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17226 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17227 password_pbkdf2.mod.
17228 (crypto_mod_SOURCES): New variable.
17229 (crypto_mod_CFLAGS): Likewise.
17230 (crypto_mod_LDFLAGS): Likewise.
17231 (hashsum_mod_SOURCES): New variable.
17232 (hashsum_mod_CFLAGS): Likewise.
17233 (hashsum_mod_LDFLAGS): Likewise.
17234 (pbkdf2_mod_SOURCES): New variable.
17235 (pbkdf2_mod_CFLAGS): Likewise.
17236 (pbkdf2_mod_LDFLAGS): Likewise.
17237 (password_pbkdf2_mod_SOURCES): New variable.
17238 (password_pbkdf2_mod_CFLAGS): Likewise.
17239 (password_pbkdf2_mod_LDFLAGS): Likewise.
17240 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17241 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17242 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17243 Include conf/gcry.rmk.
17244 * include/grub/auth.h: Rewritten.
17245 * include/grub/crypto.h: New file.
17246 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17247 * include/grub/normal.h (read_crypto_list): New prototype.
17248 * lib/crypto.c: New file.
17249 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17250 * lib/pbkdf2.c: Likewise.
17251 * normal/auth.c (grub_auth_strcmp): Removed.
17252 (grub_iswordseparator): Likewise.
17253 (grub_auth_strword): Likewise.
17254 (is_authenticated): Use grub_strword.
17255 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17256 and grub_strword. Pass entered password to authentication callback.
17257 * normal/crypto.c: New file.
17258 * normal/main.c: Call read_crypto_list.
17259 * util/grub-mkpasswd-pbkdf2.c: New file.
17260 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17261
17262 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 Fix descent and ascent calculation.
17265
17266 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17267 (options): New option "asce".
17268 (usage): Likewise.
17269 (add_char): Ignore invalid glyphs for descent calculation.
17270 Calculate ascent from actual content.
17271 (print_glyphs): Use 'asce'.
17272 (write_font): Likewise. Allow ascent override.
17273 (main): Handle "asce" option.
17274
17275 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17276
17277 * kern/err.c: Include `<grub/i18n.h>'.
17278 (grub_print_error): Add full stop. Gettextizze.
17279 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17280 (grub_bsd_load_elf): Capitalise ELF.
17281 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17282 (grub_cmd_freebsd_module): Likewise.
17283 (grub_cmd_freebsd_module_elf): Likewise.
17284 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17285
17286 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17287
17288 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17289 * commands/search_file.c (HELP_MESSAGE): New macro.
17290 * commands/search_label.c (HELP_MESSAGE): Likewise.
17291 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17292 * po/POTFILES: Add `commands/search_file.c',
17293 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17294 `commands/search.c'.
17295
17296 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17297
17298 * config.rpath: Update from Gnulib.
17299
17300 2010-01-05 Yves Blusseau <blusseau@zetam.org>
17301
17302 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17303
17304 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17305
17306 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17307
17308 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17309
17310 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17311 arguments to fread so that we get a return value in bytes, rather
17312 than something that will normally be rounded down to 0.
17313 Adjust error handling to avoid producing garbage when size_t is not
17314 the same size as long long.
17315
17316 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17317
17318 * util/mkisofs/write.c (padblock_write): Check return value of
17319 fread.
17320
17321 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17322
17323 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17324 floppy images now.
17325
17326 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17327
17328 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17329
17330 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17331 instead of manual alignment.
17332 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17333 verbose). Avoid attempts to read past end of the device
17334 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17335 but GRUB_DISK_CACHE_SIZE may exceed that).
17336
17337 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17338
17339 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17340 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17341 it to upper layer.
17342
17343 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17344
17345 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17346 New constant.
17347 (grub_efi_piwg_device_path): New structure
17348 (grub_efi_piwg_device_path_t): New type.
17349 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17350 (devpath_1): Transform to a structure. All users updated.
17351 (devpath_2): Likewise.
17352 (devpath_3): Likewise.
17353 (devpath_4): Likewise.
17354 (devpath_5): Likewise.
17355
17356 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17357
17358 * loader/efi/appleloader.c: Restored. Update all users.
17359
17360 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17361
17362 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17363
17364 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17365 (struct boot_blocklist): Move from here ...
17366 * include/grub/i386/pc/boot.h [ASM_FILE]
17367 (struct grub_boot_blocklist): ... to here. Update all users.
17368 (setup): Only initialize `start' member of `first_block'
17369 structure. Add assert() calls to verify the other members.
17370
17371 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17372 (generate_image): Fix broken blocklist length initialization.
17373 Add assert() call to verify blocklist `segment' field.
17374
17375 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17376
17377 * loader/efi/appleloader.c: Remove. Update all users.
17378
17379 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17380
17381 * boot/i386/pc/boot.S: Update copyright year.
17382 * boot/i386/pc/cdboot.S: Likewise.
17383 * boot/i386/pc/diskboot.S: Likewise.
17384 * boot/i386/pc/lnxboot.S: Likewise.
17385 * boot/i386/pc/pxeboot.S: Likewise.
17386 * bus/pci.c: Likewise.
17387 * commands/cmp.c: Likewise.
17388 * commands/help.c: Likewise.
17389 * commands/hexdump.c: Likewise.
17390 * commands/i386/pc/halt.c: Likewise.
17391 * commands/i386/pc/play.c: Likewise.
17392 * commands/i386/pc/vbeinfo.c: Likewise.
17393 * commands/ls.c: Likewise.
17394 * commands/test.c: Likewise.
17395 * disk/dmraid_nvidia.c: Likewise.
17396 * disk/i386/pc/biosdisk.c: Likewise.
17397 * disk/ieee1275/nand.c: Likewise.
17398 * disk/ieee1275/ofdisk.c: Likewise.
17399 * disk/lvm.c: Likewise.
17400 * disk/raid.c: Likewise.
17401 * disk/raid6_recover.c: Likewise.
17402 * disk/scsi.c: Likewise.
17403 * fs/affs.c: Likewise.
17404 * fs/cpio.c: Likewise.
17405 * fs/ext2.c: Likewise.
17406 * fs/hfs.c: Likewise.
17407 * fs/iso9660.c: Likewise.
17408 * fs/ntfs.c: Likewise.
17409 * fs/sfs.c: Likewise.
17410 * fs/udf.c: Likewise.
17411 * fs/ufs.c: Likewise.
17412 * fs/xfs.c: Likewise.
17413 * gencmdlist.sh: Likewise.
17414 * genmk.rb: Likewise.
17415 * include/grub/disk.h: Likewise.
17416 * include/grub/efi/api.h: Likewise.
17417 * include/grub/efi/efi.h: Likewise.
17418 * include/grub/efi/pe32.h: Likewise.
17419 * include/grub/elf.h: Likewise.
17420 * include/grub/fs.h: Likewise.
17421 * include/grub/i386/at_keyboard.h: Likewise.
17422 * include/grub/i386/pc/memory.h: Likewise.
17423 * include/grub/i386/pc/vbe.h: Likewise.
17424 * include/grub/i386/pci.h: Likewise.
17425 * include/grub/i386/tsc.h: Likewise.
17426 * include/grub/ieee1275/ieee1275.h: Likewise.
17427 * include/grub/ntfs.h: Likewise.
17428 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17429 * include/grub/sparc64/libgcc.h: Likewise.
17430 * include/grub/symbol.h: Likewise.
17431 * include/grub/types.h: Likewise.
17432 * include/multiboot2.h: Likewise.
17433 * io/gzio.c: Likewise.
17434 * kern/device.c: Likewise.
17435 * kern/disk.c: Likewise.
17436 * kern/efi/efi.c: Likewise.
17437 * kern/efi/mm.c: Likewise.
17438 * kern/elf.c: Likewise.
17439 * kern/file.c: Likewise.
17440 * kern/i386/dl.c: Likewise.
17441 * kern/i386/pc/init.c: Likewise.
17442 * kern/i386/pc/startup.S: Likewise.
17443 * kern/ieee1275/ieee1275.c: Likewise.
17444 * kern/ieee1275/init.c: Likewise.
17445 * kern/main.c: Likewise.
17446 * kern/mm.c: Likewise.
17447 * kern/powerpc/dl.c: Likewise.
17448 * kern/sparc64/dl.c: Likewise.
17449 * kern/x86_64/dl.c: Likewise.
17450 * lib/hexdump.c: Likewise.
17451 * loader/efi/appleloader.c: Likewise.
17452 * loader/i386/ieee1275/linux.c: Likewise.
17453 * loader/i386/pc/chainloader.c: Likewise.
17454 * loader/i386/pc/linux.c: Likewise.
17455 * loader/i386/pc/multiboot2.c: Likewise.
17456 * loader/ieee1275/multiboot2.c: Likewise.
17457 * loader/multiboot2.c: Likewise.
17458 * loader/multiboot_loader.c: Likewise.
17459 * loader/powerpc/ieee1275/linux.c: Likewise.
17460 * normal/completion.c: Likewise.
17461 * normal/menu_entry.c: Likewise.
17462 * partmap/apple.c: Likewise.
17463 * util/grub.d/10_hurd.in: Likewise.
17464 * util/hostfs.c: Likewise.
17465 * video/readers/png.c: Likewise.
17466
17467 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
17468
17469 * include/grub/misc.h (GNUC_PREREQ): New macro.
17470 (ATTRIBUTE_ERROR): New macro.
17471 * include/grub/list.h (grub_bad_type_cast_real): Use
17472 ATTRIBUTE_ERROR.
17473
17474 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17475
17476 * normal/menu_text.c (print_message): Change messages.
17477
17478 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17479
17480 * normal/menu_entry.c (store_completion): Gettextizze.
17481
17482 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17483
17484 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17485
17486 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17487
17488 * po/POTFILES: Sort correctly.
17489
17490 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17491
17492 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17493 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17494 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17495 full stop.
17496 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17497 summary. Gettextizze the strings.
17498 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17499 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17500 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17501 full stop.
17502 (GRUB_MOD_INIT): Remove command name from summary.
17503 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17504 summary.
17505 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17506 * term/i386/pc/serial.c (options): Add full stops.
17507 (GRUB_MOD_INIT): Remove command name from the summary.
17508
17509 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17510
17511 * commands/acpi.c: Gettextizze help strings and/or options. Include
17512 `grub/i18n.h' if needed.
17513 * commands/blocklist.c: Likewise.
17514 * commands/boot.c: Likewise.
17515 * commands/cat.c: Likewise.
17516 * commands/cmp.c: Likewise.
17517 * commands/configfile.c: Likewise.
17518 * commands/crc.c: Likewise.
17519 * commands/date.c: Likewise.
17520 * commands/echo.c: Likewise.
17521 * commands/efi/fixvideo.c: Likewise.
17522 * commands/efi/loadbios.c: Likewise.
17523 * commands/gptsync.c: Likewise.
17524 * commands/halt.c: Likewise.
17525 * commands/handler.c: Likewise.
17526 * commands/hdparm.c: Likewise.
17527 * commands/hexdump.c: Likewise.
17528 * commands/i386/cpuid.c: Likewise.
17529 * commands/i386/pc/drivemap.c: Likewise.
17530 * commands/i386/pc/halt.c: Likewise.
17531 * commands/i386/pc/pxecmd.c: Likewise.
17532 * commands/i386/pc/vbeinfo.c: Likewise.
17533 * commands/i386/pc/vbetest.c: Likewise.
17534 * commands/ieee1275/suspend.c: Likewise.
17535 * commands/keystatus.c: Likewise.
17536 * commands/loadenv.c: Likewise.
17537 * commands/ls.c: Likewise.
17538 * commands/lsmmap.c: Likewise.
17539 * commands/lspci.c: Likewise.
17540 * commands/memrw.c: Likewise.
17541 * commands/minicmd.c: Likewise.
17542 * commands/parttool.c: Likewise.
17543 * commands/password.c: Likewise.
17544 * commands/probe.c: Likewise.
17545 * commands/read.c: Likewise.
17546 * commands/reboot.c: Likewise.
17547 * commands/search.c: Likewise.
17548 * commands/sleep.c: Likewise.
17549 * commands/test.c: Likewise.
17550 * commands/true.c: Likewise.
17551 * commands/usbtest.c: Likewise.
17552 * commands/videotest.c: Likewise.
17553 * commands/xnu_uuid.c: Likewise.
17554 * disk/loopback.c: Likewise.
17555 * hello/hello.c: Likewise.
17556 * loader/i386/bsd.c: Likewise.
17557 * term/i386/pc/serial.c: Likewise.
17558 * po/POTFILES: Add new files.
17559
17560 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
17561
17562 * term/i386/pc/at_keyboard.c
17563 (keyboard_controller_wait_untill_ready): Rename to ...
17564 (keyboard_controller_wait_until_ready): ... this. Update all users.
17565
17566 2010-01-01 Carles Pina i Estany <carles@pina.cat>
17567
17568 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17569 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17570 string using string width.
17571 * normal/menu_text.c (grub_print_message_indented): Use
17572 grub_print_spaces and not print_spaces.
17573 (print_timeout): Likewise.
17574 (print_spaces): Move to...
17575 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17576
17577 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17578
17579 Import from Gnulib.
17580
17581 * gnulib/getdelim.c: New file.
17582 * gnulib/getline.c: Likewise.
17583
17584 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17585
17586 * include/grub/list.h (grub_assert_fail): Removed.
17587 (grub_bad_type_cast_real): New function.
17588 (grub_bad_type_cast): New macro.
17589 (GRUB_AS_LIST): Use grub_bad_type_cast.
17590 (GRUB_AS_LIST_P): Likewise.
17591 (GRUB_AS_NAMED_LIST): Likewise.
17592 (GRUB_AS_NAMED_LIST_P): Likewise.
17593 (GRUB_AS_PRIO_LIST): Likewise.
17594 (GRUB_AS_PRIO_LIST_P): Likewise.
17595 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
17596
17597 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17598
17599 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17600 Fix syntax error.
17601
17602 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17603
17604 * configure.ac: Check for TARGET_CFLAGS initialization before we
17605 initialize it ourselves (sigh).
17606 Move a few modifications to TARGET_CFLAGS to be unconditional
17607 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17608 eh_frame)
17609
17610 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17611 * term/i386/pc/at_keyboard.c
17612 (keyboard_controller_wait_untill_ready): Likewise.
17613 (keyboard_controller_led): Rename `led_status' paramter to avoid
17614 name conflict.
17615
17616 2009-12-28 Carles Pina i Estany <carles@pina.cat>
17617
17618 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17619 quotes.
17620
17621 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17622
17623 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17624
17625 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17626
17627 * normal/menu_text.c (grub_print_message_indented): Prevent
17628 past-the-end-of-array dereference.
17629
17630 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17631
17632 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17633 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17634
17635 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17636
17637 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17638 * normal/main.c (grub_normal_read_line): Remove a space from the
17639 default prompt.
17640
17641 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17642
17643 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17644 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17645 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17646 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17647 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17648 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17649 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17650
17651 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17652
17653 * video/readers/jpeg.c (cmd): Declare.
17654 (grub_cmd_jpegtest): Use `grub_command_t' type.
17655 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17656 Assign to `cmd'.
17657 (GRUB_MOD_FINI): Use `cmd' to unregister.
17658 * video/readers/png.c (cmd): Declare.
17659 (grub_cmd_pngtest): Use `grub_command_t' type.
17660 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17661 Assign to `cmd'.
17662 (GRUB_MOD_FINI): Use `cmd' to unregister.
17663 * video/readers/tga.c (cmd): Declare.
17664 (grub_cmd_tgatest): Use `grub_command_t' type.
17665 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17666 Assign to `cmd'.
17667 (GRUB_MOD_FINI): Use `cmd' to unregister.
17668
17669 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17670
17671 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17672 stops.
17673 * kern/corecmd.c (grub_register_core_commands): Likewise.
17674 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17675 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17676 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17677 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17678 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17679 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17680 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17681 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17682 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17683 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17684 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17685 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17686 * normal/handler.c (insert_handler): Likewise.
17687 * normal/main.c (GRUB_MOD_INIT): Likewise.
17688 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17689
17690 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17691
17692 * commands/help.c (grub_cmd_help): Print the command name before the
17693 summary.
17694 (GRUB_MOD_INIT): Remove command name from the summary.
17695 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
17696 string as summary.
17697 * lib/arg.c (find_long): Print the command name before the summary.
17698 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17699 summary.
17700 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17701 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17702 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17703 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17704 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17705 * commands/date.c (GRUB_MOD_INIT): Likewise.
17706 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17707 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17708 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17709 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17710 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17711 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17712 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17713 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17714 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17715 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17716 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17717 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17718 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17719 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17720 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17721 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17722 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17723 * commands/password.c (GRUB_MOD_INIT): Likewise.
17724 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17725 * commands/read.c (GRUB_MOD_INIT): Likewise.
17726 * commands/search.c (GRUB_MOD_INIT): Likewise.
17727 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17728 * commands/test.c (GRUB_MOD_INIT): Likewise.
17729 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17730 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17731 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17732 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17733 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17734 * lib/arg.c (GRUB_MOD_INIT): Likewise.
17735 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
17736 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17737 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17738 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17739 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17740 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
17741 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
17742 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
17743
17744 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17745
17746 Use search command for preliminar UUID search.
17747
17748 * commands/search.c: Split into ...
17749 * commands/search_wrap.c: ...this
17750 * commands/search.c: ...and this.
17751 * commands/search_file.c: New file.
17752 * commands/search_label.c: New file.
17753 * commands/search_uuid.c: New file.
17754 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
17755 Add commands/search_wrap.c, commands/search_file.c,
17756 commands/search_label.c and commands/search_uuid.c.
17757 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
17758 (search_mod_SOURCES): Set to commands/search_wrap.c.
17759 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
17760 search_label.mod.
17761 (search_fs_file_mod_SOURCES): New variable.
17762 (search_fs_file_mod_CFLAGS): Likewise.
17763 (search_fs_file_mod_LDFLAGS): Likewise.
17764 (search_label_mod_SOURCES): Likewise.
17765 (search_label_mod_CFLAGS): Likewise.
17766 (search_label_mod_LDFLAGS): Likewise.
17767 (search_fs_uuid_mod_SOURCES): New variable.
17768 (search_fs_uuid_mod_CFLAGS): Likewise.
17769 (search_fs_uuid_mod_LDFLAGS): Likewise.
17770 (fs_file_mod_SOURCES): Removed.
17771 (fs_file_mod_CFLAGS): Likewise.
17772 (fs_file_mod_LDFLAGS): Likewise.
17773 (fs_uuid_mod_SOURCES): Removed.
17774 (fs_uuid_mod_CFLAGS): Likewise.
17775 (fs_uuid_mod_LDFLAGS): Likewise.
17776 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
17777 Set to util/grub-install.in.
17778 * disk/fs_file.c: Removed.
17779 * disk/fs_uuid.c: Likewise.
17780 * include/grub/search.h: New file.
17781 * util/grub-install.in: Handle sparc64.
17782 Create and use load.cfg.
17783 * util/sparc64/ieee1275/grub-install.in: Removed.
17784
17785 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17786
17787 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
17788 Ignore return status if CF is cleared.
17789 (grub_biosdisk_get_diskinfo_standard): Likewise.
17790
17791 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17792
17793 * term/i386/pc/at_keyboard.c
17794 (keyboard_controller_wait_untill_ready): New function.
17795 (grub_keyboard_controller_write, grub_keyboard_controller_read)
17796 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
17797 for keyboard polling, rather than duplicate the same loop. This
17798 saves a few bytes in code size.
17799
17800 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17801
17802 Support for (pxe[:server[:gateway]]) syntax and
17803 use environment variable for PXE.
17804
17805 * commands/i386/pc/pxecmd.c (options): Removed.
17806 (print_ip): Removed.
17807 (grub_cmd_pxe): Removed
17808 (grub_cmd_pxe_unload): New function.
17809 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
17810 (grub_pxe_your_ip): Made static.
17811 (grub_pxe_default_server_ip): Likewise.
17812 (grub_pxe_default_gateway_ip): Likewise.
17813 (grub_pxe_blksize): Likewise.
17814 (parse_ip): New function.
17815 (grub_pxe_open): Support server and gateway specification.
17816 (grub_pxe_close): Free disk->data.
17817 (grub_pxefs_open): Use disk->data.
17818 (grub_pxefs_read): Likewise.
17819 (grub_env_write_readonly): New function.
17820 (set_mac_env): Likewise.
17821 (set_env_limn_ro): Likewise.
17822 (parse_dhcp_vendor): Likewise.
17823 (grub_pxe_detect): Set the environment variables.
17824 (set_ip_env): New function.
17825 (write_ip_env): Likewise.
17826 (grub_env_write_pxe_default_server): Likewise.
17827 (grub_env_write_pxe_default_gateway): Likewise.
17828 (grub_env_write_pxe_blocksize): Likewise.
17829 (GRUB_MOD_INIT(pxe)): Set environment variables.
17830 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
17831 (grub_pxe_mac_addr_t): ... this. All users updated.
17832 (grub_pxe_your_ip): Removed.
17833 (grub_pxe_server_ip): Likewise.
17834 (grub_pxe_gateway_ip): Likewise.
17835 (grub_pxe_blksize): Likewise.
17836
17837 2009-12-25 Carles Pina i Estany <carles@pina.cat>
17838
17839 * commands/help.c: Include `<grub/i18n.h>'.
17840 (grub_cmd_help): Gettextizze.
17841 (GRUB_MOD_INIT): Likewise.
17842 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
17843 (GRUB_MOD_INIT): Gettextizze.
17844 * commands/search.c: Include `<grub/i18n.h>'.
17845 (options): Gettextizze.
17846 (GRUB_MOD_INIT): Gettextizze.
17847 * lib/arg.c: Include `<grub/i18n.h>'.
17848 (help_options): Gettextizze.
17849 (find_long): Likewise.
17850 (grub_arg_show_help): Likewise.
17851 * normal/dyncmd.c: Include `<grub/i18n.h>'.
17852 (read_command_list): Gettextizze.
17853 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
17854 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
17855
17856 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17857
17858 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
17859 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
17860 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
17861 (led_status): New variable.
17862 (keyboard_controller_led): New function.
17863 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
17864 update led status for caps lock, num lock and scroll lock.
17865
17866 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
17867
17868 * util/hostdisk.c (open_device): Fix a comment.
17869
17870 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17871
17872 * util/grub-install.in (host_os): New variable.
17873 * util/i386/efi/grub-install.in (host_os): Likewise.
17874
17875 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17876
17877 * util/mkisofs/write.c (padblock_write): Abort when given an
17878 excedingly large embed image, instead of silently truncating it.
17879
17880 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17881
17882 * include/multiboot.h: Indentation fixes.
17883
17884 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17885
17886 * include/multiboot.h (struct multiboot_aout_symbol_table)
17887 (struct multiboot_elf_section_header_table): New structure
17888 declarations (stolen from GRUB Legacy).
17889 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
17890 table information.
17891
17892 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
17893 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
17894 type aliases.
17895
17896 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17897
17898 * include/multiboot.h: Make comments src2texi-friendly.
17899
17900 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17901
17902 For consistency with [multiboot]/docs/boot.S.
17903
17904 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
17905 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
17906 (MULTIBOOT_MAGIC2): Rename from this ...
17907 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
17908
17909 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17910
17911 * include/multiboot.h: Remove `<grub/types.h>'.
17912 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
17913 types. Update all users.
17914
17915 2009-12-25 Carles Pina i Estany <carles@pina.cat>
17916
17917 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
17918 `couldn't' and `can not' by `cannot'.
17919 * commands/i386/pc/drivemap.c: Likewise.
17920 * disk/ata.c: Likewise.
17921 * disk/ieee1275/nand.c: Likewise.
17922 * fs/affs.c: Likewise.
17923 * fs/fat.c: Likewise.
17924 * fs/hfs.c: Likewise.
17925 * fs/hfsplus.c: Likewise.
17926 * fs/iso9660.c: Likewise.
17927 * fs/jfs.c: Likewise.
17928 * fs/minix.c: Likewise.
17929 * fs/reiserfs.c: Likewise.
17930 * fs/sfs.c: Likewise.
17931 * fs/udf.c: Likewise.
17932 * fs/ufs.c: Likewise.
17933 * fs/xfs.c: Likewise.
17934 * loader/powerpc/ieee1275/linux.c: Likewise.
17935 * loader/sparc64/ieee1275/linux.c: Likewise.
17936 * util/grub-probe.c: Likewise.
17937 * util/misc.c: Likewise.
17938
17939 2009-12-24 Carles Pina i Estany <carles@pina.cat>
17940
17941 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
17942 grub_errno calls.
17943 * commands/acpi.c: Likewise.
17944 * commands/blocklist.c: Likewise.
17945 * commands/efi/loadbios.c: Likewise.
17946 * commands/i386/pc/drivemap.c: Likewise.
17947 * commands/loadenv.c: Likewise.
17948 * commands/memrw.c: Likewise.
17949 * commands/password.c: Likewise.
17950 * commands/videotest.c: Likewise.
17951 * disk/ata.c: Likewise.
17952 * disk/ata_pthru.c: Likewise.
17953 * disk/dmraid_nvidia.c: Likewise.
17954 * disk/ieee1275/nand.c: Likewise.
17955 * disk/ieee1275/ofdisk.c: Likewise.
17956 * disk/loopback.c: Likewise.
17957 * disk/lvm.c: Likewise.
17958 * disk/mdraid_linux.c: Likewise.
17959 * disk/raid.c: Likewise.
17960 * disk/raid6_recover.c: Likewise.
17961 * disk/scsi.c: Likewise.
17962 * efiemu/main.c: Likewise.
17963 * efiemu/mm.c: Likewise.
17964 * efiemu/pnvram.c: Likewise.
17965 * efiemu/symbols.c: Likewise.
17966 * font/font.c: Likewise.
17967 * fs/cpio.c: Likewise.
17968 * fs/hfsplus.c: Likewise.
17969 * fs/iso9660.c: Likewise.
17970 * fs/jfs.c: Likewise.
17971 * fs/minix.c: Likewise.
17972 * fs/ntfs.c: Likewise.
17973 * fs/ntfscomp.c: Likewise.
17974 * fs/reiserfs.c: Likewise.
17975 * fs/ufs.c: Likewise.
17976 * fs/xfs.c: Likewise.
17977 * gettext/gettext.c: Likewise.
17978 * include/grub/auth.h: Likewise.
17979 * kern/elf.c: Likewise.
17980 * kern/file.c: Likewise.
17981 * kern/ieee1275/init.c: Likewise.
17982 * kern/ieee1275/mmap.c: Likewise.
17983 * kern/ieee1275/openfw.c: Likewise.
17984 * kern/powerpc/dl.c: Likewise.
17985 * kern/sparc64/dl.c: Likewise.
17986 * lib/arg.c: Likewise.
17987 * loader/i386/bsd.c: Likewise.
17988 * loader/i386/bsdXX.c: Likewise.
17989 * loader/i386/efi/linux.c: Likewise.
17990 * loader/i386/efi/xnu.c: Likewise.
17991 * loader/i386/ieee1275/linux.c: Likewise.
17992 * loader/i386/linux.c: Likewise.
17993 * loader/i386/multiboot.c: Likewise.
17994 * loader/i386/pc/linux.c: Likewise.
17995 * loader/i386/pc/multiboot2.c: Likewise.
17996 * loader/i386/xnu.c: Likewise.
17997 * loader/ieee1275/multiboot2.c: Likewise.
17998 * loader/macho.c: Likewise.
17999 * loader/machoXX.c: Likewise.
18000 * loader/multiboot2.c: Likewise.
18001 * loader/multiboot_loader.c: Likewise.
18002 * loader/powerpc/ieee1275/linux.c: Likewise.
18003 * loader/sparc64/ieee1275/linux.c: Likewise.
18004 * loader/xnu.c: Likewise.
18005 * loader/xnu_resume.c: Likewise.
18006 * mmap/i386/pc/mmap.c: Likewise.
18007 * normal/menu_viewer.c: Likewise.
18008 * partmap/acorn.c: Likewise.
18009 * partmap/amiga.c: Likewise.
18010 * partmap/apple.c: Likewise.
18011 * script/lexer.c: Likewise.
18012 * term/gfxterm.c: Likewise.
18013 * term/i386/pc/serial.c: Likewise.
18014 * term/i386/pc/vga.c: Likewise.
18015 * term/ieee1275/ofconsole.c: Likewise.
18016 * term/terminfo.c: Likewise.
18017 * video/bitmap.c: Likewise.
18018 * video/efi_gop.c: Likewise.
18019 * video/efi_uga.c: Likewise.
18020 * video/fb/video_fb.c: Likewise.
18021 * video/i386/pc/vbe.c: Likewise.
18022 * video/readers/tga.c: Likewise.
18023 * video/video.c: Likewise.
18024
18025 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
18026
18027 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
18028 * commands/lspci.c: Likewise.
18029 * commands/probe.c: Likewise.
18030 * commands/xnu_uuid.c: Likewise.
18031 * conf/i386-coreboot.rmk: Likewise.
18032 * conf/i386-efi.rmk: Likewise.
18033 * conf/i386-ieee1275.rmk: Likewise.
18034 * conf/i386-pc.rmk: Likewise.
18035 * conf/powerpc-ieee1275.rmk: Likewise.
18036 * conf/sparc64-ieee1275.rmk: Likewise.
18037 * conf/x86_64-efi.rmk: Likewise.
18038 * fs/i386/pc/pxe.c: Likewise.
18039 * gettext/gettext.c: Likewise.
18040 * include/grub/efi/graphics_output.h: Likewise.
18041 * include/grub/i386/pc/memory.h: Likewise.
18042 * kern/env.c: Likewise.
18043 * kern/i386/qemu/startup.S: Likewise.
18044 * lib/i386/pc/biosnum.c: Likewise.
18045 * lib/i386/relocator.c: Likewise.
18046 * lib/i386/relocator_asm.S: Likewise.
18047 * lib/relocator.c: Likewise.
18048 * loader/i386/bsd.c: Likewise.
18049 * loader/i386/multiboot.c: Likewise.
18050 * loader/i386/pc/chainloader.c: Likewise.
18051 * loader/i386/xnu.c: Likewise.
18052 * loader/xnu.c: Likewise.
18053 * normal/main.c: Likewise.
18054 * normal/menu_text.c: Likewise.
18055 * util/getroot.c: Likewise.
18056 * util/grub-mkconfig_lib.in: Likewise.
18057 * util/grub.d/00_header.in: Likewise.
18058 * util/i386/pc/grub-mkimage.c: Likewise.
18059 * util/mkisofs/eltorito.c: Likewise.
18060 * util/mkisofs/exclude.h: Likewise.
18061 * util/mkisofs/hash.c: Likewise.
18062 * util/mkisofs/iso9660.h: Likewise.
18063 * util/mkisofs/joliet.c: Likewise.
18064 * util/mkisofs/mkisofs.c: Likewise.
18065 * util/mkisofs/mkisofs.h: Likewise.
18066 * util/mkisofs/multi.c: Likewise.
18067 * util/mkisofs/name.c: Likewise.
18068 * util/mkisofs/rock.c: Likewise.
18069 * util/mkisofs/tree.c: Likewise.
18070 * util/mkisofs/write.c: Likewise.
18071 * video/efi_gop.c: Likewise.
18072
18073 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18074
18075 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18076 size counting.
18077
18078 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18079
18080 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18081 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18082
18083 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18084
18085 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18086 (GRUB_MOD_INIT(memrw)): Update help line.
18087
18088 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18089
18090 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18091 Use grub_extcmd_t. All users updated.
18092 (options): New variable.
18093 (grub_cmd_read): Restructure for readability. Support "-v" option.
18094 (grub_cmd_write): Restructure for readability.
18095
18096 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18097
18098 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18099
18100 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18101
18102 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18103 with the actual contents of the correspondending make variable.
18104 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18105 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18106 specifying `*.lst' and `efiemu??.o'
18107
18108 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18109
18110 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18111 after function name.
18112 Noticed by Rene Engelhard <rene@debian.org>.
18113
18114 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18115
18116 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18117 (options): New variable.
18118 (iospace): Likewise.
18119 (grub_lspci_iter): List IO spaces if "-i" was given.
18120 (grub_cmd_lspci): Parse options.
18121 (GRUB_MOD_INIT(lspci)): Use extcmd.
18122 (GRUB_MOD_FINI(lspci)): Likewise.
18123
18124 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18125
18126 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18127 `function' keyword.
18128 Patch by Tony Mancill <tmancill@debian.org>.
18129
18130 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18131
18132 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18133 (grub_uhci_portstatus): Likewise.
18134 (grub_uhci_portstatus): Add necessary delay.
18135 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18136
18137 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18138
18139 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18140 (GRUB_MOD_INIT): Likewise.
18141 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18142 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18143 * commands/echo.c (options): Fix capitalizations and/or full stops.
18144 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18145 (enable_rom_area): Likewise.
18146 (GRUB_MOD_INIT): Likewise.
18147 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18148 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18149 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18150 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18151 * commands/hexdump.c (options): Likewise.
18152 * commands/i386/cpuid.c (options): Likewise.
18153 (GRUB_MOD_INIT): Likewise.
18154 * commands/i386/pc/drivemap.c (options): Likewise.
18155 (GRUB_MOD_INIT): Likewise.
18156 * commands/i386/pc/halt (options): Likewise.
18157 (GRUB_MOD_INIT): Likewise.
18158 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18159 * commands/i386/pc/pxecmd.c (options): Likewise.
18160 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18161 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18162 * commands/keystatus.c (options): Likewise.
18163 (GRUB_MOD_INIT): Likewise.
18164 * commands/loadenv.c (options): Likewise.
18165 * commands/ls.c (options): Likewise.
18166 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18167 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18168 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18169 * commands/parttool.c (helpmsg): Likewise.
18170 * commands/probe.c (options): Likewise.
18171 * commands/read.c (GRUB_MOD_INIT): Likewise.
18172 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18173 * commands/search.c (options): Likewise.
18174 * commands/sleep.c (options): Likewise.
18175 * commands/test.c (GRUB_MOD_INIT): Likewise.
18176 * commands/true.c (GRUB_MOD_INIT): Likewise.
18177 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18178 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18179 * lib/arg.c (help_options): Likewise.
18180 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18181 `$(XGETTEXT)'.
18182 * po/POTFILES: Add `commands/loadenv.c'.
18183
18184 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18185
18186 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18187 instead of specifying them explicit.
18188
18189 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18190
18191 * NEWS: Add grub-probe support for GNU/Hurd.
18192
18193 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18194
18195 * NEWS: gettext was added after 1.97.
18196
18197 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18198
18199 * util/mkisofs/msdos_partition.h: New file (based on
18200 include/grub/msdos_partition.h).
18201 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18202 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18203 (ld_options, main): Recognize --protective-msdos-label.
18204 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18205 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18206 (padblock_write): If `use_protective_msdos_label' is set, patch a
18207 protective DOS-style label in the output image.
18208
18209 * util/grub-mkrescue.in: Use --protective-msdos-label.
18210
18211 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18212
18213 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18214 boot.
18215
18216 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18217
18218 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18219 variables.
18220 (ld_options, main): Recognize `--embedded-boot'.
18221 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18222 declarations.
18223 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18224 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18225 (padblock_write): Likewise. Rewrite to support embedded boot image.
18226
18227 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18228 for BIOS-based disk boot instead of only ElTorito.
18229
18230 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18231
18232 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18233 build (not needed for bootstrap).
18234
18235 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18236
18237 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18238 from i386-pc build (not needed for bootstrap).
18239 Rewrite a pair of strings.
18240
18241 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18242
18243 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18244
18245 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18246
18247 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18248
18249 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18250
18251 * kern/env.c (grub_env_context_open): Mark exported variable for
18252 reexport.
18253
18254 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18255
18256 * kern/env.c (grub_env_export): Create nonexistent variables before
18257 exporting.
18258
18259 2009-12-20 Carles Pina i Estany <carles@pina.cat>
18260
18261 * include/grub/auth.h: Include `<grub/i18n.h>'.
18262 (GRUB_GET_PASSWORD): Gettextizze string.
18263 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18264 menu_text.c.
18265 (grub_utf8_to_ucs4_alloc): Fix indentation.
18266 (grub_print_ucs4): Likewise.
18267 (grub_getstringwidth): Likewise.
18268 (print_message_indented): New declaration.
18269 * normal/auth.c: Include `<grub/i18n.h>'.
18270 (grub_auth_check_authentication): Gettexttize string.
18271 * normal/cmdline.c: Include `<grub/i18n.h>'.
18272 (grub_cmdline_get): Gettextizze.
18273 * normal/color.c: Include `<grub/i18n.h>'.
18274 (grub_parse_color_name_pair): Gettexttize strings.
18275 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18276 string (use `print_message_indented').
18277 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18278 `include/grub/normal.h'.
18279 (print_message_indented): Renamed to ...
18280 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18281 used in normal/main.c).
18282 (print_message): Use `grub_print_message_indented' instead of
18283 `print_message_indented'.
18284 (print_timeout): Likewise.
18285 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18286 (grub_normal_print_device_info): Gettexttize strings.
18287 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18288
18289 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18290
18291 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18292 of arguments. Return number of tokens and not arguments. All users
18293 updated.
18294
18295 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18296
18297 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18298 non-MSDOS paritions.
18299
18300 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18301
18302 * include/grub/types.h (UNUSED): Removed since it conflicts with
18303 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18304 Reported by Grégoire Sutre.
18305
18306 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18307
18308 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18309 (grub_print_ucs4_alloc): Likewise.
18310 (grub_getstringwidth): Likewise.
18311 * normal/main.c (grub_normal_init_page): Gettextize version string.
18312 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18313 (getstringwidth): Renamed to ...
18314 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18315 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18316 (grub_print_ucs4): Remove `static' qualifer (now used in
18317 normal/main.c).
18318 * po/POTFILES: Add normal/main.c.
18319
18320 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18321
18322 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18323 (print_message_indented): Add `margin_left' and `margin_right'
18324 parameters.
18325 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18326 strings.
18327 (print_timeout): Use `print_message_indented' to print the message.
18328 Deletes `second_stage' parameter.
18329 (run_menu): Update `print_timeout' calls.
18330
18331 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18332
18333 Fix console palette on OpenFirmware.
18334
18335 * term/ieee1275/ofconsole.c (MAX): Removed.
18336 (colors): Redone based on VGA palette.
18337 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18338 colors are supported.
18339 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18340
18341 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18342
18343 Fix potential EfiEmu double prepare.
18344
18345 * efiemu/main.c (prepared): New variable
18346 (grub_efiemu_unload): Set prepare to '0'.
18347 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18348
18349 set_virtual_address_map support.
18350
18351 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18352 prototype.
18353 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18354 prototype.
18355 (grub_efiemu_crc32): Likewise.
18356 (grub_efiemu_crc64): Likewise.
18357 (grub_efiemu_set_virtual_address_map): Likewise.
18358 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18359 New definition.
18360 (grub_autoefi_set_virtual_address_map): Likewise.
18361 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18362 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18363 Restructure flow to accomodate it.
18364 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18365 (grub_efiemu_crc): Recompute CRC32.
18366 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18367 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18368 * efiemu/symbols.c (relocated_handle): New variable.
18369 (grub_efiemu_free_syms): Free relocated_handle.
18370 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18371 (grub_efiemu_write_sym_markers): New function.
18372 (grub_efiemu_set_virtual_address_map): Likewise.
18373
18374 Newer XNU parameters.
18375
18376 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18377 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18378 (grub_xnu_fill_devicetree): New prototype.
18379 (grub_xnu_heap_real_start): New variable.
18380 * loader/xnu.c (get_name_ptr): New function.
18381 (grub_xnu_load_driver): Fill namelen and name.
18382
18383 64-bit xnu support.
18384
18385 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18386 and 'loader/macho64.c'.
18387 * conf/i386-pc.rmk: Likewise.
18388 * conf/x86_64-efi.rmk: Likewise.
18389 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18390 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18391 * include/grub/macho.h (grub_macho_segment64): New structure.
18392 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18393 (grub_macho_size32): ... to this.
18394 (grub_macho32_get_entry_point): Renamed from ...
18395 (grub_macho_get_entry_point32): ... to this.
18396 (grub_macho_contains_macho64): New prototype.
18397 (grub_macho_size64): Likewise.
18398 (grub_macho_get_entry_point64): Likewise.
18399 (grub_macho32_load): Renamed from ...
18400 (grub_macho_load32): ... to this.
18401 (grub_macho32_filesize): Renamed from ...
18402 (grub_macho_filesize32): ... to this.
18403 (grub_macho32_readfile): Renamed from ...
18404 (grub_macho_readfile32): ... to this.
18405 (grub_macho_filesize64): New prototype.
18406 (grub_macho_readfile64): Likewise.
18407 (grub_macho_parse32): Likewise.
18408 (grub_macho_parse64): Likewise.
18409 * loader/macho.c: Split into ...
18410 * loader/machoXX.c: ... and this. Replace 32 with XX.
18411 * loader/macho32.c: New file.
18412 * loader/macho64.c: Likewise.
18413 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18414 (grub_cmd_xnu_kernel): Make 32-bit only.
18415 (grub_cmd_xnu_kernel64): New function.
18416 (grub_xnu_load_driver): Support Mach-O 64.
18417 (grub_cmd_xnu_mkext): Likewise.
18418 * util/grub.d/30_os-prober.in (osx_entry): New function.
18419 Generate entries for 64-bit boot too.
18420
18421 Eliminate ad-hoc tree format in XNU and EfiEmu.
18422
18423 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18424 * efiemu/pnvram.c: Rewritten to use environment variables.
18425 All users updated.
18426
18427 Inline utf16_to_utf8.
18428
18429 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18430 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18431 All users updated.
18432 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18433
18434 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18435 * commands/usbtest.c (grub_usb_get_string): ... move here.
18436 (usb_print_str): Fix error handling.
18437 * include/grub/usb.h (grub_usb_get_string): Remove.
18438
18439 UTF-8 to UTF-16 transformation.
18440
18441 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18442 (charset_mod_SOURCES): New variable.
18443 (charset_mod_CFLAGS): Likewise.
18444 (charset_mod_LDFLAGS): Likewise.
18445 * include/grub/utf.h: New file.
18446 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18447
18448 Support for device properties.
18449
18450 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18451 (grub_xnu_devprop_device_header): Likewise.
18452 (grub_xnu_devprop_device_descriptor): Likewise.
18453 (grub_xnu_devprop_add_device): New prototype.
18454 (grub_xnu_devprop_remove_device): Likewise.
18455 (grub_xnu_devprop_remove_property): Likewise.
18456 (grub_xnu_devprop_add_property_utf8): Likewise.
18457 (grub_xnu_devprop_add_property_utf16): Likewise.
18458 (grub_cpu_xnu_init): Likewise.
18459 (grub_cpu_xnu_fini): Likewise.
18460 (grub_cpu_xnu_unload): Likewise.
18461 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18462 (property_descriptor): Likewise.
18463 (devices): New variable.
18464 (grub_xnu_devprop_remove_property): New function.
18465 (grub_xnu_devprop_add_device): Likewise.
18466 (grub_xnu_devprop_remove_device): Likewise.
18467 (grub_xnu_devprop_add_property): Likewise.
18468 (grub_xnu_devprop_add_property_utf8): Likewise.
18469 (grub_xnu_devprop_add_property_utf16): Likewise.
18470 (hextoval): Likewise.
18471 (grub_cpu_xnu_fill_devprop): Likewise.
18472 (grub_cmd_devprop_load): Likewise.
18473 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18474 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18475 (cmd_devprop_load): New variable.
18476 (grub_cpu_xnu_init): New function.
18477 (grub_cpu_xnu_fini): Likewise.
18478 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18479 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18480 (grub_cmd_xnu_devtree): Likewise.
18481 (hextoval): New function.
18482 (unescape): Likewise.
18483 (grub_xnu_fill_devicetree): Likewise.
18484
18485 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18486 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18487
18488 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18489
18490 Workaround for broken ATI VBE.
18491
18492 * video/i386/pc/vbe.c (last_set_mode): New variable.
18493 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18494 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18495 (grub_video_vbe_setup): Don't check for reserved flag.
18496
18497 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
18498
18499 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18500 the `find' command.
18501
18502 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18503
18504 UUID support for HFS.
18505
18506 * fs/hfs.c (grub_hfs_uuid): New function.
18507 (grub_hfs_fs): New value .uuid.
18508 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18509
18510 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
18511
18512 Fix a segfault with parsing unknown long options.
18513
18514 * util/grub-mkrelpath.c (options): Zero terminate it.
18515
18516 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18517
18518 * include/grub/misc.h (grub_puts): New declaration.
18519 (grub_puts_): Likewise.
18520 * kern/misc.c (grub_puts): New definition.
18521 (grub_puts_): Likewise.
18522
18523 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18524
18525 * util/grub-probe.c (probe): Improve error message.
18526
18527 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18528
18529 * loader/i386/multiboot_elfxx.c
18530 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18531 initialization.
18532
18533 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18534
18535 Relocator framework
18536
18537 * loader/i386/xnu_helper.S: Removed. All users updated.
18538 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18539 (relocator_mod_SOURCES): New variable.
18540 (relocator_mod_CFLAGS): Likewise.
18541 (relocator_mod_LDFLAGS): Likewise.
18542 (relocator_mod_ASFLAGS): Likewise.
18543 * conf/x86_64.rmk: Likewise.
18544 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18545 (grub_multiboot_payload_entry_offset): Likewise.
18546 (grub_multiboot_forward_relocator): Likewise.
18547 (grub_multiboot_forward_relocator_end): Likewise.
18548 (grub_multiboot_backward_relocator): Likewise.
18549 (grub_multiboot_backward_relocator_end): Likewise.
18550 (grub_multiboot_payload_eip): New variable.
18551 (grub_multiboot_payload_orig): Likewise.
18552 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18553 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18554 * include/grub/i386/memory.h
18555 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18556 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18557 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18558 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18559 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18560 * include/grub/i386/relocator.h: New file.
18561 * include/grub/x86_64/relocator.h: Likewise.
18562 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18563 (XNU_RELOCATOR): New macro.
18564 (grub_xnu_launcher_start): Remove.
18565 (grub_xnu_launcher_end): Likewise.
18566 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18567 (grub_xnu_heap_real_start): Remove.
18568 (grub_xnu_heap_start): Change to void *. All users updated.
18569 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18570 * lib/i386/relocator.c: New file.
18571 * lib/i386/relocator_asm.S: Likewise.
18572 * lib/i386/relocator_backward.S: Likewise.
18573 * lib/mips/relocator.c: Likewise.
18574 * lib/mips/relocator_asm.S: Likewise.
18575 * lib/relocator.c: Likewise.
18576 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18577 (entry): Removed.
18578 (playground): Likewise.
18579 (grub_multiboot_payload_orig): New variable.
18580 (grub_multiboot_payload_dest): Likewise.
18581 (grub_multiboot_payload_size): Likewise.
18582 (grub_multiboot_payload_eip): Likewise.
18583 (grub_multiboot_payload_esp): Likewise.
18584 (grub_multiboot_boot): Use grub_relocator32_boot.
18585 (grub_multiboot_unload): Free relocators.
18586 (grub_multiboot): Setup stack. Use relocators.
18587 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18588 (grub_multiboot_load_elfXX): Use relocators.
18589 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18590 (grub_multiboot_payload_size): Likewise.
18591 (grub_multiboot_payload_dest): Likewise.
18592 (grub_multiboot_payload_entry_offset): Likewise.
18593 (grub_multiboot_forward_relocator): Likewise.
18594 (grub_multiboot_backward_relocator): Likewise.
18595 (grub_multiboot_real_boot): Likewise.
18596 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18597 (grub_xnu_entry_point): Likewise.
18598 (grub_xnu_arg1): Likewise.
18599 (grub_xnu_stack): Likewise.
18600 (grub_xnu_launch): Removed.
18601 (grub_xnu_boot_resume): New function.
18602 (grub_xnu_boot): Use relocators.
18603 * loader/i386/xnu_helper.S: Removed.
18604 * loader/xnu.c (grub_xnu_heap_start): New variable.
18605 (grub_xnu_heap_size): Likewise.
18606 (grub_xnu_heap_malloc): Use relocators.
18607 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18608
18609 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18610
18611 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18612 anything.
18613
18614 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18615
18616 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18617 GRUB_ERR_NONE before calling grub_env_set.
18618
18619 2009-12-12 Robert Millan <rmh@aybabtu.com>
18620
18621 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18622 * genmk.rb (video): New variable.
18623 (CLEANFILES, VIDEOFILES): Add #{video}.
18624 (#{video}): New target rule.
18625 * genvideolist.sh: New file.
18626 * Makefile.in (pkglib_DATA): Add video.lst.
18627 (video.lst): New target rule.
18628 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18629 `video.lst'.
18630 * util/grub.d/30_os-prober.in: Replace `vbe' with
18631 ${GRUB_VIDEO_BACKEND}.
18632
18633 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18634
18635 * THANKS: Add David Miller.
18636
18637 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18638
18639 libpciaccess support.
18640
18641 * Makefile.in (LIBPCIACCESS): New variable.
18642 (enable_grub_emu_pci): Likewise.
18643 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18644 util/pci.c and commands/lspci.c.
18645 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18646 * configure.ac (grub-emu-pci): New option.
18647 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18648 (grub_pci_device_unmap_range): Likewise.
18649 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18650 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18651 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18652 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18653 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18654 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18655 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18656 * include/grub/pciutils.h: New file.
18657 * util/pci.c: Likewise.
18658
18659 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
18660
18661 * util/misc.c: Don't include <errno.h> twice.
18662
18663 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
18664
18665 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18666 name in an error message.
18667 (grub_biosdisk_rw): Likewise.
18668
18669 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18670
18671 Eliminate NTFS 4Gib barrier.
18672
18673 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18674 (read_run_data): Likewise.
18675 (grub_ntfs_read_run_list): Likewise.
18676 (grub_ntfs_read_block): Likewise.
18677 (grub_ntfs_iterate_dir): Likewise.
18678 (read_mft): Likewise.
18679 (read_data): Likewise.
18680 Use COM_LOG_LEN.
18681 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18682 to avoid 64-bit division
18683 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18684 (grub_ntfs_rlst): Use grub_disk_addr_t.
18685
18686 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18687
18688 Eliminate grub-fstest 4Gib barrier.
18689
18690 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18691 (read_file): Fix error reporting.
18692
18693 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18694
18695 Eliminate hexdump 4Gib barrier.
18696
18697 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18698 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18699
18700 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18701
18702 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18703 Fixes amarsh bug.
18704
18705 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18706
18707 Remove miscellaneous files in distclean target.
18708
18709 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18710
18711 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
18712
18713 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18714 if they're already set. This resolves the conflict between my
18715 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18716 fixing the --grub-probe option again.
18717 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18718 change on 2009-10-06, so that we now once again source
18719 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18720
18721 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18722
18723 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18724 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18725 `util/devicemap.c'.
18726
18727 2009-12-08 Carles Pina i Estany <carles@pina.cat>
18728
18729 * include/grub/misc.h (grub_printf_): New declaration.
18730 * kern/misc.c (grub_printf_): New definition.
18731 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18732 instead of `grub_printf' and `_'.
18733 * normal/menu_entry.c (store_completion): Likewise.
18734 (run): Likewise.
18735 (grub_menu_entry_run): Likewise.
18736 * normal/menu_text.c (grub_wait_after_message): Likewise.
18737 (notify_booting): Likewise.
18738 (notify_fallback): Likewise.
18739 (notify_execution_failure): Likewise.
18740
18741 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
18742
18743 * configure.ac: Check for vasprintf.
18744 * util/misc.c (asprintf): Move allocation from here ...
18745 (vasprintf): ... to here. New function.
18746 (xasprintf): New function.
18747 * include/grub/util/misc.h (vasprintf, xasprintf): Add
18748 prototypes.
18749 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18750 * util/grub-mkfont.c (write_font): Likewise.
18751 * util/grub-probe.c (probe): Likewise.
18752 * util/hostdisk.c (make_device_name): Likewise.
18753
18754 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
18755
18756 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
18757 anything even prefixed with 'cdrom' as a cdrom.
18758
18759 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
18760
18761 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
18762 mount points.
18763
18764 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18765
18766 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
18767 grub_gettext_msg_list.
18768 (grub_gettext_gettranslation_from_position): Return const char *
18769 and not char *.
18770 (grub_gettext_translate): Add the translated strings into a list,
18771 returns from the list if existing there.
18772 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
18773 (grub_gettext_delete_list): Delete the list.
18774 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
18775 lang environment variable is changed.
18776 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
18777
18778 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18779
18780 Rename kernel.mod to kernel.img.
18781
18782 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
18783 (kernel_mod_EXPORTS): Rename to ...
18784 (kernel_img_EXPORTS): ... this.
18785 (kernel_mod_SOURCES): Rename to ...
18786 (kernel_img_SOURCES): ... this.
18787 (kernel_mod_HEADERS): Rename to ...
18788 (kernel_img_HEADERS): ... this. All users updated.
18789 (kernel_mod_CFLAGS): Rename to ...
18790 (kernel_img_CFLAGS): ... this.
18791 (kernel_mod_ASFLAGS): Rename to ...
18792 (kernel_img_ASFLAGS): ... this.
18793 (kernel_mod_LDFLAGS): Rename to ...
18794 (kernel_img_LDFLAGS): ... this.
18795 * conf/x86_64-efi.rmk: Likewise.
18796 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
18797 (read_kernel_image): ... this. All users updated.
18798 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
18799
18800 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18801
18802 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
18803 (print_spaces): New function.
18804 (grub_print_ucs4): New function.
18805 (getstringwidth): New function.
18806 (print_message_indented): New function.
18807 (print_message): Gettexttize strings using print_message_indented.
18808 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
18809 width.
18810 (get_entry_number): Gettextize and uses dynamic terminal width.
18811 (notify_booting, notify_fallback, notify_execution_failure):
18812 Gettextize.
18813 * normal/menu_entry.c (store_completion): Cleanup the gettextized
18814 string.
18815 (run): Likewise.
18816 (grub_menu_entry_run): Likewise.
18817 * PO/POTFILES: Add normal/menu_entry.c.
18818
18819 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18820
18821 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
18822
18823 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18824
18825 * util/grub-install.in: Install gettext .mo files.
18826 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
18827
18828 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18829
18830 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
18831 grub_dprintf.
18832
18833 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
18834
18835 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
18836 non-firmware-dependant one in realmode.S takes precedence.
18837
18838 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
18839
18840 * commands/halt.c: Replace misc arch-specific headers with
18841 `<grub/misc.h>'.
18842 * commands/reboot.c: Likewise.
18843 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
18844 `<grub/misc.h>'.
18845 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
18846 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
18847 (kernel_img_SOURCES): ... to here.
18848
18849 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
18850 * include/grub/i386/pc/init.h: Likewise.
18851 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18852 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18853
18854 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
18855
18856 * include/grub/i386/halt.h: Remove.
18857 * include/grub/i386/reboot.h: Likewise.
18858
18859 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
18860
18861 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
18862
18863 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
18864 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
18865 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
18866 "progname.h"
18867 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18868 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18869 (usage): Add missing comma in printf.
18870
18871 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
18872
18873 Use the same reboot approach on i386 coreboot and qemu as we do on
18874 BIOS.
18875
18876 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
18877 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
18878 * kern/i386/reboot.c: Remove.
18879 * include/grub/i386/reboot.h (grub_reboot): Export function.
18880 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
18881 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
18882 0xf000:0xfff0 instead of 0xffff:0x0000.
18883 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
18884 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
18885
18886 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
18887
18888 Fix $srcdir != $objdir build.
18889
18890 * Makefile.in (po/%.po): Rewrite as ...
18891 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
18892
18893 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
18894
18895 Fix GNU/Hurd grub-install crash.
18896 * util/grub-probe.c (probe): Try to access `path' only when it is not
18897 NULL.
18898
18899 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18900
18901 Correct module naming.
18902
18903 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18904 (GRUB_MOD_INIT(efi_uga)): ... to this
18905 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18906 (GRUB_MOD_FINI(efi_uga)): ... to this
18907 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18908 (GRUB_MOD_INIT(efi_gop)): ... to this
18909 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18910 (GRUB_MOD_FINI(efi_gop)): ... to this
18911
18912 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
18913
18914 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
18915 translatable.
18916 (usage): Translate `arg' strings using gettext().
18917 Thanks to Jordi Mallach for the suggestion.
18918
18919 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18920
18921 GOP support. Based on patch from Bean
18922 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18923
18924 * video/efi_gop.c: New file.
18925 * include/grub/efi/graphics_output.h: Likewise.
18926 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
18927 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18928 variables.
18929 * conf/x86_64-efi.rmk: Likewise.
18930
18931 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18932
18933 Rename efi_fb to efi_uga.
18934
18935 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18936 'efi_uga.mod'.
18937 (efi_fb_mod_SOURCES): Rename this ...
18938 (efi_uga_mod_SOURCES): ... to this.
18939 (efi_fb_mod_CFLAGS): Rename this ...
18940 (efi_uga_mod_CFLAGS): ... to this.
18941 (efi_fb_mod_LDFLAGS): Rename this ...
18942 (efi_uga_mod_LDFLAGS): ... to this.
18943 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18944 'efi_uga.mod'.
18945 (efi_fb_mod_SOURCES): Rename this ...
18946 (efi_uga_mod_SOURCES): ... to this.
18947 (efi_fb_mod_CFLAGS): Rename this ...
18948 (efi_uga_mod_CFLAGS): ... to this.
18949 (efi_fb_mod_LDFLAGS): Rename this ...
18950 (efi_uga_mod_LDFLAGS): ... to this.
18951 * video/efi_fb.c: Move this ...
18952 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
18953
18954 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18955
18956 * po/README: New file. Explain our PO file workflow.
18957
18958 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18959
18960 * po/ChangeLog: Remove. Move relevant entries back to ...
18961 * ChangeLog: ... here.
18962 * po/ca.po: Remove (now handled by TLP).
18963 * po/id.po: Likewise.
18964 * po/zh_CN.po: Likewise.
18965 * Makefile.in (LINGUAS): Initialize in a way that supports
18966 empty set.
18967
18968 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18969
18970 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
18971 reliing on po/LINGUAS.
18972 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
18973 (po/%.po): ... this.
18974
18975 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
18976
18977 * util/i386/efi/grub-mkimage.c: Include "progname.h".
18978 (main): Use `program_name' instead of nonexistent `progname'.
18979
18980 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
18981
18982 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18983 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
18984
18985 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18986
18987 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
18988 commit.
18989 * conf/i386-efi.rmk: Likewise.
18990 * conf/i386-ieee1275.rmk: Likewise.
18991 * conf/powerpc-ieee1275.rmk: Likewise.
18992 * conf/sparc64-ieee1275.rmk: Likewise.
18993 * conf/x86_64-efi.rmk: Likewise.
18994
18995 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
18996
18997 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
18998
18999 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
19000
19001 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
19002
19003 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
19004
19005 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
19006 (grub_mkdevicemap_SOURCES): New variable.
19007 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
19008 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
19009 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
19010 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
19011 (grub_mkdevicemap_SOURCES): Remove.
19012 * conf/i386-efi.rmk: Likewise.
19013 * conf/i386-ieee1275.rmk: Likewise.
19014 * conf/i386-pc.rmk: Likewise.
19015 * conf/powerpc-ieee1275.rmk: Likewise.
19016 * conf/sparc64-ieee1275.rmk: Likewise.
19017 * conf/x86_64-efi.rmk: Likewise.
19018 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
19019 (usage): Fix strings to use `program_name'.
19020 (main): Initialize gettext.
19021 * util/grub-editenv.c: Likewise.
19022 * util/grub-emu.c: Likewise.
19023 * util/grub-fstest.c: Likewise.
19024 * util/grub-mkdevicemap.c: Likewise.
19025 * util/grub-mkfont.c: Likewise.
19026 * util/grub-mkrelpath.c: Likewise.
19027 * util/grub-pe2elf.c: Likewise.
19028 * util/grub-probe.c: Likewise.
19029 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
19030 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
19031 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19032
19033 * util/misc.c: Include `"progname.h"'.
19034 (progname): Remove variable.
19035 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
19036
19037 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19038
19039 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
19040 printf and print a newline after the menuentry header line.
19041 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19042
19043 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
19044
19045 autoconf >= 2.60 support $(localedir).
19046
19047 * INSTALL: Note that autoconf 2.60 is required.
19048 * configure.ac (AC_PREREQ): Bump to 2.60.
19049 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
19050 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
19051
19052 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
19053
19054 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
19055 aclocal is run.
19056
19057 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19058
19059 * normal/main.c (grub_normal_read_line): Fix off-by-one
19060 buffer overflow.
19061
19062 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19063
19064 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19065 "parser.grub" in grub_command_execute() call.
19066
19067 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19068
19069 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19070 * conf/i386-efi.rmk: Likewise.
19071 * conf/i386-ieee1275.rmk: Likewise.
19072 * conf/i386-pc.rmk: Likewise.
19073 * conf/powerpc-ieee1275.rmk: Likewise.
19074 * conf/sparc64-ieee1275.rmk: Likewise.
19075 * conf/x86_64-efi.rmk: Likewise.
19076 * gettext/gettex.c: Include <grub/i18n.h>.
19077 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19078 here ...
19079 * include/grub/i18n.h: ... to here
19080 * include/grub/i18n.h: ... to here.
19081 * kern/misc.c: Include <grub/i18n.h>
19082 (grub_gettext_dummy): Move above user.
19083
19084 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19085
19086 * util/Makefile.in (install-local): Convert a `for' into a normal
19087 shell expansion.
19088
19089 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19090
19091 * autogen.sh: Add automake call.
19092 * config.guess: Remove.
19093 * config.sub: Likewise.
19094 * install-sh: Likewise.
19095
19096 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19097
19098 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19099
19100 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19101
19102 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19103 function to a normal shell `for'.
19104
19105 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19106
19107 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19108
19109 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19110
19111 * util/grub-mkrelpath.c: New file.
19112 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19113 (grub_mkrelpath_SOURCES): New variable.
19114 * include/grub/util/misc.h: New function prototype.
19115 * util/misc.c (make_system_path_relative_to_its_root): New function.
19116
19117 * util/grub-mkconfig_lib.in (bindir): New variable.
19118 (grub_mkrelpath): Likewise.
19119 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19120
19121 * util/probe.c (probe): Make the file path relative to its root.
19122 Change a info message to use the GRUB path. Enable again the
19123 check if we can read the file with GRUB facilities.
19124
19125 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19126 to its root.
19127
19128 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19129
19130 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19131 platform.
19132
19133 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19134
19135 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19136 strncmp().
19137
19138 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19139
19140 * util/getroot.c (grub_util_is_dmraid): New function.
19141 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19142 devices as normal ones, not as LVM.
19143
19144 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19145
19146 * conf/common.rmk: Add grub-gettext_lib target and updates
19147 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19148 LDFLAGS.
19149 * gettext/gettext.c: New file. (Reads mo files).
19150 * include/grub/file.h (grub_file_pread): New prototype.
19151 * include/grub/i18n.h (_): New prototype.
19152 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19153 prototypes.
19154 * kern/misc.c (grub_gettext_dummy): New function.
19155 * normal/menu_text.c: Include <grub/i18n.h>.
19156 * normal/menu_text.c (print_timeout): Gettexttize string.
19157 * normal/menu_text.c (print_message): Gettexttize string.
19158 * po/POTFILES: Add `normal/menu_text.c'.
19159 * po/ca.po: Add new translations.
19160 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19161 gettext module and defines locale_dir and lang in grub.cfg.
19162 * NEWS: Add gettext support.
19163
19164 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19165
19166 * util/hostdisk.c: Include `<grub/i18n.h>'.
19167 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19168 (make_device_name): Rewrite using asprintf.
19169 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19170 (find_system_device): If a device is not found, generate one just
19171 by reusing the OS path name.
19172 (read_device_map): Make it permissible for device.map not to exist.
19173
19174 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19175
19176 * script/sh/execute.c: Move from here ...
19177 * script/execute.c: ... to here. Update all users.
19178 * script/sh/function.c: Move from here ...
19179 * script/function.c: ... to here. Update all users.
19180 * script/sh/lexer.c: Move from here ...
19181 * script/lexer.c: ... to here. Update all users.
19182 * script/sh/main.c: Move from here ...
19183 * script/main.c: ... to here. Update all users.
19184 * script/sh/parser.y: Move from here ...
19185 * script/parser.y: ... to here. Update all users.
19186 * script/sh/script.c: Move from here ...
19187 * script/script.c: ... to here. Update all users.
19188
19189 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19190
19191 * configure.ac: Detect all `emu' platforms. Define
19192 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19193 --enable-grub-emu logic. Disable include/grub/machine
19194 symlink on `emu' platforms.
19195
19196 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19197 * gensymlist.sh.in: Likewise.
19198
19199 * include/grub/i386/coreboot/machine.h: Remove file.
19200 * include/grub/i386/efi/machine.h: Likewise.
19201 * include/grub/i386/ieee1275/machine.h: Likewise.
19202 * include/grub/i386/pc/machine.h: Likewise.
19203 * include/grub/i386/qemu/machine.h: Likewise.
19204 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19205 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19206 * include/grub/x86_64/efi/machine.h: Likewise.
19207
19208 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19209 * commands/halt.c: Likewise.
19210 * commands/reboot.c: Likewise.
19211 * include/grub/autoefi.h: Likewise.
19212 * include/grub/i386/at_keyboard.h: Likewise.
19213 * include/grub/i386/kernel.h: Likewise.
19214 * include/grub/i386/loader.h: Likewise.
19215 * include/grub/i386/pc/memory.h: Likewise.
19216 * kern/dl.c: Likewise.
19217 * kern/i386/coreboot/init.c: Likewise.
19218 * loader/i386/bsd.c: Likewise.
19219 * loader/i386/linux.c: Likewise.
19220 * loader/multiboot_loader.c: Likewise.
19221 * term/i386/pc/serial.c: Likewise.
19222 * term/usb_keyboard.c: Likewise.
19223
19224 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19225 `<grub/machine/machine.h>'
19226 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19227 * util/misc.c: Remove `<grub/machine/machine.h>' and
19228 `<grub/machine/time.h>'.
19229
19230 * Makefile.in (enable_grub_emu): Remove variable.
19231 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19232
19233 * conf/any-emu.rmk: New file.
19234 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19235 (grub_emu_init.c): Move from here ...
19236 * conf/any-emu.rmk: ... to here.
19237
19238 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19239 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19240 * conf/any-emu.rmk: ... to here.
19241
19242 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19243
19244 * include/grub/parser.h (grub_parser_register): Document need
19245 of `name' parameter.
19246 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19247 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19248 "sh" to "grub".
19249
19250 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19251
19252 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19253 `$(XGETTEXT)'.
19254 * include/grub/i18n.h (N_): New macro.
19255 * util/mkisofs/mkisofs.h: Likewise.
19256 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19257 around N_().
19258 (usage): Use gettext() to translate help strings when printing them.
19259
19260 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19261
19262 Based on patch from Bean
19263 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19264
19265 * video/efi_fb.c: New file.
19266 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19267 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19268 variables.
19269 * conf/x86_64-efi.rmk: Likewise.
19270
19271 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19272
19273 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19274 * util/i386/pc/grub-setup.c: Likewise.
19275
19276 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19277
19278 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19279 <hurd/fs.h>
19280 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19281 file_get_storage_info to implement grub_guess_root_device.
19282
19283 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19284
19285 * Makefile.in (target): Use make's builtin $(shell) function
19286 instead of calling directly $(SHELL) to create the locale directories,
19287 inside the $(foreach) function.
19288
19289 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19290
19291 * util/grub-mkrescue.in: Print an error and usage if output option
19292 has not been given.
19293
19294 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19295
19296 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19297 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19298 root and /boot are on different devices.
19299
19300 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19301
19302 Fix build for srcdir != objdir.
19303
19304 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19305 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19306 $(srcdir).
19307 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19308 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19309 reference for input.
19310
19311 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19312
19313 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19314 or hardlinking it). Remove -J option, Joliet is not compatible with
19315 multiple source directories.
19316
19317 2009-11-21 Carles Pina i Estany <carles@pina.cat>
19318 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19319
19320 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19321 (process_input_dir): New function. Process an arbitrary input
19322 directory.
19323 Misc adjustments to support both "override mode" and system-wide mode.
19324
19325 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19326
19327 * configure.ac (UNIFONT_BDF): Rename to ...
19328 (FONT_SOURCE): ... this. Update all users.
19329
19330 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19331
19332 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19333 to the list of unifont files to look for.
19334
19335 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19336
19337 Patch from Joe Auricchio <jauricchio@gmail.com>
19338 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19339 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19340 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19341
19342 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19343
19344 * Makefile.in (install-local): Add a missing backslash.
19345
19346 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19347
19348 * include/grub/x86_64/io.h: New file.
19349
19350 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19351
19352 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19353 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19354 Include `"progname.h"'.
19355 (main): Initialize gettext.
19356 * util/i386/pc/grub-setup.c: Gettexttize.
19357 * util/i386/pc/grub-mkimage.c: Likewise.
19358
19359 * Makefile.in (po/*.po): Redefine as ...
19360 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19361
19362 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19363
19364 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19365
19366 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19367 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19368 (program_name): Remove.
19369 (main): Initialize gettext support.
19370 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19371 Include `<libintl.h>'.
19372 (_): New macro.
19373
19374 * util/mkisofs/eltorito.c: Gettexttize.
19375 * util/mkisofs/joliet.c: Likewise.
19376 * util/mkisofs/mkisofs.c: Likewise.
19377 * util/mkisofs/multi.c: Likewise.
19378 * util/mkisofs/rock.c: Likewise.
19379 * util/mkisofs/tree.c: Likewise.
19380 * util/mkisofs/write.c: Likewise.
19381
19382 * po/POTFILES: Update with new files.
19383
19384 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19385
19386 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19387 * util/mkisofs/iso9660.h: Likewise.
19388 * util/mkisofs/joliet.c: Likewise.
19389 * util/mkisofs/mkisofs.c: Likewise.
19390 * util/mkisofs/mkisofs.h: Likewise.
19391 * util/mkisofs/rock.c: Likewise.
19392 * util/mkisofs/tree.c: Likewise.
19393 * util/mkisofs/write.c: Likewise.
19394
19395 * util/mkisofs/eltorito.c (rcsid): Remove.
19396 * util/mkisofs/hash.c: Likewise.
19397 * util/mkisofs/joliet.c: Likewise.
19398 * util/mkisofs/name.c: Likewise.
19399 * util/mkisofs/rock.c: Likewise.
19400 * util/mkisofs/tree.c: Likewise.
19401 * util/mkisofs/write.c: Likewise.
19402
19403 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19404
19405 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19406 instead of static allocation.
19407 * util/mkisofs/match.h: Likewise.
19408
19409 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19410
19411 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19412 and `util/grub.d/10_linux.in'.
19413 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19414 translatable Shell files.
19415
19416 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19417
19418 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19419
19420 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19421
19422 * INSTALL: Document Automake is needed for bootstrap.
19423 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
19424 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19425 Add gettext initialization.
19426 (kfreebsd_entry): Make menuentry output translatable.
19427
19428 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19429
19430 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19431 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19432 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19433 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19434 (LINGUAS): Auto-generate using `po/LINGUAS'.
19435 * po/LINGUAS: New file.
19436
19437 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19438
19439 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19440 other things).
19441 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19442 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19443 bindtextdomain() calls for gettext initialization.
19444
19445 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19446
19447 * gnulib/progname.c: New file (imported from Gnulib).
19448 * gnulib/progname.h: Likewise.
19449 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19450 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19451 (usage): Replace `progname' with `program_name'.
19452 (main): Use set_program_name() for program name initialization.
19453
19454 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19455
19456 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19457 from here ...
19458 * Makefile.in (CPPFLAGS): ... to here.
19459
19460 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19461
19462 * aclocal.m4: Move from here ...
19463 * acinclude.m4: ... to here.
19464 * autogen.sh: Add call to `aclocal'.
19465 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19466
19467 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19468
19469 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19470 (LINGUAS): New variable.
19471 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19472 (install-local): Install MO files.
19473 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19474 * include/grub/i18n.h: New file.
19475 * po/POTFILES: New file.
19476 * po/ca.po: New file.
19477 * util/grub.d/10_linux.in (bindir): New variable.
19478 Add gettext initialization.
19479 (linux_entry): Make menuentry output translatable.
19480 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19481 (usage): Make --help output translatable.
19482 (main): Initialize gettext.
19483
19484 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19485
19486 * import_gcry.py: New file (written by Vladimir with minor
19487 adjustments).
19488 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19489 ciphers.
19490 * INSTALL: Document that Python is required for bootstrap.
19491
19492 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19493
19494 Import ciphers from libgcrypt 1.4.4.
19495
19496 * lib/libgcrypt/cipher/ChangeLog
19497 * lib/libgcrypt/cipher/ac.c
19498 * lib/libgcrypt/cipher/arcfour.c
19499 * lib/libgcrypt/cipher/bithelp.h
19500 * lib/libgcrypt/cipher/blowfish.c
19501 * lib/libgcrypt/cipher/camellia-glue.c
19502 * lib/libgcrypt/cipher/camellia.c
19503 * lib/libgcrypt/cipher/camellia.h
19504 * lib/libgcrypt/cipher/cast5.c
19505 * lib/libgcrypt/cipher/cipher.c
19506 * lib/libgcrypt/cipher/crc.c
19507 * lib/libgcrypt/cipher/des.c
19508 * lib/libgcrypt/cipher/dsa.c
19509 * lib/libgcrypt/cipher/ecc.c
19510 * lib/libgcrypt/cipher/elgamal.c
19511 * lib/libgcrypt/cipher/hash-common.c
19512 * lib/libgcrypt/cipher/hash-common.h
19513 * lib/libgcrypt/cipher/hmac-tests.c
19514 * lib/libgcrypt/cipher/md.c
19515 * lib/libgcrypt/cipher/md4.c
19516 * lib/libgcrypt/cipher/md5.c
19517 * lib/libgcrypt/cipher/primegen.c
19518 * lib/libgcrypt/cipher/pubkey.c
19519 * lib/libgcrypt/cipher/rfc2268.c
19520 * lib/libgcrypt/cipher/rijndael-tables.h
19521 * lib/libgcrypt/cipher/rijndael.c
19522 * lib/libgcrypt/cipher/rmd.h
19523 * lib/libgcrypt/cipher/rmd160.c
19524 * lib/libgcrypt/cipher/rsa.c
19525 * lib/libgcrypt/cipher/seed.c
19526 * lib/libgcrypt/cipher/serpent.c
19527 * lib/libgcrypt/cipher/sha1.c
19528 * lib/libgcrypt/cipher/sha256.c
19529 * lib/libgcrypt/cipher/sha512.c
19530 * lib/libgcrypt/cipher/tiger.c
19531 * lib/libgcrypt/cipher/twofish.c
19532 * lib/libgcrypt/cipher/whirlpool.c
19533
19534 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19535
19536 Fix build for systems without error().
19537
19538 * gnulib/error.c: New file (imported from Gnulib).
19539 * gnulib/error.h: Likewise.
19540 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19541 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19542 (this variable is now used by error()).
19543
19544 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19545
19546 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19547 instead of relying that char is signed.
19548
19549 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19550
19551 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19552 blocksize different from specified.
19553 (grub_pxefs_read): Likewise.
19554
19555 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19556
19557 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19558
19559 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19560 (grub_ata_readwrite): Likewise. Update 2 format strings.
19561 (grub_atapi_read): Likewise.
19562
19563 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19564 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19565 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19566 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19567 (ata_mod_LDFLAGS): Move from here ...
19568 * conf/i386.rmk: ... to here ...
19569 * conf/x86_64-efi.rmk: ... and here.
19570 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19571 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19572
19573 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19574
19575 Relicense multiboot.h, with RMS' blessing.
19576
19577 * include/multiboot.h: Change to X11 license.
19578
19579 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19580
19581 Support --version in grub-mkisofs.
19582
19583 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19584 (OPTION_VERSION): New macro.
19585 (ld_options): Recognize --version.
19586 (usage): Move `program_name' from here ...
19587 (program_name): ... to here. Add `static' qualifier.
19588 (main): Recognize `OPTION_VERSION'.
19589
19590 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
19591
19592 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19593 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19594
19595 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19596
19597 Fix help2man generation for mkisofs.
19598
19599 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19600 (usage): Send output to stdout (rather than stderr).
19601
19602 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19603
19604 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19605 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19606 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19607 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19608 (bin_SCRIPTS): Add `grub-mkfloppy'.
19609 (grub_mkfloppy_SOURCES): New variable.
19610
19611 * util/grub-mkrescue.in: New file.
19612 * util/i386/pc/grub-mkfloppy.in: New file.
19613
19614 * util/i386/coreboot/grub-mkrescue.in: Remove.
19615 * util/i386/pc/grub-mkrescue.in: Remove.
19616
19617 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19618
19619 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19620 from here ...
19621 * include/multiboot.h (struct multiboot_header): ... to here. Update
19622 all users.
19623 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19624 from here ...
19625 * include/multiboot.h (struct multiboot_info): ... to here. Update
19626 all users.
19627 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19628 from here ...
19629 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19630 Update all users.
19631 * include/grub/multiboot.h (struct grub_mod_list): Move
19632 from here ...
19633 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19634 Update all users.
19635
19636 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19637
19638 * include/multiboot2.h (multiboot_word): Rename from this ...
19639 (multiboot2_word): ... to this. Update all users.
19640 (multiboot_header): Rename from this ...
19641 (multiboot2_header): ... to this. Update all users.
19642 (multiboot_tag_header): Rename from this ...
19643 (multiboot2_tag_header): ... to this. Update all users.
19644 (multiboot_tag_start): Rename from this ...
19645 (multiboot2_tag_start): ... to this. Update all users.
19646 (multiboot_tag_name): Rename from this ...
19647 (multiboot2_tag_name): ... to this. Update all users.
19648 (multiboot_tag_module): Rename from this ...
19649 (multiboot2_tag_module): ... to this. Update all users.
19650 (multiboot_tag_memory): Rename from this ...
19651 (multiboot2_tag_memory): ... to this. Update all users.
19652 (multiboot_tag_unused): Rename from this ...
19653 (multiboot2_tag_unused): ... to this. Update all users.
19654 (multiboot_tag_end): Rename from this ...
19655 (multiboot2_tag_end): ... to this. Update all users.
19656
19657 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19658
19659 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19660 this platform we should support Multiboot1 first.
19661
19662 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19663 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19664 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19665
19666 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19667
19668 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19669 of write calls (converting them to fwrite() if they aren't already).
19670 (get_torito_desc): Likewise.
19671 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19672
19673 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19674
19675 * util/i386/pc/grub-install.in: Move from here ...
19676 * util/grub-install.in: ... to here. Update all users.
19677
19678 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
19679
19680 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19681
19682 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19683
19684 Support for El Torito without floppy emulation.
19685
19686 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19687 (init_boot_catalog): Improve error handling.
19688 (get_torito_desc): Don't use floppy emulation unless requested by
19689 user. Patch boot information table when requested via
19690 `-boot-info-table'.
19691 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19692 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19693 (use_boot_info_table): New variables.
19694 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19695 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19696 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19697 `--eltorito-emul-floppy'.
19698 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19699 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19700 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19701 (use_boot_info_table, get_731): New prototypes.
19702 * util/mkisofs/write.c (get_731): New function.
19703
19704 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
19705
19706 Fix the generation of the man page.
19707
19708 * util/pc/i386/grub-install.in: Source
19709 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19710
19711 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19712
19713 Large file support for grub-mkisofs.
19714
19715 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19716 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19717 (session_start): Upgrade type to `uint64_t'. Update all users.
19718 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19719 (struct directory_entry): Upgrade type of `starting_block' and
19720 `size' to `uint64_t'. Update all users.
19721 (struct deferred): Remove unused structure.
19722 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19723 Update all users.
19724 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19725 file is larger than `UINT32_MAX'.
19726 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19727 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19728 return value.
19729 (struct deferred_write): Upgrade type of `extent' and `size' to
19730 `uint64_t'. Update all users.
19731 (last_extent_written): Upgrade type to `uint64_t'. Update all
19732 users.
19733 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
19734 Update all users. Upgrade type of `remain' to `int64_t' and
19735 `use' to `size_t'. Use error() to handle fread() errors.
19736 (write_files): Rely on write_one_file() rather than calling
19737 xfwrite() directly.
19738
19739 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
19740
19741 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
19742
19743 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19744
19745 * util/mkisofs/fnmatch.c: Remove.
19746 * util/mkisofs/getopt1.c: Likewise.
19747 * util/mkisofs/getopt.c: Likewise.
19748 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
19749 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
19750 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
19751 `gnulib/getopt1.c' and `gnulib/getopt.c'.
19752 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
19753
19754 * configure.ac: Detect `mingw32msvc' host_os.
19755 Check for lstat(), getuid() and getgid().
19756
19757 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
19758 instances of `u_char' with `uint8_t'.
19759
19760 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
19761 [!HAVE_GETUID] (getuid): New function (stub).
19762 [!HAVE_GETGID] (getgid): Likewise.
19763 [!HAVE_LSTAT] (lstat): Likewise.
19764 [!S_IROTH] (S_IROTH): New macro (dummy).
19765 [!S_IRGRP] (S_IRGRP): Likewise.
19766
19767 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19768
19769 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
19770 conditional expression).
19771
19772 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19773
19774 Import from Gnulib.
19775
19776 * gnulib/fnmatch.c: New file.
19777 * gnulib/fnmatch.h: Likewise.
19778 * gnulib/fnmatch_loop.c: Likewise.
19779 * gnulib/getopt.c: Likewise.
19780 * gnulib/getopt.h: Likewise.
19781 * gnulib/getopt1.c: Likewise.
19782 * gnulib/getopt_int.h: Likewise.
19783 * gnulib/gettext.h: Likewise.
19784
19785 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19786
19787 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
19788 * normal/handler.c (read_handler_list): Likewise.
19789
19790 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19791
19792 Misc cleanup.
19793
19794 * kern/command.c (grub_register_command_prio): Use
19795 grub_zalloc() instead of explicitly zeroing data.
19796 * kern/list.c: Include `<grub/mm.h>'.
19797 (grub_named_list_find): Replace `0' with `NULL'.
19798 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
19799 (fs_module_list): Change type to `grub_named_list_t'. Update all
19800 users.
19801 * normal/dyncmd.c (read_command_list): Add space between function
19802 call and parenthesis.
19803 * normal/handler.c (read_handler_list): Likewise.
19804
19805 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19806
19807 * normal/auth.c (punishment_delay): Moved from here ...
19808 (grub_auth_strcmp): ... to here (inside function).
19809
19810 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19811
19812 * include/grub/list.h (struct grub_named_list): Remove `const'
19813 qualifier from `name'.
19814 (struct grub_prio_list): Likewise.
19815
19816 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19817
19818 * normal/auth.c: Include `<grub/time.h>'.
19819 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
19820
19821 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19822
19823 * normal/auth.c (punishment_delay): New variable.
19824 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
19825 (grub_auth_check_authentication): Punish failed login attempts with
19826 an incremental (2^N) delay.
19827
19828 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19829
19830 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
19831 path with $(srcdir).
19832
19833 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19834
19835 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
19836
19837 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19838
19839 * util/i386/coreboot/grub-mkrescue.in: New file.
19840 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
19841 variables.
19842
19843 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
19844 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
19845 * configure.ac: Add header and function checks to satisfy grub-mkisofs
19846 requirements.
19847 * util/mkisofs/defaults.h: New file.
19848 * util/mkisofs/eltorito.c: Likewise.
19849 * util/mkisofs/exclude.h: Likewise.
19850 * util/mkisofs/fnmatch.c: Likewise.
19851 * util/mkisofs/getopt.c: Likewise.
19852 * util/mkisofs/getopt1.c: Likewise.
19853 * util/mkisofs/hash.c: Likewise.
19854 * util/mkisofs/include/fctldefs.h: Likewise.
19855 * util/mkisofs/include/mconfig.h: Likewise.
19856 * util/mkisofs/include/prototyp.h: Likewise.
19857 * util/mkisofs/include/statdefs.h: Likewise.
19858 * util/mkisofs/iso9660.h: Likewise.
19859 * util/mkisofs/joliet.c: Likewise.
19860 * util/mkisofs/match.c: Likewise.
19861 * util/mkisofs/match.h: Likewise.
19862 * util/mkisofs/mkisofs.c: Likewise.
19863 * util/mkisofs/mkisofs.h: Likewise.
19864 * util/mkisofs/multi.c: Likewise.
19865 * util/mkisofs/name.c: Likewise.
19866 * util/mkisofs/rock.c: Likewise.
19867 * util/mkisofs/tree.c: Likewise.
19868 * util/mkisofs/write.c: Likewise.
19869
19870 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19871
19872 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
19873 being insecure.
19874
19875 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19876
19877 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
19878 `grub-mkimage' (and use $0 when possible).
19879
19880 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19881
19882 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
19883 error message for excessively large memory map.
19884
19885 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19886
19887 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
19888 executable bit.
19889
19890 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19891
19892 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
19893 message for coreboot users.
19894
19895 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
19896
19897 Fix build with GNU gold.
19898
19899 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
19900 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
19901 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
19902 link addresses.
19903 * aclocal.m4: Likewise.
19904
19905 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
19906
19907 * configure.ac (AC_PREREQ): Bump to 2.59d.
19908 * INSTALL: Make it more clear when Autoconf and Ruby are
19909 needed and when to run `./autogen.sh'.
19910
19911 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
19912
19913 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
19914 OSes.
19915
19916 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19917
19918 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
19919
19920 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19921
19922 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
19923 giving it to GNU Mach.
19924
19925 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19926
19927 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
19928 GNU partition number to get internal GRUB partition number.
19929
19930 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19931
19932 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
19933 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
19934
19935 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
19936
19937 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
19938 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
19939 case.
19940
19941 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
19942
19943 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
19944
19945 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19946
19947 Fix build problem.
19948
19949 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
19950 `-isystem=$(srcdir)/include'.
19951
19952 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19953
19954 * util/i386/pc/grub-install.in: Remove hint that device.map should be
19955 checked (grub-install doesn't currently rely on it).
19956
19957 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
19958
19959 Revert SVN r2660.
19960
19961 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
19962 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19963 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
19964 * conf/i386-ieee1275.rmk: Likewise.
19965 * conf/i386-pc.rmk: Likewise.
19966 * conf/powerpc-ieee1275.rmk: Likewise.
19967 * conf/sparc64-ieee1275.rmk: Likewise.
19968 * conf/x86_64-efi.rmk: Likewise.
19969
19970 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19971
19972 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
19973
19974 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19975
19976 * include/grub/misc.h: Stop checking for APPLE_CC.
19977
19978 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19979
19980 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
19981 doesn't cause an infinite call loop.
19982
19983 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
19984
19985 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
19986 strings.
19987
19988 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19989
19990 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
19991 variable.
19992 * Makefile.in: Likewise.
19993
19994 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19995
19996 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
19997
19998 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19999
20000 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
20001
20002 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20003
20004 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
20005
20006 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20007
20008 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
20009 from here ...
20010 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
20011
20012 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20013
20014 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
20015 in $(MAKEINFO) invocation. This makes it clear in output that
20016 errors are being ignored.
20017
20018 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20019
20020 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
20021 from here ...
20022 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
20023 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
20024 * conf/i386-ieee1275.rmk: Likewise.
20025 * conf/i386-pc.rmk: Likewise.
20026 * conf/powerpc-ieee1275.rmk: Likewise.
20027 * conf/sparc64-ieee1275.rmk: Likewise.
20028 * conf/x86_64-efi.rmk: Likewise.
20029
20030 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20031
20032 * util/grub-editenv.c (main): If only a command is given, use
20033 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
20034 (usage): FILENAME is now optional and has a default.
20035
20036 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
20037
20038 Improve grub-mkconfig performance when there are several menu
20039 entries on a single filesystem.
20040
20041 * util/grub.d/10_linux.in (linux_entry): Cache the output of
20042 prepare_grub_to_access_device.
20043 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20044 * util/grub.d/30_os-prober.in: Likewise.
20045
20046 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20047
20048 * util/grub.d/10_freebsd.in: Remove.
20049 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
20050 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
20051
20052 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
20053
20054 * docs/grub.cfg: Fix example usage of *BSD loaders.
20055
20056 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20057
20058 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20059 grub_util_error() call.
20060
20061 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20062
20063 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20064 `reserved_first_sector' member.
20065 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20066 `reserved_first_sector' to 1.
20067 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20068 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20069 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20070 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20071 filesystems which begin at first sector.
20072 (options): New option --skip-fs-probe.
20073 (main): Handle --skip-fs-probe and pass it to setup().
20074
20075 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20076
20077 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20078 (memset): Fix function prototype.
20079
20080 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20081 2009-10-25 Vasily Averin <vvs@parallels.com>
20082
20083 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20084 `dirent.direntlen == 0'.
20085
20086 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20087
20088 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20089 `cpio'.
20090 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20091
20092 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20093
20094 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20095 `__trampoline_setup' and `__ucmpdi2'.
20096 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20097 that libgcc provides.
20098
20099 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20100
20101 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20102 * include/grub/sparc64/libgcc.h (memset): Likewise.
20103 * include/grub/misc.h (memset, memcmp): New function prototypes.
20104
20105 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20106
20107 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20108 `cpio'.
20109 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20110
20111 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20112
20113 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20114 * docs/grub.cfg: Compensate for recent change in multiboot
20115 loader (since 2009-08-14 it won't pass filename to payload).
20116 * util/grub.d/10_hurd.in: Likewise.
20117
20118 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20119
20120 * config.guess: Update to latest version from config git
20121 repository.
20122 * config.sub: Likewise.
20123
20124 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20125
20126 Fix build on sparc64.
20127
20128 * configure.ac: Perform checks for libgcc symbols before
20129 adding `-nostdlib' to LDFLAGS.
20130
20131 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20132
20133 Let user specify OpenBSD root device.
20134
20135 * loader/i386/bsd.c (openbsd_root): New variable.
20136 (openbsd_opts): New option 'root'.
20137 (OPENBSD_ROOT_ARG): New macro.
20138 (grub_openbsd_boot): Use 'openbsd_root'.
20139 (grub_cmd_openbsd): Fill 'openbsd_root'.
20140
20141 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20142
20143 * NEWS: Misc adjustments.
20144
20145 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20146
20147 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20148
20149 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20150
20151 * configure.ac: Bump version to 1.97.
20152
20153 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20154
20155 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20156 -mno-3dnow on x86 architectures. Some toolchains enable these
20157 features by default, but they rely on registers that aren't enabled
20158 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20159
20160 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20161
20162 Make entry text a bit more readable.
20163
20164 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20165
20166 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20167
20168 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20169
20170 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20171
20172 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20173 operations.
20174
20175 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20176
20177 * configure.ac: Add missing dollar.
20178
20179 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20180
20181 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20182
20183 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20184 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20185 exports.
20186 * include/grub/sparc64/libgcc.h: Likewise. Use
20187 preprocessor conditionals.
20188
20189 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20190
20191 * conf/common.rmk (grub-dumpbios): Remove rule.
20192 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20193 * util/grub-dumpbios.in: Remove file.
20194
20195 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20196
20197 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20198 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20199
20200 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20201 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20202 users.
20203
20204 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20205 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20206 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20207 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20208 users.
20209
20210 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20211
20212 * term/tparm.c: Switch to GPLv3.
20213
20214 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20215
20216 * include/grub/i386/cpuid.h: Add header protection.
20217
20218 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20219
20220 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20221
20222 * include/grub/i386/cpuid.h: New file.
20223 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20224 (has_longmode): Rename to ...
20225 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20226 `static' attribute.
20227 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20228 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20229 on a CPU that doesn't implement AMD64 instruction set.
20230
20231 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20232
20233 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20234 that version.texi is rebuilt on version number changes.
20235
20236 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20237
20238 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20239 Fixes bug #27602.
20240
20241 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20242
20243 * util/i386/pc/grub-install.in: Source
20244 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20245 that the --grub-probe option will work.
20246 * util/sparc64/ieee1275/grub-install.in: Likewise.
20247
20248 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20249
20250 * configure.ac: Bump version to 1.97~beta4.
20251
20252 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20253
20254 Resync grub-mkdevicemap in x86_64-efi.
20255
20256 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20257 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20258 `util/devicemap.c'.
20259
20260 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
20261
20262 * util/grub-editenv.c (create_envblk_file): Write new block with a
20263 .new suffix and then rename it into place, to ensure atomic
20264 creation.
20265
20266 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20267
20268 Do not automatically install headers.
20269
20270 * Makefile.in (include_DATA): Remove. Update all users.
20271
20272 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20273
20274 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20275 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20276
20277 * util/osdetect.lua: Remove.
20278 * script/lua/lauxlib.c: Likewise.
20279 * script/lua/ldebug.c: Likewise.
20280 * script/lua/grub_main.c: Likewise.
20281 * script/lua/lauxlib.h: Likewise.
20282 * script/lua/ldebug.h: Likewise.
20283 * script/lua/ltablib.c: Likewise.
20284 * script/lua/liolib.c: Likewise.
20285 * script/lua/lstrlib.c: Likewise.
20286 * script/lua/lualib.h: Likewise.
20287 * script/lua/ldo.c: Likewise.
20288 * script/lua/ldump.c: Likewise.
20289 * script/lua/ldo.h: Likewise.
20290 * script/lua/loslib.c: Likewise.
20291 * script/lua/lundump.c: Likewise.
20292 * script/lua/grub_lib.c: Likewise.
20293 * script/lua/ldblib.c: Likewise.
20294 * script/lua/lundump.h: Likewise.
20295 * script/lua/lmem.c: Likewise.
20296 * script/lua/grub_lib.h: Likewise.
20297 * script/lua/lmathlib.c: Likewise.
20298 * script/lua/lstate.c: Likewise.
20299 * script/lua/ltm.c: Likewise.
20300 * script/lua/lvm.c: Likewise.
20301 * script/lua/lmem.h: Likewise.
20302 * script/lua/lstate.h: Likewise.
20303 * script/lua/ltm.h: Likewise.
20304 * script/lua/ltable.c: Likewise.
20305 * script/lua/lvm.h: Likewise.
20306 * script/lua/llex.c: Likewise.
20307 * script/lua/lgc.c: Likewise.
20308 * script/lua/grub_lua.h: Likewise.
20309 * script/lua/loadlib.c: Likewise.
20310 * script/lua/lfunc.c: Likewise.
20311 * script/lua/lopcodes.c: Likewise.
20312 * script/lua/lparser.c: Likewise.
20313 * script/lua/ltable.h: Likewise.
20314 * script/lua/llex.h: Likewise.
20315 * script/lua/lgc.h: Likewise.
20316 * script/lua/lfunc.h: Likewise.
20317 * script/lua/lbaselib.c: Likewise.
20318 * script/lua/lopcodes.h: Likewise.
20319 * script/lua/lparser.h: Likewise.
20320 * script/lua/lzio.c: Likewise.
20321 * script/lua/linit.c: Likewise.
20322 * script/lua/lobject.c: Likewise.
20323 * script/lua/llimits.h: Likewise.
20324 * script/lua/lstring.c: Likewise.
20325 * script/lua/lzio.h: Likewise.
20326 * script/lua/lapi.c: Likewise.
20327 * script/lua/lcode.c: Likewise.
20328 * script/lua/lua.h: Likewise.
20329 * script/lua/lobject.h: Likewise.
20330 * script/lua/lstring.h: Likewise.
20331 * script/lua/lapi.h: Likewise.
20332 * script/lua/lcode.h: Likewise.
20333 * script/lua/luaconf.h: Likewise.
20334
20335 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
20336
20337 * docs/grub.texi (Command-line and menu entry commands): Document
20338 date and echo commands.
20339
20340 2009-09-24 Pavel Roskin <proski@gnu.org>
20341
20342 * include/grub/kernel.h (struct grub_module_header): Remove
20343 `grub_module_header_types'. Make `type' unsigned. Make `size'
20344 32-bit on all platforms.
20345 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20346 8-bit field. Use grub_host_to_target32() for `size'.
20347 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20348 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20349 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20350
20351 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20352
20353 Fix "lost keypress" bug in at_keyboard.
20354
20355 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20356 Checks for readyness of input buffer (without flushing it).
20357 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20358 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20359
20360 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20361
20362 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20363 size check within GRUB_MACHINE_PCBIOS section.
20364
20365 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20366
20367 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20368 return value.
20369 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20370 KEYBOARD_ISREADY check.
20371 (grub_at_keyboard_checkkey): Rename to ...
20372 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20373 Remove gratuitous cast.
20374
20375 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
20376
20377 * configure.ac: Call AC_PROG_MKDIR_P.
20378 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20379 version.texi in $(builddir) rather than $(srcdir).
20380 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20381 to makeinfo's @include search path.
20382
20383 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20384
20385 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20386
20387 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20388
20389 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20390 for `*.dpkg-new'.
20391
20392 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
20393
20394 Build info documentation. Some code borrowed from Automake.
20395
20396 * configure.ac: Check for makeinfo.
20397 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20398 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20399 docs/version.texi.
20400 (MOSTLYCLEANFILES): Add vti.tmp.
20401 (docs/version.texi, docs/stamp-vti): Update automatically.
20402 (docs/grub.info): Build info documentation. Use --force and ignore
20403 errors for now.
20404 (all-local): Add $(INFOS).
20405 (install-local): Install info files.
20406 (uninstall): Uninstall info files.
20407 * docs/version.texi: Remove from revision control. This file is
20408 automatically generated on build now.
20409 * gendistlist.sh: Add `*.info'.
20410
20411 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20412
20413 * kern/term.c: Fix indentation.
20414
20415 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20416
20417 * util/hostdisk.c: Fix a comment.
20418
20419 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20420
20421 Fix regression introduced in r2539.
20422
20423 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20424 to 0xA1.
20425
20426 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
20427
20428 * util/grub.d/30_os-prober.in: Don't throw away stderr from
20429 os-prober. Under normal operation, it does not print anything to
20430 stderr; if it does, we need to debug it, and throwing away stderr
20431 makes that excessively difficult.
20432
20433 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20434
20435 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20436
20437 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20438
20439 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20440 AC_LANG_PROGRAM from autoconf.
20441 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20442 prototypes (fixes warning).
20443
20444 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20445 `--disable-werror' was used.
20446
20447 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20448
20449 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20450 uninitialized `lastaddr'.
20451
20452 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20453
20454 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
20455
20456 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20457
20458 * commands/test.c (get_fileinfo): Return immediately if
20459 grub_fs_probe fails.
20460
20461 2009-09-14 José Martínez <xosemp@gmail.com>
20462
20463 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20464
20465 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20466
20467 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20468 output.
20469
20470 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20471
20472 * configure.ac: Remove --enable-grub-pe2elf. Only build
20473 grub-pe2elf when needed by the build system itself.
20474 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20475
20476 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20477
20478 * configure.ac: Bump version to 1.97~beta3.
20479 * docs/version.texi: Likewise.
20480
20481 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20482
20483 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20484 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20485 from here ...
20486 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20487 (grub_linux_setup_video): ... to here (with some adjustments).
20488
20489 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20490
20491 Fix memory corruption issue (spotted by Colin Watson).
20492
20493 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20494 causing returned size to be stored in an incorrect memory location.
20495 Fix use of uninitialized value when storing the returned size.
20496
20497 2009-09-12 Yves Blusseau <blusseau@zetam.org>
20498
20499 Change clean rules to properly remove files
20500
20501 * genmk.rb: add new clean rules
20502 * Makefile.in (clean): add the new targets
20503 (mostlyclean): likewise
20504
20505 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20506
20507 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20508 to grub_uint64_t.
20509 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20510 non-resident files.
20511
20512 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20513
20514 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20515 part of bug #27349.
20516
20517 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20518
20519 * util/grub-mkconfig.in: Make the created config mode 400 and
20520 print a warning if it fails.
20521
20522 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20523
20524 * util/grub.d/40_custom.in: Ask user to type custom entries below
20525 comment, rather than below 'exec tail' line.
20526
20527 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20528
20529 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20530 visible in grub.cfg.
20531
20532 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20533
20534 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20535 file.
20536
20537 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20538
20539 * docs/grub.cfg: Add an example menu entry for memtest86+.
20540
20541 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
20542
20543 * config.guess: Update to latest version from config git.
20544 * config.sub: Likewise.
20545
20546 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
20547
20548 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20549 unknown-command case. Fixes bug #27320.
20550
20551 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
20552
20553 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20554 `help' if the command exists.
20555
20556 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20557
20558 * INSTALL: Require GCC 4.1.3 or later.
20559
20560 2009-09-06 Yves Blusseau <blusseau@zetam.org>
20561
20562 * Makefile.in (RMKFILES): add i386-qemu.rmk
20563 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20564 $(srcdir)/stamp-h.in
20565
20566 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20567
20568 * util/grub-probe.c (probe): Comment out buggy codepath, which
20569 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20570 should be re-enabled after 1.97.
20571
20572 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
20573
20574 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20575 find searches for.
20576
20577 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20578
20579 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20580 unnecessary calls to grub_error.
20581
20582 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
20583
20584 * NEWS: Mention `keystatus' and Unicode fonts.
20585
20586 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20587
20588 * configure.ac: Bump version to 1.97~beta2.
20589 * docs/version.texi: Likewise.
20590
20591 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20592
20593 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20594 containing unwind information in some cases where it previously did
20595 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20596 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20597 discussion.
20598
20599 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20600
20601 Embedding loadenv module into grub-emu
20602
20603 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20604 commands/loadenv.c
20605 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20606 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20607 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20609 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20610 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20611
20612 2009-09-03 Magnus Granberg <zorry@ume.nu>
20613
20614 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20615 include -fPIE in the default specs.
20616 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20617 to TARGET_CFLAGS.
20618
20619 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
20620
20621 * INSTALL: Note that GNU Bison 2.3 or later is required.
20622
20623 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20624
20625 * kern/i386/pc/startup.S: Fix typo.
20626
20627 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20628
20629 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20630 according to GCS.
20631
20632 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20633
20634 * docs/grub.texi (Naming convention): Describe one-based partition
20635 numbering.
20636 (Device syntax): Likewise.
20637 (File name syntax): Likewise.
20638 (Block list syntax): Likewise.
20639 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20640 menu.lst.
20641 (File name syntax): Likewise.
20642 (Command-line and menu entry commands): Document acpi, blocklist,
20643 crc, export, insmod, keystatus, ls, set, and unset commands.
20644
20645 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20646
20647 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20648 to avoid implying that only one of --shift, --ctrl, or --alt may be
20649 used.
20650
20651 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20652
20653 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20654 rather than comparing against S_IFREG, which will almost never work.
20655
20656 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20657
20658 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20659 (write_blocklists): Likewise.
20660
20661 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
20662
20663 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20664 argument to grub_printf.
20665
20666 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
20667
20668 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
20669 non GNU test.
20670
20671 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20672
20673 * kern/file.c (grub_file_read): Spelling fix
20674
20675 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20676
20677 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20678 loading of headers in some cases.
20679
20680 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20681
20682 * configure.ac: Bump version to 1.97~beta1.
20683 * docs/version.texi: Likewise.
20684
20685 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20686
20687 * include/grub/i386/xnu.h: Add license header.
20688 include grub/err.h explicitly.
20689
20690 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20691
20692 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20693 to `ufs' in the vfs.root.mountfrom kernel parameter.
20694
20695 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20696
20697 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20698
20699 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20700 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20701
20702 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20703 `ARRAY_SIZE' macro.
20704
20705 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20706
20707 * kern/file.c (grub_file_read): Check offset.
20708 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20709 * fs/jfs.c (grub_jfs_read_file): Likewise.
20710 * fs/ntfs.c (grub_ntfs_read): Likewise.
20711 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20712 * fs/minix.c (grub_minix_read_file): Correct offset check.
20713 * fs/ufs.c (grub_ufs_read_file): Likewise.
20714
20715 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20716
20717 * term/i386/pc/console.c (bios_data_area): Cast
20718 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20719
20720 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20721
20722 1-bit optimised blitters.
20723
20724 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20725 prototype.
20726 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20727 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20728 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20729 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20730 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20731 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20732 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20733 function.
20734 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20735 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20736 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20737 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20738 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20739 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20740 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
20741 when possible.
20742 * video/video.c (grub_video_get_blit_format): Return
20743 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
20744
20745 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20746
20747 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
20748 the first argument to grub_printf.
20749
20750 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20751 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
20752
20753 Add `getkeystatus' terminal method. Add a new `keystatus' command
20754 to query it.
20755
20756 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
20757 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
20758 modifier key bitmasks.
20759 (struct grub_term_input): Add `getkeystatus' member.
20760 (grub_getkeystatus): Add prototype.
20761 * kern/term.c (grub_getkeystatus): New function.
20762
20763 * include/grub/i386/pc/memory.h
20764 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
20765 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
20766 Data Area layout.
20767 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
20768 (grub_console_term_input): Set `getkeystatus' member.
20769 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
20770 constants.
20771 (grub_usb_keyboard_getreport): Likewise.
20772 (grub_usb_keyboard_checkkey): Likewise.
20773 (grub_usb_keyboard_getkeystatus): New function.
20774 (grub_usb_keyboard_term): Set `getkeystatus' member.
20775
20776 * commands/keystatus.c: New file.
20777 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
20778 (keystatus_mod_SOURCES): New variable.
20779 (keystatus_mod_CFLAGS): Likewise.
20780 (keystatus_mod_LDFLAGS): Likewise.
20781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
20782 commands/keystatus.c.
20783 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20784 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20785 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20787 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20788 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20789
20790 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20791
20792 Split befs.mod and afs.mod into *_be.mod and *.mod
20793
20794 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
20795 (grub_fstest_SOURCES): Likewise.
20796 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
20797 (afs_be_mod_SOURCES): New variable.
20798 (afs_be_mod_CFLAGS): Likewise.
20799 (afs_be_mod_LDFLAGS): Likewise.
20800 (befs_be_mod_SOURCES): Likewise.
20801 (befs_be_mod_CFLAGS): Likewise.
20802 (befs_be_mod_LDFLAGS): Likewise.
20803 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
20804 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20805 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20806 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20807 (grub_emu_SOURCES): Likewise.
20808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20809 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20810 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20811 * fs/afs_be.c: New file.
20812 * fs/befs_be.c: New file.
20813 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
20814 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
20815 (U16): Replaced with ...
20816 (grub_afs_to_cpu16): ...this. All users updated.
20817 (U32): Replaced with ...
20818 (grub_afs_to_cpu32): ...this. All users updated.
20819 (U64): Replaced with ...
20820 (grub_afs_to_cpu64): ...this. All users updated.
20821 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
20822 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
20823 (grub_afs_validate_sblock): Check only one endianness.
20824 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20825 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20826 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20827 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20828 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20829 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20830 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20831 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20832
20833 2009-08-26 Bean <bean123ch@gmail.com>
20834
20835 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
20836 64-bit number.
20837 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
20838 (grub_xfs_inode_block): Change return type to grub_uint64_t.
20839 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
20840
20841 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20842
20843 NetBSD memory map support.
20844
20845 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
20846 (grub_netbsd_btinfo_mmap_header): New structure.
20847 (grub_netbsd_btinfo_mmap_entry): Likewise.
20848 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
20849
20850 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20851
20852 Enable bsd.mod on coreboot.
20853
20854 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
20855 (bsd_mod_SOURCES): New variable.
20856 (bsd_mod_CFLAGS): Likewise.
20857 (bsd_mod_LDFLAGS): Likewise.
20858 (bsd_mod_ASFLAGS): Likewise.
20859 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
20860 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
20861
20862 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20863
20864 Cleanup NetBSD root support.
20865
20866 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
20867 grub_bsd_get_device.
20868 Fix typo.
20869
20870 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
20871
20872 * util/grub.d/00_header.in: Move check for the video backend of
20873 gfxterm from here ...
20874 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
20875 a suitable video backend.
20876
20877 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20878
20879 Fix breakage in grub-setup.
20880
20881 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
20882 "msdos_partition_map".
20883
20884 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20885
20886 Fix breakage in normal/auth.c.
20887
20888 * normal/auth.c (grub_iswordseparator): New function.
20889
20890 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20891
20892 Authentication support.
20893
20894 * commands/password.c: New file.
20895 * conf/common.rmk (pkglib_MODULES): Add password.mod.
20896 (password_mod_SOURCES): New variable.
20897 (password_mod_CFLAGS): Likewise.
20898 (password_mod_LDFLAGS): Likewise.
20899 (normal_mod_SOURCES): Add normal/auth.c.
20900 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
20901 normal/auth.c.
20902 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20904 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20905 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20906 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20907 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20908 * include/grub/auth.h: New file.
20909 * include/grub/err.h (grub_err_t): New enum value
20910 GRUB_ERR_ACCESS_DENIED.
20911 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
20912 'users'.
20913 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
20914 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
20915 users updated.
20916 * normal/auth.c: New file.
20917 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
20918 (grub_cmdline_run): Don't allow to go to command line without
20919 authentication.
20920 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
20921 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
20922 menuentry without superuser rights.
20923 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
20924 user isn't a superuser.
20925
20926 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20927
20928 Save space by inlining misc.c functions.
20929
20930 * kern/misc.c (grub_iswordseparator): Made static.
20931 * kern/misc.c (grub_strcat): Moved from here ...
20932 * include/grub/misc.h (grub_strcat): ... here. Inlined.
20933 * kern/misc.c (grub_strncat): Moved from here ...
20934 * include/grub/misc.h (grub_strncat): ... here. Inlined.
20935 * kern/misc.c (grub_strcasecmp): Moved from here ...
20936 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
20937 * kern/misc.c (grub_strncasecmp): Moved from here ...
20938 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
20939 * kern/misc.c (grub_isalpha): Moved from here ...
20940 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
20941 * kern/misc.c (grub_isdigit): Moved from here ...
20942 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
20943 * kern/misc.c (grub_isgraph): Moved from here ...
20944 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
20945 * kern/misc.c (grub_tolower): Moved from here ...
20946 * include/grub/misc.h (grub_tolower): ... here. Inlined.
20947
20948 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20949
20950 * script/sh/function.c (grub_script_function_find): Cut error message
20951 not to flood terminal.
20952 * script/sh/lexer.c (grub_script_yylex): Remove command line length
20953 limit.
20954 * script/sh/script.c (grub_script_arg_add): Duplicate string.
20955
20956 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
20957
20958 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
20959 `report' grub_uint8_t *.
20960 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
20961 Use a 50-millisecond timeout rather than just repeating
20962 grub_usb_keyboard_getreport 50 times.
20963 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
20964
20965 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20966
20967 Rename *_partition_map to part_*
20968
20969 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
20970 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
20971 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
20972 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
20973 All users updated.
20974 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
20975 All users updated.
20976 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
20977 * util/grub-probe.c (probe_partmap): Don't transform partition name
20978 to get module name.
20979
20980 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20981
20982 Fix OpenBSD and NetBSD support.
20983
20984 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
20985 memory address conflict.
20986 (OPENBSD_MMAP_ACPI): New definition.
20987 (OPENBSD_MMAP_NVS): Likewise.
20988 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
20989 and OPENBSD_MMAP_NVS.
20990 Add memory map terminator
20991 Explicit cast when calling grub_unix_real_boot.
20992 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
20993
20994 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20995
20996 Let user specify NetBSD root device.
20997
20998 * loader/i386/bsd.c (netbsd_root): New variable.
20999 (netbsd_opts): New option 'root'.
21000 (NETBSD_ROOT_ARG): New macro.
21001 (grub_netbsd_boot): Use 'netbsd_root'.
21002 (grub_bsd_unload): Free 'netbsd_root'.
21003 (grub_cmd_netbsd): Fill 'netbsd_root'.
21004
21005 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21006
21007 Support for 64-bit NetBSD.
21008
21009 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
21010 point when booting non-FreeBSD.
21011
21012 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
21013
21014 Support --no-smp and --no-acpi for NetBSD.
21015
21016 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
21017 (NETBSD_AB_NOACPI): Likewise.
21018 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
21019 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
21020
21021 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21022
21023 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
21024 errors.
21025 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
21026 errors. Call grub_error when needed.
21027
21028 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21029
21030 * commands/search.c (search_fs): Try searching without autoload first.
21031 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
21032 filesystem module explicitly for faster booting.
21033
21034 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21035
21036 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
21037
21038 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
21039
21040 * util/grub.d/30_os-prober.in: Disable os-prober if
21041 `GRUB_DISABLE_OS_PROBER' was set to true.
21042
21043 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
21044
21045 * partmap/pc.c: Rename to ...
21046 * partmap/msdos.c: ... this. Update all users.
21047 (grub_pc_partition_map): Rename to ...
21048 (grub_msdos_partition_map): ... this. Update all users.
21049
21050 * parttool/pcpart.c: Rename to ...
21051 * parttool/msdospart.c: ... this. Update all users.
21052
21053 * include/grub/pc_partition.h: Rename to ...
21054 * include/grub/msdos_partition.h: ... this. Update all users.
21055 (grub_pc_partition_bsd_entry): Rename to ...
21056 (grub_msdos_partition_bsd_entry): ... this. Update all users.
21057 (grub_pc_partition_disk_label): Rename to ...
21058 (grub_msdos_partition_disk_label): ... this. Update all users.
21059 (grub_pc_partition_entry): Rename to ...
21060 (grub_msdos_partition_entry): ... this. Update all users.
21061 (grub_pc_partition_mbr): Rename to ...
21062 (grub_msdos_partition_mbr): ... this. Update all users.
21063 (grub_pc_partition): Rename to ...
21064 (grub_msdos_partition): ... this. Update all users.
21065 (grub_pc_partition_is_empty): Rename to ...
21066 (grub_msdos_partition_is_empty): ... this. Update all users.
21067 (grub_pc_partition_is_extended): Rename to ...
21068 (grub_msdos_partition_is_extended): ... this. Update all users.
21069 (grub_pc_partition_is_bsd): Rename to ...
21070 (grub_msdos_partition_is_bsd): ... this. Update all users.
21071
21072 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21073 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21074 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21075 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21076 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21077 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21078 (gpt_mod_LDFLAGS): Rename to ...
21079 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21080 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21081 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21082 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21083 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21084 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21085 (part_gpt_mod_LDFLAGS): ... this.
21086 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21087 `pcpart.mod' to `msdospart.mod'.
21088 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21089 to ...
21090 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21091 (msdospart_mod_LDFLAGS): ... this.
21092
21093 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21094
21095 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21096 (openbsd_opts): Likewise.
21097 (netbsd_opts): Likewise.
21098 (freebsd_flags): Added 0 terminator.
21099 (openbsd_flags): Likewise.
21100 (netbsd_flags): Likewise.
21101 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21102 (grub_cmd_freebsd): Transformed into extended command.
21103 (grub_cmd_openbsd): Likewise.
21104 (grub_cmd_netbsd): Likewise.
21105 (cmd_freebsd): Changed type to grub_extcmd_t.
21106 (cmd_openbsd): Likewise.
21107 (cmd_netbsd): Likewise.
21108 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21109 grub_cmd_openbsd as extended commands.
21110 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21111 cmd_netbsd and cmd_openbsd
21112
21113 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21114
21115 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21116
21117 2009-08-21 Pavel Roskin <proski@gnu.org>
21118
21119 * Makefile.in (install-local): When checking if a file is in the
21120 build directory, use "test -e" to detect symlinks.
21121
21122 * Makefile.in (install-local): Remove all files in
21123 $(DESTDIR)$(pkglibdir) before installing new files there.
21124
21125 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21126
21127 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21128 grub-mkelfimage.
21129
21130 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21131
21132 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21133 explicitly specified by the user.
21134
21135 2009-08-18 Pavel Roskin <proski@gnu.org>
21136
21137 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21138 grub_uint8_t pointer for data.
21139 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21140 Likewise.
21141 * video/fb/fbutil.c: Remove unnecessary casts.
21142
21143 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21144
21145 VBE cleanup.
21146
21147 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21148 (grub_vbe_set_video_mode): Save active mode info
21149 only after setting the mode.
21150 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21151 second argument.
21152
21153 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21154
21155 Rename variables for clarity.
21156
21157 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21158 (active_vbe_mode_info): ... this. All users updated.
21159 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21160 All users updated.
21161 (initial_mode): Rename to ...
21162 (initial_vbe_mode): ... this. All users updated.
21163 (mode_in_use): Rename to ..
21164 (vbe_mode_in_use): ... this. All users updated.
21165 (mode_list): Rename to ..
21166 (vbe_mode_list): ... this. All users updated.
21167 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21168 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21169 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21170 'mode_list_size' to 'vbe_mode_list_size'.
21171 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21172 'best_mode_info' to 'best_vbe_mode_info' and
21173 'best_mode' to 'best_vbe_mode'
21174
21175 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21176
21177 Remove duplicate grub_video_fb_get_video_ptr.
21178
21179 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21180 (grub_video_fb_get_video_ptr): ... this.
21181 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21182 * video/fb/fbutil.c: Add comment about addressing.
21183 (get_data_ptr): Rename to ...
21184 (grub_video_fb_get_video_ptr): ... this. All users updated.
21185 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21186
21187 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21188
21189 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21190 grub_dprintf() that was just added.
21191
21192 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21193
21194 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21195 (DEFAULT_VIDEO_MODE): Remove macros.
21196 (grub_linux_boot): Remove assumption that Linux has FB support,
21197 and use "text" as default video mode.
21198
21199 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21200
21201 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21202 grub_dprintf.
21203 * fs/fat.c (grub_fat_read_data): Likewise.
21204
21205 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21206
21207 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21208 payload.
21209 (grub_module): Likewise.
21210
21211 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21212
21213 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21214 mbi->cmdline but free playground.
21215
21216 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21217
21218 Handle group offset on UFS1.
21219
21220 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21221 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21222
21223 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21224
21225 Split ufs.mod into ufs1.mod and ufs2.mod.
21226
21227 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21228 (grub_fstest_SOURCES): Likewise.
21229 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21230 (ufs_mod_SOURCES): Remove.
21231 (ufs_mod_CFLAGS): Likewise.
21232 (ufs_mod_LDFLAGS): Likewise.
21233 (ufs1_mod_SOURCES): New variable.
21234 (ufs1_mod_CFLAGS): Likewise.
21235 (ufs1_mod_LDFLAGS): Likewise.
21236 (ufs2_mod_SOURCES): New variable.
21237 (ufs2_mod_CFLAGS): Likewise.
21238 (ufs2_mod_LDFLAGS): Likewise.
21239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21240 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21241 Likewise.
21242 (grub_emu_SOURCES): Likewise.
21243 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21244 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21245 (grub_setup_SOURCES): Likewise.
21246 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21247 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21248 (grub_setup_SOURCES): Likewise.
21249 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21250 Likewise.
21251 * fs/ufs2.c: New file.
21252 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21253
21254 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21255
21256 Framebuffer split.
21257
21258 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21259 subsystem at the end.
21260 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21261 (video_fb_mod_SOURCES): New variable.
21262 (video_fb_mod_CFLAGS): Likewise.
21263 (video_fb_mod_LDFLAGS): Likewise.
21264 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21265 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21266 * video/i386/pc/vbeblit.c: Moved from here ...
21267 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21268 * video/i386/pc/vbefill.c: Moved from here ...
21269 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21270 * video/i386/pc/vbeutil.c: Moved from here ...
21271 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21272 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21273 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21274 * include/grub/i386/pc/vbefill.h: Moved from here ...
21275 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21276 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21277 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21278 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21279 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21280 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21281 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21282 (grub_video_adapter): Added 'get_info_and_fini'.
21283 (grub_video_get_info_and_fini): New prototype.
21284 (grub_video_set_mode): make modestring const char *.
21285 * loader/i386/linux.c (grub_linux_setup_video): Use
21286 grub_video_get_info_and_fini.
21287 (grub_linux_boot): Move modesetting just before booting.
21288 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21289 grub_video_get_info_and_fini.
21290 * video/i386/pc/vbe.c: Moved framebuffer part ...
21291 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21292 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21293 grub_video_fbstd_colors and grub_video_fb_set_palette.
21294 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21295 grub_video_fb_init.
21296 (grub_video_vbe_fini): Use grub_video_fb_fini.
21297 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21298 render_target and use grub_video_fb_set_active_render_target and
21299 grub_video_fb_set_palette.
21300 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21301 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21302 (grub_video_vbe_adapter): Use framebuffer.
21303 * video/video.c (grub_video_get_info_and_fini): New function.
21304 (grub_video_set_mode): Make modestring const char *.
21305 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21306 values are already initialised.
21307
21308 2009-08-14 Pavel Roskin <proski@gnu.org>
21309
21310 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21311 ABS and APPLE_CC.
21312 * boot/i386/pc/diskboot.S: Likewise.
21313 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21314 sectors allow compilation on MacOSX.
21315 * conf/i386-pc.rmk: Enable unconditional compilation of
21316 lnxboot.img.
21317
21318 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
21319
21320 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21321 * util/grub.d/00_header.in: Enter interruptible sleep if
21322 GRUB_HIDDEN_TIMEOUT is set.
21323
21324 2009-08-13 Yves Blusseau <blusseau@zetam.org>
21325
21326 * include/grub/symbol.h: Add the LOCAL macro.
21327 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21328 starting with "L_".
21329
21330 2009-08-13 Pavel Roskin <proski@gnu.org>
21331
21332 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21333 any modern compilers we support.
21334
21335 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21336 Use local labels starting with "L_" so that Apple assembler
21337 knows they are local.
21338
21339 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21340
21341 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21342 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21343 (bsd_kernel_types): ... this enum.
21344
21345 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21346 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21347 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21348
21349 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21350 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21351 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21352 messages.
21353
21354 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21355
21356 * util/grub-dumpdevtree: Moved from here ...
21357 * util/i386/efi/grub-dumpdevtree: ... to here.
21358 (hexify): New function. Converts a string to its hex version.
21359 Generate hex versions of "efi" and "device-properties" by calling
21360 hexify() on the ASCII strings rather than by hardcoding numbers.
21361
21362 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21363
21364 * fs/jfs.c: Update copyright year.
21365
21366 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21367
21368 * util/grub.d/00_header.in: Fix a comment.
21369 * util/grub.d/10_linux.in: Likewise.
21370 * util/grub.d/10_windows.in: Likewise.
21371 * util/grub.d/10_hurd.in: Likewise.
21372
21373 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21374
21375 * util/grub-mkconfig.in: Allow the user to specify the used font
21376 with GRUB_FONT.
21377
21378 2009-08-08 Pavel Roskin <proski@gnu.org>
21379
21380 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21381 available, xfs.mod needs it now.
21382
21383 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21384 the "g" modifier in sed when the intention is to strip something
21385 once. This fixes comparison of kernels with multiple dashes.
21386
21387 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21388 on it. Add missing space before closing bracket. Fix
21389 misleading formatting.
21390
21391 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21392
21393 * docs/grub.texi: Major overhaul. Remove all sections that are
21394 specific to GRUB Legacy, or mostly composed of Legacy-specific
21395 information.
21396
21397 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21398
21399 * docs/version.texi: New file. Provides version information for
21400 grub.texi.
21401
21402 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21403
21404 * docs/grub.texi: Update CVS information to SVN.
21405 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21406
21407 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21408
21409 * util/grub-mkconfig.in: Remove a wrong `fi'.
21410
21411 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21412
21413 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21414 (grub_jfs_uuid): New function.
21415 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21416
21417 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21418
21419 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21420 of it to ...
21421 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21422 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21423
21424 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21425
21426 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21427 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21428 Update all users.
21429
21430 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21431 not just "vmlinu[zx]".
21432 Moved from here ...
21433 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21434 all users.
21435
21436 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21437 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21438 all users.
21439
21440 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21441
21442 * util/grub.d/10_freebsd.in: Use an absolute device path for
21443 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21444
21445 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
21446
21447 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21448 handling of multiple abstraction modules.
21449
21450 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21451
21452 Fix a bug resulting in black screen when loading Linux using a
21453 packed video mode.
21454
21455 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21456 function.
21457
21458 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21459 (grub_vbe_bios_getset_dac_palette_width): New function.
21460 (grub_vbe_bios_get_dac_palette_width)
21461 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21462 grub_vbe_bios_getset_dac_palette_width()).
21463
21464 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21465 check for return status.
21466 (grub_vbe_get_video_mode_info): When getting information for a packed
21467 mode (<= 8 bpp), obtain DAC palette width using
21468 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21469 {red,green,blue}_mark_size.
21470
21471 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
21472
21473 * commands/search.c (options): Fix help output to match actual code.
21474
21475 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21476
21477 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21478 of homegrown code.
21479
21480 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21481
21482 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21483 on XFS or ReiserFS.
21484
21485 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21486
21487 Support Apple partition map with sector size different from 512 bytes.
21488
21489 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21490 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21491 and 'apart.partmap_size'.
21492
21493 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21494 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21495
21496 Fix cpuid command.
21497
21498 * commands/i386/cpuid.c (options): New variable.
21499 (grub_cmd_cpuid): Return real error.
21500 (GRUB_MOD_INIT(cpuid)): Declare options.
21501
21502 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21503
21504 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21505 valid.
21506
21507 2009-07-31 Bean <bean123ch@gmail.com>
21508
21509 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21510 log2_inode.
21511 (grub_fshelp_node): Move inode field to the end.
21512 (grub_xfs_data): Remove inode field.
21513 (grub_xfs_inode_block): Calculate inode size using sblock.
21514 (grub_xfs_inode_offset): Likewise.
21515 (grub_xfs_read_inode): Calculate inode size using sblock.
21516 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21517 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21518 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21519 to match inode size.
21520 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21521 not accessible when data is null.
21522 (grub_xfs_open): Likewise.
21523
21524 2009-07-31 Bean <bean123ch@gmail.com>
21525
21526 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21527 Don't change pv->disk if it's already set.
21528
21529 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21530 (grub_raid_register): ... here.
21531 (grub_raid_rescan): Removed.
21532
21533 * include/grub/raid.h (grub_raid_rescan): Removed.
21534
21535 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21536 (fstest): Replace grub_raid_rescan with module fini function followed
21537 by init function.
21538
21539 * util/grub-probe.c: Add include file <grub/raid.h>.
21540 (probe_raid_level): New function.
21541 (probe): Detect abstraction by walking the disk device, support two
21542 level of abstraction (LVM on RAID) when detecting partition map.
21543
21544 2009-07-31 Pavel Roskin <proski@gnu.org>
21545
21546 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21547 to grub_zalloc(), it was erroneous.
21548 Reported by Bean <bean123ch@gmail.com>
21549
21550 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21551
21552 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
21553 embedding zone, not only the first one.
21554
21555 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
21556
21557 * term/gfxterm.c (clear_char): New function.
21558 (grub_virtual_screen_setup): Use clear_char.
21559 (scroll_up): Likewise.
21560 (grub_virtual_screen_cls): Likewise.
21561
21562 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
21563
21564 * util/deviceiter.c (get_acceleraid_disk_name): New static
21565 function.
21566 (grub_util_iterate_devices): Handle Accelraid devices.
21567 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21568
21569 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21570
21571 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21572 separator for the suggested gfxpayload string (';' collides with the
21573 parser and needs escaping).
21574
21575 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21576
21577 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21578 Clear direction flag before jumping to OS.
21579 (grub_multiboot2_real_boot): Likewise.
21580
21581 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21582
21583 * util/i386/pc/grub-install: Fix parsing of --disk-module
21584 option.
21585
21586 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21587
21588 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21589 when embedding.
21590
21591 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
21592
21593 * util/grub-mkconfig.in (package_version): New variable.
21594 Use it do display the version.
21595
21596 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21597
21598 * kern/file.c (grub_file_open): Revert to previous check with
21599 grub_errno.
21600
21601 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21604 from help line. It's out of sync with code.
21605
21606 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21607
21608 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21609 entries on failed boot.
21610
21611 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21612
21613 * kern/file.c (grub_file_open): Fix an error check.
21614
21615 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21616
21617 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21618 partition map couldn't be identified.
21619
21620 2009-07-23 Pavel Roskin <proski@gnu.org>
21621
21622 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21623 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21624 case of little endian words becomes just an optimization.
21625 Respect const modifier.
21626 (md5_final): Use code that doesn't depend on endianness.
21627
21628 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21629 to avoid loss of upper bits if align is unsigned and shorter
21630 than addr.
21631
21632 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21633
21634 UUID support for UFS
21635
21636 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21637 (grub_ufs_uuid): New function.
21638 (grub_ufs_fs): add .uuid
21639
21640 2009-07-21 Pavel Roskin <proski@gnu.org>
21641
21642 * kern/dl.c (grub_dl_check_header): Make static.
21643
21644 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
21645
21646 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21647 add drivemap for Vista. It breaks Windows 7.
21648
21649 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21650
21651 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21652 128 bytes
21653
21654 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21655
21656 Add BFS support
21657
21658 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21659 (grub_fstest_SOURCES): Likewise.
21660 (pkglib_MODULES): Add befs.mod.
21661 (befs_mod_SOURCES): New variable.
21662 (befs_mod_CFLAGS): Likewise.
21663 (befs_mod_LDFLAGS): Likewise.
21664 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21665 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21666 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21667 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21668 (grub_setup_SOURCES): Likewise.
21669 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21670 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21671 (grub_setup_SOURCES): Likewise.
21672 * fs/befs.c: New file.
21673 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21674 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21675 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21676 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21677 (B_KEY_INDEX_ALIGN): New declaration.
21678 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21679 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21680 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21681 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21682 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21683 (grub_afs_mount) [MODE_BFS]: Likewise.
21684 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21685 (grub_afs_fs): Use GRUB_AFS_FSNAME
21686 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21687 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21688 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21689 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21690
21691 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21692
21693 * util/getroot.c (find_root_device): Add support for MacOSX.
21694 * util/hostdisk.c: Likewise.
21695
21696 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21697
21698 * font/font.c (find_glyph): Check whether a font is present to avoid
21699 segmentation fault.
21700
21701 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
21702
21703 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21704
21705 2009-07-20 Pavel Roskin <proski@gnu.org>
21706
21707 * configure.ac: Trim excessively wordy excuses.
21708
21709 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21710
21711 Add symlink, mtime and label support to AtheFS.
21712
21713 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21714 (grub_afs_iterate_dir): Handle symlinks.
21715 (grub_afs_open): Use grub_afs_read_symlink.
21716 (grub_afs_dir): Likewise.
21717 Pass mtime.
21718 (grub_afs_label): New function.
21719 (grub_afs_fs): Add grub_afs_label.
21720 (grub_afs_read_symlink): New function.
21721
21722 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21723
21724 Fix AtheFS support.
21725
21726 * fs/afs.c: Fix comments style.
21727 (grub_afs_blockrun): Declare as packed.
21728 (grub_afs_datastream): Likewise.
21729 (grub_afs_bnode): Likewise.
21730 (grub_afs_btree): Likewise.
21731 (grub_afs_sblock): Likewise.
21732 Declare `name' as char.
21733 (grub_afs_inode): Declare as packed.
21734 Change void *vnode to grub_uint32_t unused.
21735 (grub_afs_iterate_dir): Check that key_size is positive.
21736 (grub_afs_mount): Don't read superblock twice.
21737 (grub_afs_dir): Don't free node in case of error,
21738 grub_fshelp_find_file already handles this.
21739 (grub_afs_open): Likewise.
21740
21741 2009-07-19 Pavel Roskin <proski@gnu.org>
21742
21743 * Makefile.in: Remove LIBLZO and enable_lzo.
21744 * conf/i386-pc.rmk: Remove lzo support.
21745 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
21746 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
21747 support.
21748 * kern/i386/pc/lzo1x.S: Remove.
21749 * kern/i386/pc/startup.S: Remove lzo support.
21750 * util/i386/pc/grub-mkimage.c: Likewise.
21751
21752 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
21755 * fs/xfs.c (grub_xfs_dir): Likewise.
21756 * fs/afs.c (grub_afs_dir): Likewise.
21757 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
21758 (grub_iso9660_open): Likewise.
21759 * fs/jfs.c (grub_jfs_open): Likewise.
21760 * fs/ext2.c (grub_ext2_dir): Likewise.
21761 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
21762 * script/sh/lexer.c (grub_script_yylex): Likewise.
21763
21764 2009-07-16 Pavel Roskin <proski@gnu.org>
21765
21766 * configure.ac: Never add "-c" to CFLAGS.
21767
21768 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
21769
21770 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
21771 grub_cv_cc_efiemu should be used.
21772
21773 * configure.ac: Typo fixes.
21774
21775 * kern/mm.c (grub_zalloc): New function.
21776 (grub_debug_zalloc): Likewise.
21777 * include/grub/mm.h: Declare grub_zalloc() and
21778 grub_debug_zalloc().
21779 * util/misc.c (grub_zalloc): New function.
21780 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
21781 instead of grub_malloc(), remove unneeded initializations.
21782 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
21783 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
21784 * commands/parttool.c (grub_cmd_parttool): Likewise.
21785 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21786 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
21787 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
21788 * disk/usbms.c (grub_usbms_finddevs): Likewise.
21789 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
21790 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
21791 (grub_cmd_efiemu_pnvram): Likewise.
21792 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
21793 * fs/iso9660.c (grub_iso9660_mount): Likewise.
21794 (grub_iso9660_iterate_dir): Likewise.
21795 * fs/jfs.c (grub_jfs_opendir): Likewise.
21796 * fs/ntfs.c (list_file): Likewise.
21797 (grub_ntfs_mount): Likewise.
21798 * kern/disk.c (grub_disk_open): Likewise.
21799 * kern/dl.c (grub_dl_load_core): Likewise.
21800 * kern/elf.c (grub_elf_file): Likewise.
21801 * kern/env.c (grub_env_context_open): Likewise.
21802 (grub_env_set): Likewise.
21803 (grub_env_set_data_slot): Likewise.
21804 * kern/file.c (grub_file_open): Likewise.
21805 * kern/fs.c (grub_fs_blocklist_open): Likewise.
21806 * loader/i386/multiboot.c (grub_module): Likewise.
21807 * loader/xnu.c (grub_xnu_create_key): Likewise.
21808 (grub_xnu_create_value): Likewise.
21809 * normal/main.c (grub_normal_add_menu_entry): Likewise.
21810 (read_config_file): Likewise.
21811 * normal/menu_entry.c (make_screen): Likewise.
21812 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21813 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
21814 * script/sh/script.c (grub_script_parse): Likewise.
21815 * video/bitmap.c (grub_video_bitmap_create): Likewise.
21816 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
21817 * video/readers/png.c (grub_png_output_byte): Likewise.
21818 (grub_video_reader_png): Likewise.
21819
21820 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 Enable all targets that can be built by default
21823
21824 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
21825 grub-mkfont and grub-fstest if they can be built
21826
21827 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21828
21829 Fix hang and segmentation fault in grub-emu-usb
21830
21831 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
21832 * util/usb.c (grub_libusb_devices): likewise
21833 (grub_libusb_init): rename to ...
21834 (GRUB_MOD_INIT (libusb)):...this
21835 (grub_libusb_fini): rename to ..
21836 (GRUB_MOD_FINI (libusb)):...this
21837 * disk/usbms.c (grub_usbms_transfer): fix retry logic
21838 * include/grub/disk.h (grub_raid_init): removed, it's useless
21839 (grub_raid_fini): likewise
21840 (grub_lvm_init): likewise
21841 (grub_lvm_fini): likewise
21842 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
21843 by grub_init_all
21844
21845 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21846
21847 Fix libusb
21848
21849 * Makefile.in (LIBUSB): new macro
21850 * genmk.rb (Utility/print_tail): new method
21851 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
21852 (top level): call util.print_tail at the end.
21853
21854 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21855
21856 Make FreeBSD accept zpool.cache
21857
21858 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
21859 type is /boot/zfs/zpool.cache
21860
21861 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 Fix 64-bit efiemu
21864
21865 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
21866 correct wrong typedef
21867 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
21868
21869 2009-07-15 Pavel Roskin <proski@gnu.org>
21870
21871 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
21872 * kern/disk.c (struct grub_disk_cache): Likewise.
21873
21874 * commands/probe.c (options): Typo fix.
21875
21876 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
21877 Increase to 0x5a to accommodate FAT32. Adjust other offsets
21878 accordingly.
21879 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
21880
21881 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
21882 the end of "Error" to make the message more readable.
21883
21884 * boot/i386/pc/boot.S (kernel_segment): Remove.
21885 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
21886 for destination.
21887
21888 * boot/i386/pc/boot.S (boot_version): Remove.
21889 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
21890 Remove.
21891
21892 * include/grub/i386/pc/boot.h: Sort all offsets.
21893 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
21894 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
21895 * boot/i386/pc/boot.S: Assert location of every offset listed in
21896 include/grub/i386/pc/boot.h.
21897
21898 2009-07-13 Pavel Roskin <proski@gnu.org>
21899
21900 * include/grub/i386/coreboot/machine.h: Rename
21901 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
21902 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
21903 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
21904
21905 * kern/dl.c: Force native word size to suppress warnings when
21906 compiling grub-emu.
21907
21908 * kern/device.c (grub_device_iterate): Change struct part_ent to
21909 hold the name, not a pointer to it. Use one grub_malloc() per
21910 partition, not two. Free partition_name if grub_malloc() fails.
21911 Set ents to NULL only before grub_partition_iterate() is called.
21912
21913 2009-07-11 Bean <bean123ch@gmail.com>
21914
21915 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
21916 childname.
21917
21918 2009-07-10 Bean <bean123ch@gmail.com>
21919 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
21920
21921 * kern/ieee1275/openfw.c (grub_children_iterate)
21922 (grub_devalias_iterate): Fix size evaluation for property or path
21923 strings, which was broken since r2132.
21924
21925 2009-07-07 Pavel Roskin <proski@gnu.org>
21926
21927 * commands/search.c (search_file): Merge into ...
21928 (search_fs): ... this. Accept search type as argument.
21929 (grub_cmd_search): Pass search type to search_fs().
21930
21931 * include/grub/util/console.h: New file.
21932 * util/console.c: Use it instead of grub/machine/console.h.
21933 * util/grub-emu.c: Likewise.
21934
21935 * lib/arg.c (find_long_option): Remove.
21936 (find_long): Add `len' argument, make `s' const char *.
21937 (grub_arg_parse): Parse long options in place, not in a
21938 temporary buffer.
21939
21940 2009-07-06 Pavel Roskin <proski@gnu.org>
21941
21942 * commands/search.c (search_fs): Fix potential NULL pointer
21943 dereference.
21944
21945 * commands/search.c (search_fs): Replace QUID macro with quid_fn
21946 function pointer.
21947
21948 2009-07-06 Daniel Mierswa <impulze@impulze.org>
21949
21950 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
21951 comparison.
21952
21953 2009-07-05 Pavel Roskin <proski@gnu.org>
21954
21955 * include/grub/i386/linux.h (struct linux_kernel_params):
21956 Restore padding3, it's still needed.
21957
21958 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
21959 FreeBSD.
21960 * util/osdetect.lua: Likewise.
21961
21962 2009-07-05 Bean <bean123ch@gmail.com>
21963
21964 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
21965
21966 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
21967 (grub_lua_getenv): Likewise.
21968 (grub_lua_setenv): Likewise.
21969 (save_errno): New function.
21970 (push_result): Likewise.
21971 (grub_lua_enum_device): Likewise.
21972 (grub_lua_enum_file): Likewise.
21973 (grub_lua_file_open): Likewise.
21974 (grub_lua_file_close): Likewise.
21975 (grub_lua_file_seek): Likewise.
21976 (grub_lua_file_read): Likewise.
21977 (grub_lua_file_getline): Likewise.
21978 (grub_lua_file_getsize): Likewise.
21979 (grub_lua_file_getpos): Likewise.
21980 (grub_lua_file_eof): Likewise.
21981 (grub_lua_file_exist): Likewise.
21982 (grub_lua_add_menu): Likewise.
21983
21984 * script/lua/grub_lua.h (isupper): New inline function.
21985 (islower): Likewise.
21986 (ispunct): Likewise.
21987 (isxdigit): Likewise.
21988 (strcspn): Change to normal function.
21989 (strpbkr): New function declaration.
21990 (memchr): Likewise.
21991
21992 * script/lua/grub_main.c (scan_str): New function.
21993 (strcspn): Likewise.
21994 (strpbrk): Likewise.
21995 (memchr): Likewise.
21996
21997 * script/lua/linit.c (lualibs): Enable the string library.
21998
21999 * util/osdetect.lua: New file.
22000
22001 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
22002
22003 * include/grub/i386/linux.h (struct linux_kernel_params): Add
22004 `capabilities' member.
22005
22006 2009-07-02 Pavel Roskin <proski@gnu.org>
22007
22008 * genparttoollist.sh: Add missing newline at the end.
22009
22010 2009-07-01 Pavel Roskin <proski@gnu.org>
22011
22012 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
22013
22014 * util/hostdisk.c (open_device): Remove `const' from
22015 `sysctl_size', as sysctlbyname() can change it (in this case it
22016 doesn't actually happen).
22017
22018 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
22019 using signed long int constants.
22020
22021 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
22022 constant to avoid a warning on FreeBSD.
22023
22024 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
22025 where it's needed.
22026
22027 * Makefile.in: Install include/grub/machine symlink.
22028
22029 * Makefile.in: When installing symlinks, use "cp -fR", which
22030 works on FreeBSD and MacOSX.
22031 From Yves Blusseau <cl7m42e02@sneakemail.com>
22032
22033 * kern/dl.c (grub_dl_resolve_symbol): Make static.
22034 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
22035
22036 * util/misc.c: Move grub_reboot() and grub_halt() ...
22037 * util/grub-emu.c: ... here. Make main_env static.
22038 * include/grub/util/misc.h: Remove main_env.
22039
22040 * kern/mm.c: Use correct format to print size_t.
22041
22042 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
22043 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
22044 * kern/powerpc/dl.c: Likewise.
22045 * kern/sparc64/dl.c: Likewise.
22046 * kern/x86_64/dl.c: Likewise.
22047
22048 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22049
22050 Fix grub-emu build on sparc64-ieee1275.
22051
22052 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
22053 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
22054
22055 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22056
22057 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
22058 (grub_reboot, grub_halt): New functions.
22059
22060 * util/i386/pc/misc.c: Delete. Update all users.
22061 * util/sparc64/ieee1275/misc.c: Likewise.
22062 * util/powerpc/ieee1275/misc.c: Likewise.
22063
22064 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22065
22066 * conf/i386.rmk (setjmp_mod_SOURCES)
22067 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22068 * conf/common.rmk (setjmp_mod_SOURCES)
22069 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22070 to use $(target_cpu).
22071 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22072 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22073 * conf/powerpc-ieee1275.rmk: Likewise.
22074 * conf/sparc64-ieee1275.rmk: Likewise.
22075
22076 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22077 $(target_cpu) for kern/$(target_cpu)/dl.c.
22078 * conf/i386-efi.rmk: Likewise.
22079 * conf/i386-ieee1275.rmk: Likewise.
22080 * conf/x86_64-efi.rmk: Likewise.
22081 * conf/i386-coreboot.rmk: Likewise.
22082 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22083 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22084 kern/$(target_cpu)/cache.S.
22085 * conf/sparc64-ieee1275.rmk: Likewise.
22086
22087 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22088
22089 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22090 type to `grub_uint8_t', and adjust `padding9' accordingly.
22091
22092 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22093
22094 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22095
22096 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22097 assembly in final jump, using register constraints.
22098
22099 (grub_linux_boot): For text mode, initialize `have_vga' using
22100 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22101
22102 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22103 right before the final jump.
22104
22105 Set `video_mode' to 0x3.
22106
22107 Document initialization of `video_page', `video_mode' and
22108 `video_ega_bx'.
22109
22110 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22111
22112 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22113 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22114 and set GRUB_LINUX_FLAG_QUIET appropriately.
22115
22116 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22117
22118 Fix build on Debian / sparc.
22119
22120 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22121
22122 2009-06-28 Pavel Roskin <proski@gnu.org>
22123
22124 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22125 fix a warning.
22126
22127 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22128
22129 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22130
22131 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22132 `err'.
22133
22134 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22135
22136 Revert r2338.
22137
22138 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22139 file can't be opened. grub_file_open() is already supposed to set
22140 grub_errno / grub_errmsg appropriately.
22141 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22142
22143 2009-06-27 Pavel Roskin <proski@gnu.org>
22144 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22145
22146 * include/grub/dl.h: Include grub/elf.h.
22147 (struct grub_dl): Add symtab field.
22148 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22149 GRUB_MODULES_MACHINE_READONLY.
22150 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22151 of the header for read-only modules.
22152 (grub_dl_unload): Free mod->symtab for read-only modules.
22153 * kern/i386/dl.c: Use mod->symtab.
22154 * kern/powerpc/dl.c: Likewise.
22155 * kern/sparc64/dl.c: Likewise.
22156 * kern/x86_64/dl.c: Likewise.
22157
22158 * conf/i386-qemu.rmk: New file.
22159 * kern/i386/qemu/startup.S: Likewise.
22160 * kern/i386/qemu/mmap.c: Likewise.
22161 * boot/i386/qemu/boot.S: Likewise.
22162 * include/grub/i386/qemu/time.h: Likewise.
22163 * include/grub/i386/qemu/serial.h: Likewise.
22164 * include/grub/i386/qemu/kernel.h: Likewise.
22165 * include/grub/i386/qemu/console.h: Likewise.
22166 * include/grub/i386/qemu/boot.h: Likewise.
22167 * include/grub/i386/qemu/init.h: Likewise.
22168 * include/grub/i386/qemu/machine.h: Likewise.
22169 * include/grub/i386/qemu/loader.h: Likewise.
22170 * include/grub/i386/qemu/memory.h: Likewise.
22171
22172 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22173 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22174 [qemu] (pkglib_IMAGES): Add `boot.img'.
22175 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22176 [qemu] (boot_img_FORMAT): New variables.
22177 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22178 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22179 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22180 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22181 [qemu] (kernel_img_FORMAT): New variables.
22182
22183 * configure.ac: Recognise `i386-qemu'.
22184
22185 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22186 (for no compression).
22187 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22188 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22189 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22190 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22191 ifdefs).
22192
22193 2009-06-27 Pavel Roskin <proski@gnu.org>
22194
22195 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22196 read.
22197 * efiemu/prepare32.c: Likewise.
22198 * efiemu/prepare64.c: Likewise.
22199
22200 2009-06-26 Pavel Roskin <proski@gnu.org>
22201
22202 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22203 * include/grub/elf.h: Define symbols without "32" or "64" based
22204 on GRUB_TARGET_WORDSIZE.
22205 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22206 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22207 ELF definitions.
22208 * efiemu/loadcore64.c: Likewise.
22209 * loader/i386/bsd32.c: Likewise.
22210 * loader/i386/bsd64.c: Likewise.
22211 * kern/dl.c: Remove own ELF definitions.
22212 * util/i386/efi/grub-mkimage.c: Likewise.
22213
22214 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22215
22216 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22217 segment 0x0 unconditionally, because the reference generated by
22218 GAS is an absolute address.
22219
22220 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22221
22222 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22223 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22224
22225 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22226
22227 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22228 indexes. Check for -f explicitly.
22229 (search_file): Improve error message.
22230 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22231
22232 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22233
22234 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22235 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22236
22237 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22238
22239 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22240 * conf/i386-ieee1275.rmk: Likewise.
22241 * conf/i386-coreboot.rmk: Likewise.
22242
22243 * kern/i386/pc/startup.S (grub_stop): Remove function.
22244 * kern/i386/ieee1275/startup.S: Likewise.
22245 * kern/i386/coreboot/startup.S: Likewise.
22246 * kern/i386/misc.S (grub_stop): New function.
22247
22248 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22249
22250 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22251 * kern/i386/realmode.S (real_to_prot): ... to here.
22252
22253 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22254
22255 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22256 with `kernel.img'.
22257 (kernel_elf_SOURCES): Rename to ...
22258 (kernel_img_SOURCES): ... this.
22259 (kernel_elf_HEADERS): Rename to ...
22260 (kernel_img_HEADERS): ... this. Update all users.
22261 (kernel_elf_ASFLAGS): Rename to ...
22262 (kernel_img_ASFLAGS): ... this.
22263 (kernel_elf_CFLAGS): Rename to ...
22264 (kernel_img_CFLAGS): ... this.
22265 (kernel_elf_LDFLAGS): Rename to ...
22266 (kernel_img_LDFLAGS): ... this.
22267 * conf/i386-coreboot.rmk: Likewise.
22268 * conf/powerpc-ieee1275.rmk: Likewise.
22269
22270 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22271 with "kernel.img".
22272
22273 2009-06-21 Pavel Roskin <proski@gnu.org>
22274
22275 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22276 to match nested functions.
22277 * loader/sparc64/ieee1275/linux.c: Likewise.
22278
22279 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22280
22281 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22282
22283 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22284 all i386 platforms.
22285
22286 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22287
22288 Fix asm file handling on ELF, and remove workarounds.
22289
22290 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
22291 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
22292 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22293 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22294
22295 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22296
22297 Load BSD ELF modules
22298
22299 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22300 and loader/i386/bsd64.c
22301 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22302 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22303 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22304 (grub_freebsd_load_elfmodule32): New declaration
22305 (grub_freebsd_load_elfmoduleobj64): Likewise
22306 (grub_freebsd_load_elf_meta32): Likewise
22307 (grub_freebsd_load_elf_meta64): Likewise
22308 (grub_freebsd_add_meta): Likewise
22309 (grub_freebsd_add_meta_module): Likewise
22310 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22311 (grub_freebsd_add_meta_module): Likewise and move module-specific
22312 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22313 (grub_cmd_freebsd): Add elf-kernel specific parts
22314 based on grub_freebsd_add_meta_module
22315 (grub_cmd_freebsd_module): Add type parsing moved from
22316 grub_freebsd_add_meta_module
22317 (grub_cmd_freebsd_module_elf): New function
22318 (cmd_freebsd_module_elf): New variable
22319 (GRUB_MOD_INIT): Register freebsd_module_elf
22320 * loader/i386/bsd32.c: New file
22321 * loader/i386/bsd64.c: Likewise
22322 * loader/i386/bsdXX.c: Likewise
22323 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22324 (grub_elf64_load): Likewise
22325 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22326 All users updated
22327 (grub_elf64_load_hook_t): Likewise
22328
22329 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
22330
22331 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22332 variable.
22333 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22334 don't write a menu entry for recovery mode.
22335
22336 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22337
22338 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22339 after it's no longer needed.
22340
22341 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22342
22343 * include/grub/i386/loader.h (grub_linux_prot_size)
22344 (grub_linux_tmp_addr, grub_linux_real_addr)
22345 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22346 GRUB_MACHINE_PCBIOS.
22347 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22348 common grub_util_info() call to ...
22349 (generate_image): ... here.
22350 Fix use of uninitialized memory, comparison of signed with
22351 unsigned integers and memory leak.
22352 Remove bogus module address message.
22353
22354 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22355
22356 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22357 grub_raid_register
22358 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22359
22360 2009-06-19 Pavel Roskin <proski@gnu.org>
22361
22362 * configure.ac: Remove stray AC_MSG_CHECKING.
22363
22364 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 * disk/scsi.c (grub_scsi_open): use continue instead of big if
22367
22368 2009-06-18 Pavel Roskin <proski@gnu.org>
22369
22370 * conf/common.rmk: Add fs_file.mod.
22371 * disk/fs_file.c: New file.
22372 * include/grub/disk.h (enum grub_disk_dev_id): Add
22373 GRUB_DISK_DEVICE_FILE_ID.
22374
22375 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22376
22377 Fix build with Apple's toolchain. Part 2
22378
22379 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22380 a fake start
22381
22382 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22383
22384 Fix build with Apple's toolchain. Part 1
22385
22386 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22387 for long calls
22388 * configure.ac: remove a leftover AC_MSG_RESULT
22389 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
22390 Apple's toolchain
22391
22392 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22393
22394 Fix warnings
22395
22396 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22397 (decomp_block): initialize ch
22398 use grub_memcpy instead of memcpy
22399
22400 2009-06-17 Pavel Roskin <proski@gnu.org>
22401
22402 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22403 version, use declarations needed to use vga_text as the startup
22404 console.
22405
22406 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22407 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22408 the kernel.
22409 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22410 and grub_at_keyboard_fini(), it's done on module load and
22411 unload.
22412
22413 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
22414
22415 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22416 file can't be found.
22417 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22418
22419 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22420
22421 Fix newline handling
22422
22423 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
22424 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
22425 (grub_script_yylex): don't segfault on unterminated script
22426 newline terminates command and variable
22427
22428 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22429
22430 avoid double grub_adjust_range call. Bug reported by David Simner
22431
22432 * kern/disk.c (grub_disk_write): change to raw disk access before
22433 calling disk_read
22434
22435 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
22436
22437 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22438 spaces, for the benefit of help2man.
22439 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22440
22441 2009-06-16 Pavel Roskin <proski@gnu.org>
22442
22443 * kern/i386/halt.c: Include grub/machine/init.h.
22444 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22445
22446 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
22447
22448 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22449 drivemap menuentry.
22450
22451 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22452
22453 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22454 `echo' command.
22455
22456 2009-06-16 Pavel Roskin <proski@gnu.org>
22457
22458 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22459 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22460 save %dx, we only need %dl and we never change it.
22461 * boot/i386/pc/cdboot.S: Don't set the root drive.
22462 * boot/i386/pc/pxeboot.S: Likewise.
22463 * include/grub/i386/pc/boot.h: Remove
22464 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22465 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22466 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22467 * kern/i386/pc/init.c (make_install_device): Remove references
22468 to grub_root_drive.
22469 * kern/i386/pc/startup.S: Likewise.
22470 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22471
22472 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 xnu_uuid command
22475
22476 * commands/xnu_uuid.c: new file
22477 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22478 (xnu_uuid_mod_SOURCES): new variable
22479 (xnu_uuid_mod_CFLAGS): likewise
22480 (xnu_uuid_mod_LDFLAGS): likewise
22481 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22482 * conf/i386-ieee1275.rmk: likewise
22483 * conf/i386-pc.rmk: likewise
22484 * conf/powerpc-ieee1275.rmk: likewise
22485 * conf/sparc64-ieee1275.rmk: likewise
22486 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22487
22488 2009-06-16 Pavel Roskin <proski@gnu.org>
22489
22490 * configure.ac: Avoid '==' in test command, it's not portable.
22491
22492 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22493
22494 Probe command
22495
22496 * commands/probe.c: new file
22497 * conf/common.rmk (pkglib_MODULES): add probe.mod
22498 (probe_mod_SOURCES): new variable
22499 (probe_mod_CFLAGS): likewise
22500 (probe_mod_LDFLAGS): likewise
22501 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22502 * conf/i386-ieee1275.rmk: likewise
22503 * conf/i386-pc.rmk: likewise
22504 * conf/powerpc-ieee1275.rmk: likewise
22505 * conf/sparc64-ieee1275.rmk: likewise
22506
22507 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22508
22509 Fix handling of string like \"hello\" and "a
22510 b"
22511
22512 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22513 (grub_script_yylex): fix parsing of quoting, escaping and newline
22514
22515 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22516
22517 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
22518 handling
22519
22520 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
22521
22522 * util/grub-mkconfig.in: Fix parsing of --output option.
22523
22524 2009-06-12 Pavel Roskin <proski@gnu.org>
22525
22526 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22527 genmk.rb don't need to be generated or installed.
22528
22529 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22530
22531 * commands/i386/pc/drivemap_int13h.S: add more comments
22532
22533 2009-06-11 Pavel Roskin <proski@gnu.org>
22534
22535 * Makefile.in (uninstall): Uninstall manuals.
22536
22537 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22538 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22539 and update-grub_lib in two places.
22540 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22541
22542 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22543 a compiler warning.
22544
22545 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22546 `entry_lo' to fix variable shadowing.
22547
22548 2009-06-11 Christian Franke <franke@computer.org>
22549
22550 * kern/misc.c (__enable_execute_stack): Add missing return type
22551 to prevent gcc warning.
22552
22553 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22554
22555 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22556
22557 2009-06-11 Pavel Roskin <proski@gnu.org>
22558
22559 * Makefile.in: Don't rely on any scripts being executable.
22560 Always use $(SHELL) to run shell scripts.
22561
22562 * configure.ac: Always define ___main if using -nostdlib. This
22563 fixes tests on Cygwin.
22564
22565 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22566
22567 UDF fix
22568
22569 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
22570 is in bytes and not in blocks
22571
22572 2009-06-11 Pavel Roskin <proski@gnu.org>
22573
22574 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22575 warning.
22576
22577 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22578
22579 * util/grub.d/30_os-prober.in: Fix a comment. Source
22580 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22581 to set the root device. Place drivemap command in the generated
22582 chain entry.
22583
22584 2009-06-11 Pavel Roskin <proski@gnu.org>
22585
22586 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22587 have long been resolved.
22588
22589 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
22590
22591 * util/grub.d/10_linux.in: Capitalise "Linux".
22592
22593 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22594
22595 2009-06-11 Pavel Roskin <proski@gnu.org>
22596
22597 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22598 fix a gcc warning and ensure that the function won't ever exit.
22599
22600 * kern/i386/ieee1275/init.c: Add missing prototype for
22601 grub_stop_floppy().
22602
22603 * loader/ieee1275/multiboot2.c [__i386__]: Include
22604 grub/cpu/multiboot.h.
22605
22606 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22607 casts to short - they are not portable and cause warnings. Fix
22608 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22609
22610 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22611
22612 Drivemap fixes
22613
22614 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22615 new function
22616 (grub_get_root_biosnumber_saved): new variable
22617 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22618 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
22619 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
22620 %dx after the call if necessary
22621 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22622 (boot_mod_SOURCES): remove
22623 (boot_mod_CFLAGS): remove
22624 (boot_mod_LDFLAGS): remove
22625 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22626 (boot_mod_SOURCES): new variable
22627 (boot_mod_CFLAGS): likewise
22628 (boot_mod_LDFLAGS): likewise
22629 * conf/i386-efi.rmk: likewise
22630 * conf/i386-ieee1275.rmk: likewise
22631 * conf/i386-pc.rmk: likewise
22632 * conf/powerpc-ieee1275.rmk: likewise
22633 * conf/sparc64-ieee1275.rmk: likewise
22634 * conf/x86_64-efi.rmk: likewise
22635 * include/grub/i386/pc/biosnum.h: new file
22636 * lib/i386/pc/biosnum.c: likewise
22637 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22638 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22639 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
22640
22641 2009-06-10 Pavel Roskin <proski@gnu.org>
22642
22643 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22644 Use separate variables. Read only the file size at the end, but
22645 not the checksum that we don't use.
22646
22647 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22648 Adjust all callers.
22649
22650 * kern/ieee1275/openfw.c: Remove libc includes.
22651 * kern/ieee1275/cmain.c: Likewise.
22652 * include/grub/ieee1275/ieee1275.h: Likewise.
22653
22654 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22655 compiler warnings.
22656
22657 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
22658
22659 * Makefile.in: Remove all trailing whitespace.
22660 * conf/i386-pc.rmk: Likewise.
22661 * conf/powerpc-ieee1275.rmk: Likewise.
22662 * conf/sparc64-ieee1275.rmk: Likewise.
22663 * docs/grub.texi: Likewise.
22664 * docs/texinfo.tex: Likewise.
22665 * disk/fs_uuid.c: Likewise.
22666 * disk/lvm.c: Likewise.
22667 * disk/scsi.c: Likewise.
22668 * disk/ata.c: Likewise.
22669 * disk/ieee1275/ofdisk.c: Likewise.
22670 * disk/i386/pc/biosdisk.c: Likewise.
22671 * disk/host.c: Likewise.
22672 * disk/raid.c: Likewise.
22673 * disk/efi/efidisk.c: Likewise.
22674 * disk/usbms.c: Likewise.
22675 * disk/memdisk.c: Likewise.
22676 * disk/loopback.c: Likewise.
22677 * kern/powerpc/dl.c: Likewise.
22678 * kern/device.c: Likewise.
22679 * kern/dl.c: Likewise.
22680 * kern/sparc64/dl.c: Likewise.
22681 * kern/ieee1275/ieee1275.c: Likewise.
22682 * kern/term.c: Likewise.
22683 * kern/fs.c: Likewise.
22684 * kern/i386/dl.c: Likewise.
22685 * kern/i386/pc/startup.S: Likewise.
22686 * kern/i386/pc/init.c: Likewise.
22687 * kern/i386/pc/mmap.c: Likewise.
22688 * kern/i386/pc/lzo1x.S: Likewise.
22689 * kern/i386/ieee1275/init.c: Likewise.
22690 * kern/i386/realmode.S: Likewise.
22691 * kern/i386/tsc.c: Likewise.
22692 * kern/partition.c: Likewise.
22693 * kern/corecmd.c: Likewise.
22694 * kern/file.c: Likewise.
22695 * kern/efi/efi.c: Likewise.
22696 * kern/efi/init.c: Likewise.
22697 * kern/efi/mm.c: Likewise.
22698 * kern/main.c: Likewise.
22699 * kern/err.c: Likewise.
22700 * kern/env.c: Likewise.
22701 * kern/disk.c: Likewise.
22702 * kern/generic/millisleep.c: Likewise.
22703 * kern/generic/rtc_get_time_ms.c: Likewise.
22704 * kern/misc.c: Likewise.
22705 * kern/parser.c: Likewise.
22706 * genmk.rb: Likewise.
22707 * configure.ac: Likewise.
22708 * boot/i386/pc/diskboot.S: Likewise.
22709 * boot/i386/pc/pxeboot.S: Likewise.
22710 * boot/i386/pc/boot.S: Likewise.
22711 * boot/i386/pc/lnxboot.S: Likewise.
22712 * boot/i386/pc/cdboot.S: Likewise.
22713 * parttool/pcpart.c: Likewise.
22714 * video/readers/tga.c: Likewise.
22715 * video/video.c: Likewise.
22716 * video/bitmap.c: Likewise.
22717 * lib/envblk.c: Likewise.
22718 * lib/i386/setjmp.S: Likewise.
22719 * fs/xfs.c: Likewise.
22720 * fs/afs.c: Likewise.
22721 * fs/fat.c: Likewise.
22722 * fs/ntfs.c: Likewise.
22723 * fs/udf.c: Likewise.
22724 * fs/affs.c: Likewise.
22725 * fs/iso9660.c: Likewise.
22726 * fs/hfs.c: Likewise.
22727 * fs/fshelp.c: Likewise.
22728 * fs/ext2.c: Likewise.
22729 * fs/jfs.c: Likewise.
22730 * fs/reiserfs.c: Likewise.
22731 * fs/hfsplus.c: Likewise.
22732 * fs/minix.c: Likewise.
22733 * fs/cpio.c: Likewise.
22734 * fs/sfs.c: Likewise.
22735 * fs/ufs.c: Likewise.
22736 * efiemu/prepare.c: Likewise.
22737 * efiemu/loadcore_common.c: Likewise.
22738 * efiemu/runtime/efiemu.sh: Likewise.
22739 * efiemu/runtime/efiemu.S: Likewise.
22740 * efiemu/runtime/efiemu.c: Likewise.
22741 * efiemu/pnvram.c: Likewise.
22742 * efiemu/main.c: Likewise.
22743 * efiemu/i386/pc/cfgtables.c: Likewise.
22744 * efiemu/i386/loadcore64.c: Likewise.
22745 * efiemu/i386/loadcore32.c: Likewise.
22746 * efiemu/loadcore.c: Likewise.
22747 * efiemu/symbols.c: Likewise.
22748 * efiemu/mm.c: Likewise.
22749 * include/grub/autoefi.h: Likewise.
22750 * include/grub/datetime.h: Likewise.
22751 * include/grub/term.h: Likewise.
22752 * include/grub/hfs.h: Likewise.
22753 * include/grub/lvm.h: Likewise.
22754 * include/grub/i386/tsc.h: Likewise.
22755 * include/grub/i386/linux.h: Likewise.
22756 * include/grub/i386/xnu.h: Likewise.
22757 * include/grub/i386/efiemu.h: Likewise.
22758 * include/grub/i386/pc/biosdisk.h: Likewise.
22759 * include/grub/i386/pc/memory.h: Likewise.
22760 * include/grub/i386/pc/vbe.h: Likewise.
22761 * include/grub/parttool.h: Likewise.
22762 * include/grub/video.h: Likewise.
22763 * include/grub/memory.h: Likewise.
22764 * include/grub/fs.h: Likewise.
22765 * include/grub/partition.h: Likewise.
22766 * include/grub/xnu.h: Likewise.
22767 * include/grub/efi/api.h: Likewise.
22768 * include/grub/efi/pe32.h: Likewise.
22769 * include/grub/efi/memory.h: Likewise.
22770 * include/grub/multiboot.h: Likewise.
22771 * include/grub/usbdesc.h: Likewise.
22772 * include/grub/multiboot2.h: Likewise.
22773 * include/grub/acpi.h: Likewise.
22774 * include/grub/efiemu/efiemu.h: Likewise.
22775 * include/grub/disk.h: Likewise.
22776 * include/grub/ieee1275/ieee1275.h: Likewise.
22777 * include/grub/net.h: Likewise.
22778 * include/grub/machoload.h: Likewise.
22779 * include/grub/macho.h: Likewise.
22780 * include/multiboot.h: Likewise.
22781 * genmoddep.awk: Likewise.
22782 * normal/main.c: Likewise.
22783 * normal/menu_entry.c: Likewise.
22784 * normal/menu_viewer.c: Likewise.
22785 * normal/completion.c: Likewise.
22786 * normal/cmdline.c: Likewise.
22787 * normal/misc.c: Likewise.
22788 * normal/datetime.c: Likewise.
22789 * bus/usb/usbtrans.c: Likewise.
22790 * bus/usb/ohci.c: Likewise.
22791 * bus/usb/uhci.c: Likewise.
22792 * bus/usb/usb.c: Likewise.
22793 * mmap/efi/mmap.c: Likewise.
22794 * mmap/i386/pc/mmap_helper.S: Likewise.
22795 * mmap/i386/pc/mmap.c: Likewise.
22796 * mmap/i386/mmap.c: Likewise.
22797 * mmap/i386/uppermem.c: Likewise.
22798 * mmap/mmap.c: Likewise.
22799 * commands/acpi.c: Likewise.
22800 * commands/echo.c: Likewise.
22801 * commands/blocklist.c: Likewise.
22802 * commands/loadenv.c: Likewise.
22803 * commands/usbtest.c: Likewise.
22804 * commands/boot.c: Likewise.
22805 * commands/parttool.c: Likewise.
22806 * commands/search.c: Likewise.
22807 * commands/cat.c: Likewise.
22808 * commands/i386/pc/play.c: Likewise.
22809 * commands/i386/pc/drivemap.c: Likewise.
22810 * commands/i386/pc/vbeinfo.c: Likewise.
22811 * commands/i386/pc/acpi.c: Likewise.
22812 * commands/i386/pc/vbetest.c: Likewise.
22813 * commands/ls.c: Likewise.
22814 * commands/cmp.c: Likewise.
22815 * commands/test.c: Likewise.
22816 * commands/efi/acpi.c: Likewise.
22817 * commands/gptsync.c: Likewise.
22818 * commands/help.c: Likewise.
22819 * partmap/amiga.c: Likewise.
22820 * partmap/apple.c: Likewise.
22821 * partmap/acorn.c: Likewise.
22822 * partmap/pc.c: Likewise.
22823 * partmap/sun.c: Likewise.
22824 * partmap/gpt.c: Likewise.
22825 * script/sh/lexer.c: Likewise.
22826 * script/sh/function.c: Likewise.
22827 * font/font.c: Likewise.
22828 * font/font_cmd.c: Likewise.
22829 * loader/powerpc/ieee1275/linux.c: Likewise.
22830 * loader/efi/chainloader.c: Likewise.
22831 * loader/multiboot_loader.c: Likewise.
22832 * loader/macho.c: Likewise.
22833 * loader/i386/multiboot.c: Likewise.
22834 * loader/i386/linux.c: Likewise.
22835 * loader/i386/pc/linux.c: Likewise.
22836 * loader/i386/pc/multiboot2.c: Likewise.
22837 * loader/i386/pc/chainloader.c: Likewise.
22838 * loader/i386/pc/xnu.c: Likewise.
22839 * loader/i386/bsd_trampoline.S: Likewise.
22840 * loader/i386/efi/linux.c: Likewise.
22841 * loader/i386/multiboot_elfxx.c: Likewise.
22842 * loader/i386/bsd_helper.S: Likewise.
22843 * loader/i386/bsd.c: Likewise.
22844 * loader/i386/linux_trampoline.S: Likewise.
22845 * loader/i386/xnu_helper.S: Likewise.
22846 * loader/i386/xnu.c: Likewise.
22847 * loader/i386/bsd_pagetable.c: Likewise.
22848 * loader/i386/multiboot_helper.S: Likewise.
22849 * loader/xnu.c: Likewise.
22850 * loader/xnu_resume.c: Likewise.
22851 * io/gzio.c: Likewise.
22852 * term/efi/console.c: Likewise.
22853 * term/terminfo.c: Likewise.
22854 * term/ieee1275/ofconsole.c: Likewise.
22855 * term/i386/pc/serial.c: Likewise.
22856 * term/i386/pc/vesafb.c: Likewise.
22857 * term/i386/pc/vga.c: Likewise.
22858 * term/usb_keyboard.c: Likewise.
22859 * term/gfxterm.c: Likewise.
22860 * aclocal.m4: Likewise.
22861 * util/lvm.c: Likewise.
22862 * util/grub.d/30_os-prober.in: Likewise.
22863 * util/grub.d/10_hurd.in: Likewise.
22864 * util/console.c: Likewise.
22865 * util/grub-macho2img.c: Likewise.
22866 * util/grub-probe.c: Likewise.
22867 * util/hostfs.c: Likewise.
22868 * util/i386/pc/grub-mkimage.c: Likewise.
22869 * util/i386/pc/grub-setup.c: Likewise.
22870 * util/i386/efi/grub-mkimage.c: Likewise.
22871 * util/grub-mkconfig.in: Likewise.
22872 * util/raid.c: Likewise.
22873 * util/resolve.c: Likewise.
22874 * util/grub-mkdevicemap.c: Likewise.
22875 * util/grub-emu.c: Likewise.
22876 * util/getroot.c: Likewise.
22877 * util/hostdisk.c: Likewise.
22878 * util/usb.c: Likewise.
22879 * util/grub-editenv.c: Likewise.
22880 * util/misc.c: Likewise.
22881
22882 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
22883
22884 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
22885 `genparttoollist.sh'.
22886 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
22887 Add `*.sh' to the list find searches for and change `mdate.sh'
22888 to `mdate-sh'.
22889
22890 2009-06-10 Pavel Roskin <proski@gnu.org>
22891
22892 * include/grub/multiboot2.h: Provide compatibility defines for
22893 multiboot2.h.
22894 * include/multiboot2.h: Include stdint.h only if needed, using
22895 angle brackets.
22896 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
22897 grub/multiboot2.h.
22898 * loader/ieee1275/multiboot2.c: Likewise.
22899 * loader/multiboot2.c: Likewise.
22900 * loader/multiboot_loader.c: Likewise.
22901
22902 * configure.ac: Use -nostdlib when probing for the target. It
22903 should not be required to have libc for the target.
22904
22905 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
22906 they fail without libc headers for the target.
22907 * include/grub/powerpc/libgcc.h: Use weak attribute for all
22908 exports.
22909 * include/grub/sparc64/libgcc.h: Likewise. Don't use
22910 preprocessor conditionals.
22911
22912 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
22913 build system doesn't need to be aware of the tar.c internals.
22914
22915 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
22916
22917 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
22918
22919 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
22920
22921 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
22922 disk limit to 26 for IDE, Virtio, Xen and SCSI.
22923
22924 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
22925
22926 * util/i386/pc/grub-install.in: Change the error message if UUIDs
22927 aren't available if ata.mod gets used.
22928
22929 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
22930
22931 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
22932 initialising controller.
22933 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22934
22935 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
22936
22937 * util/i386/pc/grub-install.in: Add a parameter --disk-module
22938 to choose between ata and biosdisk module on i386-pc.
22939
22940 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
22941
22942 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
22943 Subclass and Programming Interface fields in terms of the 3 byte
22944 Class Code register.
22945 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22946
22947 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
22948 interface is OHCI. Add grub_dprintf for symmetry with
22949 bus/usb/uhci.c.
22950 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
22951 interface is UHCI. Add interf variable for programming
22952 interface. Print interface with class/subclass.
22953
22954 * bus/usb/ohci.c: Set interf with correct field.
22955
22956 * bus/usb/uhci.c: Remove unneeded doubled lines.
22957 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
22958 Remove whitespace inside comment.
22959
22960 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
22961
22962 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
22963 as fallback an equivalent option without depth.
22964
22965 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22966
22967 Not fail if unable to retrieve C/H/S on LBA disks
22968
22969 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
22970 if unable to retrieve C/H/S on LBA disks
22971
22972 2009-06-08 Pavel Roskin <proski@gnu.org>
22973
22974 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
22975 about aliasing.
22976
22977 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
22978
22979 * Makefile.in (uninstall): Remove all $lib_DATA files.
22980
22981 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22982
22983 Bugfix: install on partitionless device
22984
22985 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
22986 is a whole disk
22987
22988 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
22989
22990 * Makefile.in (uninstall): Remove all $include_DATA files.
22991
22992 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
22993
22994 * commands/true.c: New file. Implement the true and false commands.
22995 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
22996 (true_mod_SOURCES): New variable.
22997 (true_mod_CFLAGS): Likewise.
22998 (true_mod_LDFLAGS): Likewise.
22999
23000 2009-06-05 Colin D Bennett <colin@gibibit.com>
23001
23002 Optimized font character lookup using binary search instead of linear
23003 search. Fonts now are required to have the character index ordered by
23004 code point.
23005
23006 * font/font.c (load_font_index): Verify that fonts have ordered
23007 character indices.
23008 (find_glyph): Use binary search instead of linear search to find a
23009 character in a font.
23010
23011 2009-06-05 Michael Scherer <misc@mandriva.org>
23012
23013 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
23014 uses case sensitive btree.
23015 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
23016 only for case insensitive filesystems.
23017
23018 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
23019
23020 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
23021 * conf/common.rmk (search_mod_CFLAGS): likewise
23022
23023 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23024
23025 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
23026 compensate a compiler bug
23027
23028 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23029
23030 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
23031 instead of '\b'
23032
23033 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23034
23035 Definitions for creating asm symbols with Apple's CC
23036
23037 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
23038 [APPLE_CC] (VARIABLE): likewise
23039
23040 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23041
23042 Disable lnxboot.img when compiled
23043 with Apple's CC
23044
23045 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
23046 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
23047 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
23048 [! APPLE_CC] (CODE_LENG): skip
23049 [! APPLE_CC] (setup_sects): likewise
23050 [! APPLE_CC]: skip filling
23051
23052 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23053
23054 Address in trampolines based on 32-bit registers when compiled
23055 with Apple's CC
23056
23057 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
23058 for addresses
23059 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23060
23061 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23062
23063 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23064
23065 * kern/misc.c [APPLE_CC] (memcpy): new function
23066 [APPLE_CC] (memmove): likewise
23067 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23068 (memcpy): define alias conditionally on !APPLE_CC
23069 (memset): likewise
23070 (abort): likewise
23071 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23072 APPLE_CC are defined
23073 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23074 (grub_assert_fail): make prototype conditional
23075
23076 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23077
23078 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23079
23080 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23081 grub-macho2img
23082 (CLEANFILES): add grub-macho2img
23083 (grub_macho2img_SOURCES): new variable
23084 * kern/i386/pc/startup.S (bss_start): new variable
23085 (bss_end): likewise
23086 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23087 * util/grub-macho2img.c: new file
23088
23089 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23090
23091 Use objconv when compiling with Apple's CC
23092
23093 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23094 (efiemu64.o): likewise
23095 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23096 when compiling with Apple's CC
23097 (efiemu64_s.o): likewise
23098 * configure.ac: check for objconv when compiling with Apple's CC
23099 * genmk.rb: use objconv for modules when compiled with Apple's CC
23100
23101 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23102
23103 Define segment as well as section when compiling with
23104 Apple's CC
23105
23106 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23107 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23108 (efiemu_convert_pointer): likewise
23109 (efiemu_set_virtual_address_map): likewise
23110 (efiemu_convert_pointer): likewise
23111 (efiemu_getcrc32): likewise
23112 (init_crc32_table): likewise
23113 (reflect): likewise
23114 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23115 (GRUB_MOD_DEP): likewise
23116
23117 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23118
23119 Allow a compilation without -mcmodel=large
23120
23121 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23122 when compiled without -mcmodel=large
23123 (filter_memory_map): remove memory post 4 GiB when compiled
23124 without -mcmodel=large
23125 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23126 TARGET_CFLAGS when -mcmodel=large isn't supported
23127
23128 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23129
23130 Remove nested functions in efiemu core
23131
23132 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23133
23134 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23135
23136 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23137
23138 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23139 temporary storage
23140 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23141 using Apple's CC
23142 (grub_cpu_is_tsc_supported): likewise
23143 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23144
23145 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23146
23147 Absolute addressing through constant with Apple's cc
23148
23149 * kern/i386/pc/startup.S: Define necessary constants
23150 and address through it when using ABS with Apple's CC
23151 * boot/i386/pc/diskboot.S: likewise
23152 * boot/i386/pc/boot.S: likewise
23153 * boot/i386/pc/lnxboot.S: likewise
23154 * boot/i386/pc/cdboot.S: likewise
23155 * mmap/i386/pc/mmap_helper.S: likewise
23156 * commands/i386/pc/drivemap_int13h.S: likewise
23157
23158 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23159
23160 Check if compiler is apple cc
23161
23162 * Makefile.in (ASFLAGS): new variable
23163 (TARGET_ASFLAGS): likewise
23164 (TARGET_MODULE_FORMAT): likewise
23165 (TARGET_APPLE_CC): likewise
23166 (OBJCONV): likewise
23167 (TARGET_IMG_CFLAGS): likewise
23168 (TARGET_CPPFLAGS): add includedir
23169 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23170 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23171 Check for linker script only if compiler isn't Apple's CC
23172 (TARGET_MODULE_FORMAT): set
23173 (TARGET_APPLE_CC): likewise
23174 (TARGET_ASFLAGS): likewise
23175 (ASFLAGS): likewise
23176 Check for objcopy only if compiler isn't Apple's CC
23177 Check for BSS symbol only if compiler isn't Apple's CC
23178 * genmk.rb: adapt nm options if we use Apple's utils
23179 * aclocal.m4 (grub_apple_cc): new test
23180 (grub_apple_target_cc): likewise
23181
23182 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23183
23184 Simplify sed expressions and improve awk
23185
23186 * Makefile.in (install-local): simplify sed expression
23187 * gencmdlist.sh: likewise
23188 * genmoddep.awk: avoid adding module as a dependency of itself
23189
23190 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23191
23192 Add missing start symbols
23193
23194 * boot/i386/pc/boot.S: add start
23195 * boot/i386/pc/pxeboot.S: likewise
23196
23197 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23198
23199 Fix wrong assumptions with grub-mkimage on EFI
23200
23201 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23202 (relocate_addresses): consider both r_addend and value at offset
23203 (make_mods_section): zerofill modinfo and header
23204 (convert_elf): write prefix here
23205
23206 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23207
23208 Use .asciz instead of .string
23209
23210 * i386/pc/diskboot.S: use .asciz instead of .string
23211 * i386/pc/boot.S: likewise
23212 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23213 (GRUB_MOD_NAME): likewise
23214
23215 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23216
23217 gfxpayload support
23218
23219 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23220 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23221 (grub_video_setup): remove
23222 (grub_video_set_mode): new prototype
23223 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23224 (vid_mode): remove
23225 (linux_vesafb_res): compile only on PCBIOS
23226 (grub_linux_boot): support gfxpayload
23227 * loader/i386/pc/xnu.c (video_hook): new function
23228 (grub_xnu_set_video): support gfxpayload
23229 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23230 (DEFAULT_VIDEO_HEIGHT): likewise
23231 (DEFAULT_VIDEO_FLAGS): likewise
23232 (DEFAULT_VIDEO_MODE): new definition
23233 (video_hook): new function
23234 (grub_gfxterm_init): use grub_video_set_mode
23235 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23236 loading xnu
23237 * video/video.c (grub_video_setup): removed
23238 (grub_video_set_mode): new function based on grub_gfxterm_init and
23239 grub_video_setup
23240
23241 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23242
23243 Avoid calling biosdisk in drivemap
23244
23245 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23246 (revparse_biosdisk): likewise
23247 (list_mappings): derive name from id directly
23248 (grub_cmd_drivemap): use tryparse_diskstring
23249
23250 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23251
23252 Script fixes
23253
23254 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23255 (grub_lexer_param): add tokenonhold
23256 (grub_script_create_cmdline): remove cmdline. All callers updated
23257 (grub_script_function_create): make functionname
23258 grub_script_arg. All callers updated
23259 (grub_script_execute_argument_to_string): new prototype
23260 * kern/parser.c (state_transitions): reorder
23261 (grub_parser_cmdline_state): fix a bug and make more compact
23262 * script/sh/execute.c (grub_script_execute_argument_to_string):
23263 make global
23264 (grub_script_execute_cmdline): use new format
23265 * script/sh/function.c (grub_script_function_create): make functionname
23266 grub_script_arg. All callers updated
23267 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
23268 (grub_script_yylex): remove
23269 (grub_script_yylex2): renamed to ...
23270 (grub_script_yylex): ...renamed
23271 parse the expressions like a${b}c
23272 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23273 (GRUB_PARSER_TOKEN_VAR): remove
23274 (GRUB_PARSER_TOKEN_NAME): likewise
23275 ("if"): declare as typeless
23276 ("while"): likewise
23277 ("function"): likewise
23278 ("else"): likewise
23279 ("then"): likewise
23280 ("fi"): likewise
23281 (text): remove
23282 (argument): likewise
23283 (script): accept empty scripts and make exit on error
23284 (arguments): use GRUB_PARSER_TOKEN_ARG
23285 (function): likewise
23286 (command): move error handling to script
23287 (menuentry): move grub_script_lexer_ref before
23288 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
23289 argument. All callers updated
23290
23291 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23292
23293 Prevent GRUB from probing floppies during boot.
23294
23295 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23296 * commands/search.c (options): Add --no-floppy.
23297 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23298 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23299 --no-floppy when searching for UUIDs.
23300
23301 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23302
23303 Simplify the code duplication in commands/search.c.
23304
23305 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23306 (search_fs): ... this. Update all users.
23307
23308 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
23309
23310 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23311
23312 2009-05-28 Pavel Roskin <proski@gnu.org>
23313
23314 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23315 Remove the original symlink explicitly.
23316
23317 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23318 just one slash. That's how grub_fshelp_find_file() does it.
23319
23320 2009-05-26 Pavel Roskin <proski@gnu.org>
23321
23322 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23323 to `str'.
23324
23325 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23326 possibly unused.
23327
23328 2009-05-25 Christian Franke <franke@computer.org>
23329
23330 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23331 register.
23332 (grub_atapi_identify): Add wait after drive select.
23333 (grub_ata_identify): Do more strict status register check before
23334 calling grub_atapi_identify (). Suppress error message if status
23335 register is 0x00 after command failure. Add status register
23336 check after PIO read to avoid bogus identify due to stuck DRQ.
23337 Thanks to Pavel Roskin for testing.
23338 (grub_device_initialize): Remove unsafe status register check.
23339 Thanks to 'phcoder' for problem report and patch.
23340 Prevent sign extension in debug message.
23341
23342 2009-05-23 Colin D Bennett <colin@gibibit.com>
23343
23344 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23345 definition file, and functions defined in `normal/menu.c' have had
23346 their prototypes moved to `include/grub/menu.h' for consistency.
23347
23348 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23349 from normal.h.
23350 (grub_menu_get_entry): Likewise.
23351 (grub_menu_get_timeout): Likewise.
23352 (grub_menu_set_timeout): Likewise.
23353 (grub_menu_execute_entry): Likewise.
23354 (grub_menu_execute_with_fallback): Likewise.
23355 (grub_menu_entry_run): Likewise.
23356
23357 * include/grub/normal.h: Re-ordered and grouped function
23358 prototypes by file that the function is defined in.
23359 (grub_menu_execute_callback): Removed; moved to menu.h.
23360 (grub_menu_get_entry): Likewise.
23361 (grub_menu_get_timeout): Likewise.
23362 (grub_menu_set_timeout): Likewise.
23363 (grub_menu_execute_entry): Likewise.
23364 (grub_menu_execute_with_fallback): Likewise.
23365 (grub_menu_entry_run): Likewise.
23366 (grub_menu_addentry): Renamed from this ...
23367 (grub_normal_add_menu_entry): ... to this.
23368
23369 * normal/main.c (grub_menu_addentry): Renamed from this ...
23370 (grub_normal_add_menu_entry): ... to this.
23371
23372 * script/sh/execute.c (grub_script_execute_menuentry): Update
23373 reference to renamed grub_menu_addentry function.
23374
23375 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
23376
23377 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23378
23379 2009-05-22 Pavel Roskin <proski@gnu.org>
23380
23381 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23382 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23383 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23384 compiling for the i386 targets, but not for the utilities.
23385
23386 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23387 to grub_uint8_t.
23388 (grub_root_drive): Likewise.
23389 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23390 remove alignment.
23391 (grub_root_drive): Change size to byte.
23392 (grub_start_addr): Remove.
23393 (grub_end_addr): Likewise.
23394 (grub_apm_bios_info): Likewise.
23395
23396 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
23397
23398 * normal/i386: Remove.
23399 * normal/powerpc: Likewise.
23400 * normal/sparc64: Likewise.
23401 * normal/x86_64: Likewise.
23402
23403 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23404
23405 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
23406 * loader/i386/linux_trampoline.S: Fix indentation
23407 * loader/i386/xnu_helper.S: Likewise
23408
23409 2009-05-18 Colin D Bennett <colin@gibibit.com>
23410
23411 Display error messages when parsing a Lua statement fails.
23412 Previously, executing a syntactically invalid statement like
23413 ")foo" or "bar;" would silently fail.
23414
23415 * script/lua/grub_main.c (handle_lua_error): New function.
23416 (grub_lua_parse_line): Improved reporting of Lua parser and
23417 execution errors.
23418
23419 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23420
23421 Remove -Werror which causes build to fail on some systems
23422
23423 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23424 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23425 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
23426
23427 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23428
23429 trampoline for linux on 64-bit platform
23430
23431 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23432 loader/i386/efi/linux_trampoline.S
23433 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
23434 declaration
23435 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23436 here
23437 * loader/i386/linux_trampoline.S: moved here
23438 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23439 trampoline
23440 (jumpvector): removed
23441 (grub_linux_trampoline_start): new declaration
23442 (grub_linux_trampoline_end): likewise
23443 (grub_linux_boot): use trampoline when on 64-bit platform
23444 * loader/i386/linux.c: likewise
23445
23446 2009-05-16 Pavel Roskin <proski@gnu.org>
23447
23448 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23449 const to avoid a warning.
23450 (grub_lua_setenv): Likewise.
23451 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23452 lmsg to fix a warning.
23453
23454 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23455
23456 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
23457 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23458 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23459 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23460 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23461 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23462 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23463 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23464
23465 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23466
23467 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23468
23469 2009-05-16 Bean <bean123ch@gmail.com>
23470
23471 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23472 (lua_mod_SOURCES): New variable.
23473 (lua_mod_CFLAGS): Likewise.
23474 (lua_mod_LDFLAGS): Likewise.
23475
23476 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23477 (setjmp_mod_SOURCES): New variable.
23478 (setjmp_mod_CFLAGS): Likewise.
23479 (setjmp_LDFLAGS): Likewise.
23480
23481 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23482 (setjmp_mod_SOURCES): New variable.
23483 (setjmp_mod_CFLAGS): Likewise.
23484 (setjmp_LDFLAGS): Likewise.
23485
23486 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23487 (setjmp_mod_SOURCES): New variable.
23488 (setjmp_mod_CFLAGS): Likewise.
23489 (setjmp_LDFLAGS): Likewise.
23490
23491 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23492 (setjmp_mod_SOURCES): New variable.
23493 (setjmp_mod_CFLAGS): Likewise.
23494 (setjmp_LDFLAGS): Likewise.
23495
23496 * normal/i386/setjmp.S: Moved from here ...
23497 * lib/i386/setjmp.S: ... Moved here
23498 * normal/x86_64/setjmp.S: Moved from here ...
23499 * lib/x86_64/setjmp.S: ... Moved here
23500 * normal/powerpc/setjmp.S: Moved from here ...
23501 * lib/powerpc/setjmp.S: ... Moved here
23502 * normal/sparc64/setjmp.S: Moved from here ...
23503 * lib/sparc64/setjmp.S: ... Moved here
23504
23505 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23506 returns_twice in mingw.
23507
23508 * script/lua/grub_lib.c: New file.
23509 * script/lua/grub_lib.h: Likewise.
23510 * script/lua/grub_lua.h: Likewise.
23511 * script/lua/grub_main.c: Likewise.
23512 * script/lua/lapi.c: Likewise.
23513 * script/lua/lapi.h: Likewise.
23514 * script/lua/lauxlib.c: Likewise.
23515 * script/lua/lauxlib.h: Likewise.
23516 * script/lua/lbaselib.c: Likewise.
23517 * script/lua/lcode.c: Likewise.
23518 * script/lua/lcode.h: Likewise.
23519 * script/lua/ldblib.c: Likewise.
23520 * script/lua/ldebug.c: Likewise.
23521 * script/lua/ldebug.h: Likewise.
23522 * script/lua/ldo.c: Likewise.
23523 * script/lua/ldo.h: Likewise.
23524 * script/lua/ldump.c: Likewise.
23525 * script/lua/lfunc.c: Likewise.
23526 * script/lua/lfunc.h: Likewise.
23527 * script/lua/lgc.c: Likewise.
23528 * script/lua/lgc.h: Likewise.
23529 * script/lua/linit.c: Likewise.
23530 * script/lua/liolib.c: Likewise.
23531 * script/lua/llex.c: Likewise.
23532 * script/lua/llex.h: Likewise.
23533 * script/lua/llimits.h: Likewise.
23534 * script/lua/lmathlib.c: Likewise.
23535 * script/lua/lmem.c: Likewise.
23536 * script/lua/lmem.h: Likewise.
23537 * script/lua/loadlib.c: Likewise.
23538 * script/lua/lobject.c: Likewise.
23539 * script/lua/lobject.h: Likewise.
23540 * script/lua/lopcodes.c: Likewise.
23541 * script/lua/lopcodes.h: Likewise.
23542 * script/lua/loslib.c: Likewise.
23543 * script/lua/lparser.c: Likewise.
23544 * script/lua/lparser.h: Likewise.
23545 * script/lua/lstate.c: Likewise.
23546 * script/lua/lstate.h: Likewise.
23547 * script/lua/lstring.c: Likewise.
23548 * script/lua/lstring.h: Likewise.
23549 * script/lua/lstrlib.c: Likewise.
23550 * script/lua/ltable.c: Likewise.
23551 * script/lua/ltable.h: Likewise.
23552 * script/lua/ltablib.c: Likewise.
23553 * script/lua/ltm.c: Likewise.
23554 * script/lua/ltm.h: Likewise.
23555 * script/lua/lua.h: Likewise.
23556 * script/lua/luaconf.h: Likewise.
23557 * script/lua/lualib.h: Likewise.
23558 * script/lua/lundump.c: Likewise.
23559 * script/lua/lundump.h: Likewise.
23560 * script/lua/lvm.c: Likewise.
23561 * script/lua/lvm.h: Likewise.
23562 * script/lua/lzio.c: Likewise.
23563 * script/lua/lzio.h: Likewise.
23564
23565 2009-05-16 Bean <bean123ch@gmail.com>
23566
23567 * include/grub/kernel.h (grub_module_header_types): Add type
23568 OBJ_TYPE_CONFIG.
23569
23570 * kern/main.c (grub_load_config): New function.
23571 (grub_main): Call grub_load_config to read boot config.
23572
23573 * grub-mkimage (generate_image): New parameter config_path.
23574 (options): New option --config.
23575 (main): Parse --config option, and pass it to generate_image.
23576
23577 2009-05-14 Christian Franke <franke@computer.org>
23578
23579 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23580 This fixes build on Cygwin.
23581
23582 2009-05-14 Pavel Roskin <proski@gnu.org>
23583
23584 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23585 jump. This saves two bytes, so the typical case of 2 swapped
23586 drives would fit 32 bytes.
23587
23588 2009-05-13 Pavel Roskin <proski@gnu.org>
23589
23590 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23591 grub_uint32_t to avoid a warning.
23592
23593 * loader/i386/linux.c (allocate_pages): When assigning
23594 real_mode_mem, cast through grub_size_t to fix a warning. The
23595 code already makes sure that the value would fit a pointer.
23596 (grub_linux_setup_video): Cast render_target->data to
23597 grub_size_t to fix a warning.
23598
23599 2009-05-13 Javier Martín <lordhabbit@gmail.com>
23600
23601 * commands/i386/pc/drivemap.c: New file - implement drivemap
23602 command.
23603 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23604 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23605
23606 2009-05-13 Pavel Roskin <proski@gnu.org>
23607
23608 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23609 embedding_area_exists.
23610
23611 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23612
23613 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23614 it easier to understand / work with.
23615 Improve warning messages for cases where there's no embedding area,
23616 or when it is too small (or core.img too large).
23617
23618 2009-05-13 Pavel Roskin <proski@gnu.org>
23619
23620 * loader/i386/pc/multiboot2.c: Add necessary includes for
23621 grub_multiboot2_real_boot().
23622
23623 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23624 PX record is always little-endian. We only need the lower 2
23625 bytes of the mode.
23626
23627 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23628 facilitate code reuse.
23629 (grub_cpio_mount): Use "struct head", not a char buffer. This
23630 fixes a warning reported by gcc 4.4.
23631
23632 * kernel/disk.c (grub_disk_read): Use void pointer for the
23633 buffer.
23634 (grub_disk_write): Use const void pointer for the buffer.
23635 Adjust all callers. Remove unnecessary casts.
23636
23637 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23638
23639 * util/i386/pc/grub-install.in: Update copyright year.
23640
23641 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23642
23643 gptsync
23644
23645 * commands/gptsync.c: new file
23646 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23647 (gptsync_mod_SOURCES): new variable
23648 (gptsync_mod_CFLAGS): likewise
23649 (gptsync_mod_LDFLAGS): likewise
23650 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
23651 new definition
23652 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23653 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23654 * conf/i386-ieee1275.rmk: likewise
23655 * conf/i386-pc.rmk: likewise
23656 * conf/powerpc-ieee1275.rmk: likewise
23657
23658 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23659
23660 Fixed grub-emu
23661
23662 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23663 (grub_dl_ref): likewise
23664
23665 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23666
23667 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23668 split in two functions (one for msdos and one for gpt).
23669
23670 2009-05-08 Pavel Roskin <proski@gnu.org>
23671
23672 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23673 not modified.
23674
23675 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23676 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23677 Initialize them with -1. Add sanity check for bad1. Eliminate
23678 nerr variable.
23679
23680 2009-05-08 David S. Miller <davem@davemloft.net>
23681
23682 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23683
23684 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23685
23686 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
23687 existence.
23688
23689 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
23690
23691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23692 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
23693
23694 2009-05-05 David S. Miller <davem@davemloft.net>
23695
23696 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23697
23698 2009-05-05 Pavel Roskin <proski@gnu.org>
23699
23700 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23701 of grub_dl_ref() and grub_dl_unref().
23702 * commands/parttool.c: Remove preprocessor conditionals around
23703 grub_dl_ref() and grub_dl_unref().
23704 * fs/affs.c: Likewise.
23705 * fs/afs.c: Likewise.
23706 * fs/cpio.c: Likewise.
23707 * fs/ext2.c: Likewise.
23708 * fs/fat.c: Likewise.
23709 * fs/hfs.c: Likewise.
23710 * fs/hfsplus.c: Likewise.
23711 * fs/iso9660.c: Likewise.
23712 * fs/jfs.c: Likewise.
23713 * fs/minix.c: Likewise.
23714 * fs/ntfs.c: Likewise.
23715 * fs/reiserfs.c: Likewise.
23716 * fs/sfs.c: Likewise.
23717 * fs/udf.c: Likewise.
23718 * fs/ufs.c: Likewise.
23719 * fs/xfs.c: Likewise.
23720 * include/grub/dl.h: Likewise.
23721 * loader/xnu.c: Likewise.
23722
23723 2009-05-04 Pavel Roskin <proski@gnu.org>
23724
23725 * commands/acpi.c: Remove unused variable my_mod.
23726 * partmap/amiga.c: Likewise.
23727 * partmap/apple.c: Likewise.
23728 * partmap/gpt.c: Likewise.
23729 * partmap/pc.c: Likewise.
23730 * partmap/sun.c: Likewise.
23731 * term/gfxterm.c: Likewise.
23732 * term/i386/pc/vesafb.c: Likewise.
23733 * term/i386/pc/vga.c: Likewise.
23734
23735 2009-05-04 David S. Miller <davem@davemloft.net>
23736
23737 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
23738 pointer args to grub_ieee1275_get_property().
23739
23740 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
23741
23742 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
23743 devices, and do not traverse down under controller nodes.
23744
23745 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
23746 (grub_ofdisk_open): Use it to un-escape "," characters.
23747 * kern/disk.c (find_part_sep): New.
23748 (grub_disk_open): Use it to find the first non-escaped ','
23749 character in the disk name.
23750 * util/ieee1275/devicemap.c (escape_of_path): New.
23751 (grub_util_emit_devicemap_entry): Use it.
23752 * util/sparc64/ieee1275/grub-install.in: Update script to
23753 strip partition specifiers properly by not triggering on
23754 '\' escaped ',' characters.
23755
23756 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23757
23758 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
23759 to 0x300.
23760 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
23761 resolutions.
23762 (linux_vesafb_modes): Add a lot of additional modes to the list (based
23763 on documentation from Wikipedia).
23764
23765 2009-05-04 Pavel Roskin <proski@gnu.org>
23766
23767 * disk/ata.c: Spelling fixes.
23768 * disk/raid.c: Likewise.
23769 * disk/usbms.c: Likewise.
23770 * disk/dmraid_nvidia.c: Likewise.
23771 * kern/ieee1275/openfw.c: Likewise.
23772 * kern/ieee1275/init.c: Likewise.
23773 * kern/ieee1275/cmain.c: Likewise.
23774 * boot/i386/pc/cdboot.S: Likewise.
23775 * video/readers/png.c: Likewise.
23776 * video/i386/pc/vbe.c: Likewise.
23777 * fs/udf.c: Likewise.
23778 * fs/hfs.c: Likewise.
23779 * fs/reiserfs.c: Likewise.
23780 * efiemu/runtime/efiemu.c: Likewise.
23781 * efiemu/main.c: Likewise.
23782 * efiemu/mm.c: Likewise.
23783 * include/grub/elf.h: Likewise.
23784 * include/grub/xnu.h: Likewise.
23785 * include/grub/usbdesc.h: Likewise.
23786 * include/grub/usb.h: Likewise.
23787 * include/grub/script_sh.h: Likewise.
23788 * include/grub/lib/LzmaEnc.h: Likewise.
23789 * include/grub/efiemu/efiemu.h: Likewise.
23790 * include/grub/command.h: Likewise.
23791 * normal/menu.c: Likewise.
23792 * normal/main.c: Likewise.
23793 * normal/datetime.c: Likewise.
23794 * bus/usb/uhci.c: Likewise.
23795 * mmap/i386/uppermem.c: Likewise.
23796 * mmap/mmap.c: Likewise.
23797 * commands/acpi.c: Likewise.
23798 * commands/test.c: Likewise.
23799 * partmap/apple.c: Likewise.
23800 * font/font.c: Likewise.
23801 * loader/sparc64/ieee1275/linux.c: Likewise.
23802 * loader/macho.c: Likewise.
23803 * loader/i386/bsd_trampoline.S: Likewise.
23804 * loader/i386/bsd.c: Likewise.
23805 * loader/xnu.c: Likewise.
23806 * term/i386/pc/vesafb.c: Likewise.
23807 * term/usb_keyboard.c: Likewise.
23808 * util/resolve.c: Likewise.
23809 * util/getroot.c: Likewise.
23810
23811 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
23812
23813 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
23814
23815 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23816
23817 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
23818 build error.
23819
23820 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23821
23822 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
23823 parameter only available on BIOS.
23824
23825 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23826
23827 Removed wrong semicolon in declaration
23828
23829 * grub/misc.h (grub_dprintf): remove semicolon
23830
23831 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23832
23833 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
23834 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
23835 is done by grub_cmd_linux() now).
23836 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
23837 restore video to text mode.
23838 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
23839 indicates lack of "vga=" parameter. "vga=0" is mapped to
23840 `GRUB_LINUX_VID_MODE_NORMAL'.
23841
23842 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
23843
23844 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
23845 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
23846 and `normal/script.c'. Add `kern/rescue_reader.c',
23847 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
23848 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
23849 `grub_script.tab.c'.
23850
23851 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23852 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23853 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23854 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23855 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23856
23857 * Makefile.in: Remove duplicated 2008 in Copyright line.
23858
23859 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23860
23861 * util/misc.c (grub_util_warn): New function. Emits a warning
23862 unconditionally.
23863 * include/grub/util/misc.h (grub_util_warn): New declaration.
23864
23865 * util/i386/pc/grub-install.in: Understand --force and pass it down
23866 to grub-setup.
23867
23868 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
23869 down to setup().
23870 (setup): Improve error messages and add warnings when requested to
23871 install in odd layouts. Refuse to install using blocklists unless
23872 --force was set.
23873
23874 2009-05-04 martin f. krafft <madduck@madduck.net>
23875
23876 * disk/raid.c (grub_raid_scan_device): Improve debug message.
23877
23878 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23879
23880 Updated copyright year
23881
23882 * fs/hfsplus.c: updated copyright year
23883
23884 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23885
23886 HFS+ UUID
23887
23888 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
23889 in the space previously used by unused3
23890 (grub_hfsplus_uuid): new function
23891 (grub_hfsplus_fs): added uuid field
23892
23893 2009-05-03 Pavel Roskin <proski@gnu.org>
23894
23895 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
23896 suppress warnings. It's no longer needed.
23897 * disk/host.c: Likewise.
23898 * disk/ata_pthru.c: Likewise.
23899 * disk/loopback.c: Likewise.
23900 * hook/datehook.c: Likewise.
23901 * parttool/pcpart.c: Likewise.
23902 * fs/i386/pc/pxe.c: Likewise.
23903 * fs/ntfscomp.c: Likewise.
23904 * efiemu/main.c: Likewise.
23905 * mmap/mmap.c: Likewise.
23906 * commands/crc.c: Likewise.
23907 * commands/hexdump.c: Likewise.
23908 * commands/hdparm.c: Likewise.
23909 * commands/acpi.c: Likewise.
23910 * commands/echo.c: Likewise.
23911 * commands/minicmd.c: Likewise.
23912 * commands/blocklist.c: Likewise.
23913 * commands/memrw.c: Likewise.
23914 * commands/loadenv.c: Likewise.
23915 * commands/usbtest.c: Likewise.
23916 * commands/lsmmap.c: Likewise.
23917 * commands/boot.c: Likewise.
23918 * commands/parttool.c: Likewise.
23919 * commands/configfile.c: Likewise.
23920 * commands/search.c: Likewise.
23921 * commands/ieee1275/suspend.c: Likewise.
23922 * commands/cat.c: Likewise.
23923 * commands/i386/pc/pxecmd.c: Likewise.
23924 * commands/i386/pc/play.c: Likewise.
23925 * commands/i386/pc/halt.c: Likewise.
23926 * commands/i386/pc/vbeinfo.c: Likewise.
23927 * commands/i386/pc/vbetest.c: Likewise.
23928 * commands/lspci.c: Likewise.
23929 * commands/date.c: Likewise.
23930 * commands/handler.c: Likewise.
23931 * commands/ls.c: Likewise.
23932 * commands/test.c: Likewise.
23933 * commands/cmp.c: Likewise.
23934 * commands/efi/loadbios.c: Likewise.
23935 * commands/efi/fixvideo.c: Likewise.
23936 * commands/halt.c: Likewise.
23937 * commands/help.c: Likewise.
23938 * commands/reboot.c: Likewise.
23939 * hello/hello.c: Likewise.
23940 * script/sh/main.c: Likewise.
23941 * loader/xnu.c: Likewise.
23942 * term/terminfo.c: Likewise.
23943 * term/i386/pc/serial.c: Likewise.
23944 * term/usb_keyboard.c: Likewise.
23945
23946 2009-05-03 David S. Miller <davem@davemloft.net>
23947
23948 * normal/menu.c: Include grub/parser.h
23949
23950 2009-05-03 Pavel Roskin <proski@gnu.org>
23951
23952 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
23953 not char*.
23954 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
23955 Suggested by Javier Martín <lordhabbit@gmail.com>
23956
23957 * util/i386/pc/grub-mkrescue.in: Allow for the case when
23958 efiemu??.o doesn't exist.
23959 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
23960 copying.
23961
23962 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
23963
23964 FreeBSD 64-bit support
23965
23966 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
23967 and loader/i386/bsd_trampoline.S
23968 (bsd_mod_ASFLAGS): new variable
23969 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
23970 (FREEBSD_MODTYPE_KERNEL64): likewise
23971 (grub_bsd64_trampoline_start): likewise
23972 (grub_bsd64_trampoline_end): likewise
23973 (grub_bsd64_trampoline_selfjump): likewise
23974 (grub_bsd64_trampoline_gdt): likewise
23975 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
23976 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
23977 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
23978 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
23979 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
23980 of "attrib" member
23981 * loader/i386/bsd_pagetable.c: new file
23982 * loader/i386/bsd_trampoline.S: likewise
23983 * loader/i386/bsd.c (ALIGN_QWORD): new macro
23984 (ALIGN_VAR): likewise
23985 (entry_hi): new variable
23986 (kern_end_mdofs): likewise
23987 (is_64bit): likewise
23988 (grub_freebsd_add_meta): use ALIGN_VAR
23989 (grub_e820_mmap): new declaration
23990 (grub_freebsd_add_mmap): new function
23991 (grub_freebsd_add_meta_module): support 64 bit kernels
23992 (grub_freebsd_list_modules): use ALIGN_VAR
23993 (gdt_descriptor): new declaration
23994 (grub_freebsd_boot): support 64 bit kernels
23995 (grub_bsd_elf64_hook): new function
23996 (grub_bsd_load_elf): support elf64
23997
23998 2009-05-03 Bean <bean123ch@gmail.com>
23999
24000 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
24001 after we get the result of if statement.
24002
24003 2009-05-03 Bean <bean123ch@gmail.com>
24004
24005 * Makefile.in (enable_efiemu): New variable.
24006
24007 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
24008 set.
24009 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
24010 path.
24011 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
24012 path, add -mno-red-zone option.
24013 (efiemu64_s.o): Likewise.
24014 (efiemu64.o): Use macro $^ for source file.
24015
24016 * configure.ac (--enable-efiemu): New option.
24017
24018 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
24019
24020 xnu support
24021
24022 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
24023 (pkglib_MODULES): add xnu.mod
24024 (xnu_mod_SOURCES): new variable
24025 (xnu_mod_CFLAGS): likewise
24026 (xnu_mod_LDFLAGS): likewise
24027 (xnu_mod_ASFLAGS): likewise
24028 * conf/i386-pc.rmk: likewise
24029 * conf/x86_64-efi.rmk: likewise
24030 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
24031 new declaration
24032 * include/grub/i386/macho.h: new file
24033 * include/grub/i386/xnu.h: likewise
24034 * include/grub/macho.h: likewise
24035 * include/grub/machoload.h: likewise
24036 * include/grub/x86_64/macho.h: likewise
24037 * include/grub/x86_64/xnu.h: likewise
24038 * include/grub/xnu.h: likewise
24039 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
24040 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
24041 * loader/i386/efi/xnu.c: new file
24042 * loader/i386/pc/xnu.c: likewise
24043 * loader/i386/xnu.c: likewise
24044 * loader/i386/xnu_helper.S: likewise
24045 * loader/macho.c: likewise
24046 * loader/xnu.c: likewise
24047 * loader/xnu_resume.c: likewise
24048 * util/grub-dumpdevtree: likewise
24049 * include/grub/i386/pit.h: include grub/err.h
24050 (grub_pit_wait): export
24051 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
24052
24053 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24054
24055 Efiemu
24056
24057 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
24058 _linux_efi, linux_efi.
24059 new files in grub-emu
24060 new targets efiemu32.o and efiemu64.o
24061 * loader/linux_normal_efiemu.c: likewise
24062 * loader/i386/efi/linux.c: added preliminary efiemu support
24063 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24064 files to copy
24065 * include/grub/autoefi.h: new file
24066 * include/grub/i386/efiemu.h: likewise
24067 * include/grub/i386/pc/efiemu.h: likewise
24068 * include/grub/efi/api.h: add LL suffix when necessary
24069 new definitions relating to tables
24070 * include/grub/efiemu/efiemu.h: new file
24071 * include/grub/efiemu/runtime.h: likewise
24072 * efiemu/prepare.c: likewise
24073 * efiemu/loadcore_common.c: likewise
24074 * efiemu/loadcore64.c: likewise
24075 * efiemu/runtime/efiemu.sh: likewise
24076 * efiemu/runtime/efiemu.S: likewise
24077 * efiemu/runtime/efiemu.c: likewise
24078 * efiemu/runtime/config.h: likewise
24079 * efiemu/prepare32.c: likewise
24080 * efiemu/main.c: likewise
24081 * efiemu/modules/pnvram.c: likewise
24082 * efiemu/modules/i386: likewise
24083 * efiemu/modules/i386/pc: likewise
24084 * efiemu/modules/acpi.c: likewise
24085 * efiemu/i386/pc/cfgtables.c: likewise
24086 * efiemu/i386/loadcore64.c: likewise
24087 * efiemu/i386/loadcore32.c: likewise
24088 * efiemu/prepare64.c: likewise
24089 * efiemu/loadcore.c: likewise
24090 * efiemu/symbols.c: likewise
24091 * efiemu/mm.c: likewise
24092 * efiemu/loadcore32.c: likewise
24093
24094 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24095
24096 ACPI spoofing
24097
24098 * commands/acpi.c: new file
24099 * commands/i386/pc/acpi.c: likewise
24100 * commands/efi/acpi.c: likewise
24101 * include/grub/acpi.h: likewise
24102 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24103 (acpi_mod_SOURCES): new variable
24104 (acpi_mod_CFLAGS): likewise
24105 (acpi_mod_LDFLAGS): likewise
24106 * conf/i386-efi.rmk: likewise
24107 * conf/x86_64-efi.rmk: likewise
24108
24109 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24110
24111 Missing part from mmap patch
24112
24113 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24114 (grub_mmap_unregister)
24115 (grub_mmap_free_and_unregister): use grub_mmap_register
24116
24117 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24118
24119 Mmap services
24120
24121 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24122 * loader/i386/linux.c (find_mmap_size): likewise
24123 (allocate_pages): likewise
24124 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24125 (grub_fill_multiboot_mmap): likewise
24126 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24127 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24128 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24129 (OPENBSD_MMAP_RESERVED): likewise
24130 * include/grub/i386/pc/memory.h: include grub/memory.h
24131 (grub_lower_mem): removed
24132 (grub_upper_mem): likewise
24133 (GRUB_MACHINE_MEMORY_ACPI): new definition
24134 (GRUB_MACHINE_MEMORY_NVS): likewise
24135 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24136 (GRUB_MACHINE_MEMORY_HOLE): likewise
24137 (grub_machine_mmap_register): likewise
24138 (grub_machine_mmap_unregister): likewise
24139 (grub_machine_get_upper): likewise
24140 (grub_machine_get_lower): likewise
24141 (grub_machine_get_post64): likewise
24142 * include/grub/i386/efi/memory.h: new file
24143 * include/grub/x86_64/efi/memory.h: likewise
24144 * include/grub/efi/memory.h: likewise
24145 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24146 (mmap_mod_SOURCES): new variable
24147 (mmap_mod_LDFLAGS): likewise
24148 (mmap_mod_ASFLAGS): likewise
24149 * conf/i386-coreboot.rmk: likewise
24150 * conf/i386-ieee1275.rmk: likewise
24151 * conf/i386-efi.rmk: likewise
24152 * conf/x86_64-efi.rmk: likewise
24153 * include/grub/types.h (UINT_TO_PTR): new macro
24154 (PTR_TO_UINT32): likewise
24155 (PTR_TO_UINT64): likewise
24156 * include/grub/memory.h: new file
24157 * mmap/i386/pc/mmap.c: likewise
24158 * mmap/i386/pc/mmap_helper.S: likewise
24159 * mmap/i386/uppermem.c: likewise
24160 * mmap/mmap.c: likewise
24161 * mmap/efi/mmap.c: likewise
24162 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24163 grub_upper_mem
24164 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24165 (grub_upper_mem): likewise
24166 (grub_machine_init): don't use grub_upper_mem,
24167 make grub_lower_mem local
24168 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24169 grub_mmap_iterate and grub_mmap_get_upper
24170 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24171
24172 2009-05-02 Bean <bean123ch@gmail.com>
24173
24174 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24175 script/sh/parser.y.
24176 (pkglib_MODULES): Add normal.mod and sh.mod.
24177 (normal_SOURCES): New variable.
24178 (normal_mod_CFLAGS): Likewise.
24179 (normal_mod_LDFLAGS): Likewise.
24180 (sh_mod_SOURCES): Likewise.
24181 (sh_mod_CFLAGS): Likewise.
24182 (sh_mod_LDFLAGS): Likewise.
24183
24184 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24185 script/sh/lexer.c_DEPENDENCIES.
24186 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24187 kern/rescue_reader.c and kern/rescue_parser.c.
24188 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24189 (grub_emu_SOURCES): Change source files.
24190 (pkglib_MODULES): Remove normal.mod.
24191 (normal_SOURCES): Removed.
24192 (normal_mod_CFLAGS): Likewise.
24193 (normal_mod_LDFLAGS): Likewise.
24194 * conf/i386-coreboot.rmk: Likewise.
24195 * conf/i386-efi.rmk: Likewise.
24196 * conf/i386-ieee1276.rmk: Likewise.
24197 * conf/powerpc-ieee1275.rmk: Likewise.
24198 * conf/sparc64-ieee1275.rmk: Likewise.
24199 * conf/x86_64-efi.rmk: Likewise.
24200
24201 * include/grub/command.h (grub_command_execute): New inline function.
24202
24203 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24204
24205 * include/grub/normal.h: Remove <grub/setjmp.h>.
24206 (grub_fs_module_list): Moved to normal/autofs.c.
24207 (grub_exit_env): Removed.
24208 (grub_command_execute): Likewise.
24209 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24210 parameter script.
24211 (read_command_list): New function declaration.
24212 (read_fs_list): Likewise.
24213
24214 * include/parser.h: Include <grub/reader.h>.
24215 (grub_parser_split_cmdline): Change type of getline parameter.
24216 (grub_parser): New structure.
24217 (grub_parser_class): New variable.
24218 (grub_parser_execute): New function declaration.
24219 (grub_register_rescue_parser): Likewise.
24220 (grub_parser_register): New inline function.
24221 (grub_parser_unregister): Likewise.
24222 (grub_parser_get_current): Likewise.
24223 (grub_parser_set_current): Likewise.
24224
24225 * include/grub/reader.h: New file.
24226 * kern/reader.c: Likewise.
24227 * kern/rescue_parser.c: Likewise.
24228 * kern/rescue_reader.c: Likewise.
24229 * normal/autofs.c: Likewise.
24230 * normal/dyncmd.c: Likewise.
24231
24232 * include/grub/rescue.h: Removed.
24233 * normal/command.h: Likewise.
24234
24235 * include/grub/script.h: Moved to ...
24236 * include/grub/script_sh.h: ... Moved here.
24237 * normal/execute.c: Moved to ...
24238 * script/sh/execute.c: ... Moved here.
24239 * normal/function.c: Moved to ...
24240 * script/sh/function.c: ... Moved here.
24241 * normal/lexer.c: Moved to ...
24242 * script/sh/lexer.c: ... Moved here.
24243 * normal/parser.y: Moved to ...
24244 * script/sh/parser.y: ... Moved here.
24245 * normal/script.c: Moved to ...
24246 * script/sh/script.c: ... Moved here.
24247
24248 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24249 <grub/reader.h>.
24250 (grub_exit_env): Removed.
24251 (fs_module_list): Moved to normal/autofs.c.
24252 (grub_file_getline): Don't handle comment here.
24253 (free_menu): Skip removed field entry->commands.
24254 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24255 script parameter.
24256 (read_config_file): Removed nested parameter, change getline function.
24257 (grub_enter_normal_mode): Removed.
24258 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24259 (read_command_list): Likewise.
24260 (autoload_fs_module): Moved to normal/autofs.c.
24261 (read_fs_list): Likewise.
24262 (reader_nested): New variable.
24263 (grub_normal_execute): Run parser.sh to switch to sh parser.
24264 (grub_cmd_rescue): Removed.
24265 (cmd_normal): Removed.
24266 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24267 rescue command.
24268 (grub_cmdline_run): New function.
24269 (grub_normal_reader_init): Likewise.
24270 (grub_normal_read_line): Likewise.
24271 (grub_env_write_pager): Likewise.
24272 (cmdline): New variable.
24273 (grub_normal_reader): Likewise.
24274 (GRUB_MOD_INIT): Register normal reader and set as current, register
24275 pager hook, register normal command with grub_register_command_prio,
24276 so that it won't show up in command.lst.
24277 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24278 grub_fs_autoload_hook.
24279
24280 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24281 (grub_menu_execute_entry): Replace grub_script_execute with
24282 grub_parser_execute, change parameter to grub_command_execute.
24283
24284 * normal/menu_text.c: Remove <grub/script.h>.
24285
24286 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24287 and <grub/parser.h>.
24288 (run): Change editor_getline to use new parser interface. Change
24289 parameter to grub_command_execute.
24290
24291 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24292 <grub/reader.h> and <grub/parser.h>.
24293 (grub_load_normal_mode): Execute normal command.
24294 (grub_main): Call grub_register_core_commands,
24295 grub_register_rescue_parser and grub_register_rescue_reader, use
24296 grub_reader_loop to enter input loop.
24297
24298 * kern/parser.c (grub_parser_split_cmdline): Change type of
24299 getline parameter.
24300 (grub_parser_class): New variable.
24301 (grub_parser_execute): New function.
24302
24303 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24304 * loader/multiboot2.c: Likewise.
24305 * loader/sparc64/ieee1275/linux.c: Likewise.
24306
24307 * util/grub-emu.c (read_command_list): New dummy function.
24308
24309 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24310
24311 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24312 count to 16 for CCISS and IDA.
24313
24314 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24315
24316 * normal/menu_text.c (grub_wait_after_message): Print a newline
24317 after waiting for user input.
24318
24319 * loader/i386/linux.c: Include `<grub/normal.h>'.
24320 (grub_cmd_linux): Improve the error message about `ask' mode, by
24321 waiting for user input so it's not missed (we can do this, since
24322 user requested interaction).
24323
24324 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24325
24326 Added missing lst to grub-mkrescue
24327
24328 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24329 and ${input_dir}/parttool.lst
24330
24331 2009-04-30 David S. Miller <davem@davemloft.net>
24332
24333 * util/hostdisk.c (device_is_wholedisk): New function.
24334 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24335 zero only if device_is_wholedisk() returns true.
24336
24337 * util/hostdisk.c (convert_system_partition_to_system_disk):
24338 Handle virtual disk devices named /dev/vdiskX as found on sparc
24339 and powerpc.
24340
24341 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24342 lettered partition specifier is found, convert to numbered.
24343
24344 2009-04-29 David S. Miller <davem@davemloft.net>
24345
24346 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24347 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24348
24349 * normal/command.c: Add missing newline at end of file.
24350
24351 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24352 warnings.
24353 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24354 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24355 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24356 ihandles have a 32-bit type but need to be stored in a "void *".
24357
24358 2009-04-28 Pavel Roskin <proski@gnu.org>
24359
24360 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24361 not disk. Adjust all dependencies.
24362 (grub_fs_uuid_close): Use grub_device_close(), not
24363 grub_disk_close().
24364
24365 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24366 parent's partition, don't copy it by reference, as it gets freed
24367 on close.
24368
24369 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24370
24371 Preboot hooks support
24372
24373 * commands/boot.c (struct grub_preboot_t): new declaration
24374 (preboots_head): new variable
24375 (preboots_tail): likewise
24376 (grub_loader_register_preboot_hook): new function
24377 (grub_loader_unregister_preboot_hook): likewise
24378 (grub_loader_set): launch preboot hooks
24379 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24380 (grub_loader_register_preboot_hook): new declaration
24381 (grub_loader_unregister_preboot_hook): likewise
24382
24383 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24384
24385 Warning fix
24386
24387 * disk/scsi.c (grub_scsi_open): added missing cast when
24388 calling grub_dprintf
24389
24390 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24391
24392 Bug and warning fixes
24393
24394 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
24395 declaration
24396 * commands/test.c (test_parse): fixed bug with file tests and corrected
24397 declaration of find_file
24398
24399 2009-04-26 Pavel Roskin <proski@gnu.org>
24400
24401 * Makefile.in: Don't install empty manual pages if help2man is
24402 missing. Use help2man option for output, not shell redirection.
24403
24404 2009-04-26 David S. Miller <davem@davemloft.net>
24405
24406 * util/grub-mkdevicemap.c (make_device_map): Add missing
24407 NESTED_FUNC_ATTR to process_device().
24408
24409 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24410
24411 Test command
24412
24413 * commands/test.c: rewritten to use bash-like test
24414
24415 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24416
24417 Parttool autoloading and improvements
24418
24419 * Makefile.in (pkglib_DATA): add parttool.lst
24420 (parttool.lst): new target
24421 * genmk.rb: generate parttool-*
24422 (CLEANFILES): add #{parttool}
24423 (PARTTOOLFILES): new variable
24424 * genparttoollist.sh: new file
24425 * parttool/pcpart.c (grub_pcpart_boot): more feedback
24426 (grub_pcpart_type): likewise
24427 * commands/parttool.c (helpmsg): new variable
24428 (grub_cmd_parttool): output help if not enough arguments are supplied
24429 autoload modules
24430 (GRUB_MOD_INIT(parttool)): use helpmsg
24431
24432 2009-04-24 David S. Miller <davem@davemloft.net>
24433
24434 Avoiding opening same device multiple times in device iterator.
24435
24436 * kern/device.c: (grub_device_iterate): Define struct part_ent,
24437 and use it to build a list of partitions in iterate_disk() and
24438 iterate_partition().
24439
24440 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24441 on disk->data.
24442
24443 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24444 grub_devalias_iterate() result instead of unconditional 0.
24445 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24446 Also, capture hook return value, either directly or via
24447 grub_children_iterate(), and propagate to caller.
24448 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24449 grub_children_iterate): Return value is now 'int' instead of
24450 'grub_err_t'.
24451 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24452 like a proper iterator, stopping when hooks return non-zero.
24453 (grub_devalias_iterate): Likewise.
24454
24455 2009-04-23 David S. Miller <davem@davemloft.net>
24456
24457 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24458
24459 2009-04-22 David S. Miller <davem@davemloft.net>
24460
24461 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24462 is larger than address_cells, use that value for address_cells too.
24463
24464 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24465 IEEE1275_MAX_PATH_LEN): Define.
24466 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24467 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24468 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24469 'devtype'. Explicitly NULL terminate devalias expansion.
24470
24471 * util/sparc64/ieee1275/misc.c: New file.
24472 * util/sparc64/ieee1275/grub-setup.c: New file.
24473 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24474 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24475 * util/sparc64/ieee1275/grub-install.in: New file.
24476 * util/ieee1275/ofpath.c: New file.
24477 * util/ieee1275/devicemap.c: New file.
24478 * util/devicemap.c: New file.
24479 * util/deviceiter.c: New file.
24480 * kern/sparc64/ieee1275/init.c: New file.
24481 * include/grub/util/ofpath.h: New file.
24482 * include/grub/util/deviceiter.h: New file.
24483 * util/grub-mkdevicemap.c: Include deviceiter.h.
24484 Implement using grub_util_emit_devicemap_entry and
24485 grub_util_iterate_devices.
24486 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24487 util/devicemap.c into grub-mkdevicemap
24488 * conf/i386-efi.rmk: Likewise.
24489 * conf/i386-ieee1275.rmk: Likewise.
24490 * conf/i386-pc.rmk: Likewise.
24491 * conf/powerpc-ieee1275.rmk: Likewise.
24492 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24493 images and installation utilities. Build kernel as image
24494 instead of as elf binary. Use common rules as much as possible.
24495
24496 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24497
24498 Correct GPT definition
24499
24500 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24501 of "attrib" member
24502
24503 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
24504
24505 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24506
24507 2009-04-19 David S. Miller <davem@davemloft.net>
24508
24509 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24510 (grub_rescue_cmd_linux): Rename to...
24511 (grub_cmd_linux): and fix prototype.
24512 (grub_rescue_cmd_initrd): Rename to...
24513 (grub_cmd_initrd): and fix prototype.
24514 (cmd_linux, cmd_initrd): New.
24515 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24516 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24517
24518 2009-04-17 Pavel Roskin <proski@gnu.org>
24519
24520 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24521 format.
24522 (grub_ohci_transfer): Likewise.
24523
24524 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24525
24526 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24527 return without a value. Fix inconsistent indentation.
24528
24529 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24530 match struct grub_fs.
24531
24532 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24533 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24534 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24535 * commands/lspci.c (grub_lspci_iter): Likewise.
24536
24537 2009-04-16 Bean <bean123ch@gmail.com>
24538
24539 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24540 value.
24541
24542 2009-04-15 Pavel Roskin <proski@gnu.org>
24543
24544 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24545 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24546 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24547 definitions.
24548
24549 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24550
24551 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
24552 that no multiple data or metadata areas are supported and `Unknown
24553 metadata header'.
24554
24555 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24556
24557 Move loader out of the kernel
24558
24559 * kern/loader.c: moved to ...
24560 * commands/boot.c: ... moved here
24561 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24562 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24563 * include/grub/kernel.h (grub_machine_fini): export
24564 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24565 (grub_loader_set): likewise
24566 (grub_loader_unset): likewise
24567 (grub_loader_boot): likewise
24568 * conf/common.rmk: new module boot.mod
24569 (pkglib_MODULES): add boot.mod
24570 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24571 (grub_emu_SOURCES): likewise
24572 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24573 (grub_emu_SOURCES): likewise
24574 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24575 (grub_emu_SOURCES): likewise
24576 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24577 (grub_emu_SOURCES): likewise
24578 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24579 (grub_emu_SOURCES): likewise
24580 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24581 (grub_emu_SOURCES): likewise
24582 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
24583 (grub_emu_SOURCES): likewise
24584
24585 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24586
24587 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
24588
24589 * kern/misc.c (grub_itoa): Removed function
24590 (grub_ltoa): likewise
24591 (grub_vsprintf): use grub_lltoa
24592
24593 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24594
24595 Restore grub-emu
24596
24597 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24598 * conf/i386-coreboot.rmk: likewise
24599 * conf/i386-ieee1275.rmk: likewise
24600 * conf/powerpc-ieee1275.rmk: likewise
24601
24602 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24603
24604 * INSTALL: Add that `./autogen.sh' needs to be run before
24605 `./configure.'.
24606
24607 2009-04-14 Bean <bean123ch@gmail.com>
24608
24609 * Makefile.in (pkglib_DATA): Add handler.lst.
24610 (handler.lst): New rule.
24611
24612 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24613 * conf/i386-coreboot.rmk: Likewise.
24614 * conf/i386-ieee1275.rmk: Likewise.
24615 * conf/i386-efi.rmk: Likewise.
24616 * conf/x86_64-efi.rmk: Likewise.
24617 * conf/powerpc-ieee1275.rmk: Likewise.
24618 * conf/sparc64-ieee1275.rmk: Likewise.
24619
24620 * genhandlerlist.sh: New file.
24621
24622 * genmk.rb: Add rules to generate handler.lst.
24623
24624 * include/grub/normal.h (grub_file_getline): New function definition.
24625 (read_handler_list): Likewise.
24626 (free_handler_list): Likewise.
24627
24628 * include/grub/term.h (grub_term_register_input): Add name parameter
24629 for auto generation of handler.lst.
24630 (grub_term_register_output): Likewise.
24631
24632 * normal/handler.c: New file.
24633
24634 * normal/main.c (get_line): Renamed to grub_file_getline.
24635 (read_config_file): Use the newly renamed grub_file_getline.
24636 (read_command_list): Likewise.
24637 (read_fs_list): Likewise.
24638 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24639 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24640
24641 * term/efi/console.c (grub_console_init): Add name parameter for auto
24642 generation of handler.lst.
24643 * term/gfxterm.c: Likewise.
24644 * term/i386/pc/at_keyboard.c: Likewise.
24645 * term/i386/pc/console.c: Likewise.
24646 * term/i386/pc/serial.c: Likewise.
24647 * term/i386/pc/vesafb.c: Likewise.
24648 * term/i386/pc/vga.c: Likewise.
24649 * term/i386/pc/vga_text.c: Likewise.
24650 * term/ieee1275/ofconsole.c: Likewise.
24651 * term/usb_keyboard.c: Likewise.
24652
24653 2009-04-14 Bean <bean123ch@gmail.com>
24654
24655 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24656 properly with null character.
24657
24658 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24659
24660 * configure: Remove.
24661 * config.h.in: Likewise.
24662 * stamp-h.in: Likewise.
24663 * DISTLIST: Likewise.
24664 * conf/common.mk: Likewise.
24665 * conf/i386-coreboot.mk: Likewise.
24666 * conf/i386-efi.mk: Likewise.
24667 * conf/i386-ieee1275.mk: Likewise.
24668 * conf/i386.mk: Likewise.
24669 * conf/i386-pc.mk: Likewise.
24670 * conf/powerpc-ieee1275.mk: Likewise.
24671 * conf/sparc64-ieee1275.mk: Likewise.
24672 * conf/x86_64-efi.mk: Likewise.
24673
24674 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24675 develop on GRUB.
24676
24677 2009-04-14 John Stanley <jpsinthemix@verizon.net>
24678 David S. Miller <davem@davemloft.net>
24679
24680 * util/hostdisk.c (make_device_name): Fix buffer length
24681 calculations.
24682
24683 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24684
24685 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24686 <sys/param.h> and <sys/sysctl.h>.
24687 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24688 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24689 opening the device and reset them afterwards.
24690
24691 2009-04-13 Pavel Roskin <proski@gnu.org>
24692
24693 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24694 Reported by John Stanley <jpsinthemix@verizon.net>
24695
24696 2009-04-13 Robert Millan <rmh@aybabtu.com>
24697
24698 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
24699 that name for menuentries when appropriate.
24700
24701 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24702
24703 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24704
24705 2009-04-13 Robert Millan <rmh@aybabtu.com>
24706
24707 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24708 to Linux, simply abort telling the user it's no longer supported.
24709
24710 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24711
24712 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
24713 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
24714 `freebsd_loadenv' only when devices.hints exist.
24715
24716 2009-04-13 Pavel Roskin <proski@gnu.org>
24717
24718 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24719
24720 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24721
24722 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24723 partition number.
24724 (grub_drive): Likewise.
24725
24726 2009-04-13 David S. Miller <davem@davemloft.net>
24727
24728 * kern/sparc64/ieee1275/ieee1275.c: New file.
24729 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24730 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24731 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24732 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24733 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
24734 grub_ieee1275_alloc_physmem): Declare new exported functions.
24735
24736 * include/grub/sparc64/ieee1275/loader.h: New file.
24737 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24738 * include/grub/sparc64/kernel.h: Likewise.
24739 * loader/sparc64/ieee1275/linux.c: Likewise.
24740
24741 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
24742 (grub_fstest_SOURCES): Likewise.
24743
24744 * util/hostdisk.c (make_device_name): Do not make any assumptions
24745 about the length of drive names.
24746
24747 * kern/dl.c (grub_dl_load_file): Close file immediately when
24748 we are done using it.
24749
24750 2009-04-12 David S. Miller <davem@davemloft.net>
24751
24752 * kern/misc.c (grub_ltoa): Fix cast when handling negative
24753 values. Noticed by Pavel Roskin.
24754
24755 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
24756 target compiler.
24757
24758 * genmk.rb: Add more flexible image type specification, also
24759 pass --strip-unneeded to objcopy.
24760 * conf/i386-pc.rmk: Use *_FORMAT.
24761 * conf/i386-pc.mk: Rebuilt.
24762
24763 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
24764 (OFDISK_HASH_SZ): Define.
24765 (ofdisk_hash): New hash table.
24766 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
24767 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
24768 instead of device phandle which is not unique.
24769
24770 * kern/sparc64/ieee1275/init.c: Delete, replace with...
24771 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
24772 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
24773 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
24774 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
24775 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
24776 GRUB_KERNEL_MACHINE_DATA_END): Define.
24777 (grub_kernel_image_size, grub_total_module_size): Declare.
24778
24779 2009-04-12 Pavel Roskin <proski@gnu.org>
24780
24781 * configure.ac: Change the logic when we check for target tools.
24782 Do it when the target is specified and it's different from the
24783 specified value of the host.
24784
24785 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
24786
24787 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
24788 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
24789 GNU/kFreeBSD. Check if a device is a character device. Use
24790 DIOCGMEDIASIZE to get the size.
24791 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
24792 support for GNU/kFreeBSD.
24793 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
24794 is a character device instead of a block device. Add support for
24795 FreeBSD device names.
24796
24797 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
24798 is a character device instead of a block device.
24799
24800 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
24801 is a character device instead of a block device.
24802
24803 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
24804
24805 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
24806 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
24807 FreeBSD. Check if a device is a character device. Use
24808 DIOCGMEDIASIZE to get the size.
24809 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
24810 support for FreeBSD.
24811 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
24812 is a character device instead of a block device. Add support for
24813 FreeBSD device names.
24814
24815 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
24816 a character device instead of a block device.
24817 (grub_util_check_char_device): New function.
24818
24819 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
24820 a character device instead of a block device.
24821
24822 * include/grub/util/getroot.h (grub_util_check_char_device): New
24823 prototype.
24824
24825 2009-04-11 David S. Miller <davem@davemloft.net>
24826
24827 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
24828 static libgcc.
24829 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
24830 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
24831 function, if present.
24832 (__bswapdi2): Likewise.
24833
24834 * include/grub/sparc64/ieee1275/boot.h: New file.
24835 * boot/sparc64/ieee1275/boot.S: Likewise.
24836 * boot/sparc64/ieee1275/diskboot.S: Likewise.
24837
24838 * kern/misc.c (grub_ltoa): New function.
24839 (grub_vsprintf): Use it to format 'long' integers.
24840
24841 2009-04-10 David S. Miller <davem@davemloft.net>
24842
24843 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
24844 slots are of type grub_ieee1275_cell_t.
24845 (grub_nand_read): Likewise.
24846 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
24847 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
24848 macros are used to compare values in arg/ret block of the call.
24849 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24850 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
24851 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
24852 grub_ieee1275_instance_to_path, grub_ieee1275_write,
24853 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
24854 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
24855 grub_ieee1275_close, grub_ieee1275_set_property,
24856 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
24857 grub_ieee1275_cell_t.
24858 * kern/ieee1275/openfw.c (grub_map): Likewise.
24859 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
24860 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
24861
24862 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
24863 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
24864 (grub_devalias_iterate): Likewise.
24865
24866 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 UFS improvements
24869
24870 * fs/ufs.c (INODE_NBLOCKS): new definition
24871 (struct grub_ufs_dirent): added fields for non-BSD dirents
24872 (grub_ufs_get_file_block): fixed double indirect handling
24873 (grub_ufs_lookup_symlink): use more robust way to determine whether
24874 symlink is inline
24875 (grub_ufs_find_file): support for non-BSD dirents
24876 (grub_ufs_dir): support for non-BSD dirents
24877
24878 2009-04-10 Bean <bean123ch@gnail.com>
24879
24880 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
24881 attribute, otherwise the size would be wrong for i386 platform.
24882
24883 * include/grub/pci.h (grub_pci_read_word): New inline function.
24884 (grub_pci_read_byte): Likewise.
24885 (grub_pci_write): Likewise.
24886 (grub_pci_write_word): Likewise.
24887 (grub_pci_write_byte): Likewise.
24888
24889 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
24890
24891 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
24892 (find_framebuf): Scan pci to locate the frame buffer address.
24893
24894 * commands/efi/fixvideo.c: New file.
24895
24896 * commands/efi/loadbios.c: Likewise.
24897
24898 * commands/memrw.c: Likewise.
24899
24900 * util/grub-dumpbios.in: Likewise.
24901
24902 * conf/common.rmk (grub-dumpbios): New utility.
24903 (pkglib_MODULES): New module memrw.mod.
24904 (memrw_mod_SOURCE): New macro.
24905 (memrw_mod_CFLAGS): Likewise.
24906 (memrw_mod_LDFLAGS): Likewise.
24907
24908 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
24909 fixvideo.mod.
24910 (loadbios_mod_SOURCE): New macro.
24911 (loadbios_mod_CFLAGS): Likewise.
24912 (loadbios_mod_LDFLAGS): Likewise.
24913 (fixvideo_mod_SOURCE): Likewise.
24914 (fixvideo_mod_CFLAGS): Likewise.
24915 (fixvideo_mod_LDFLAGS): Likewise.
24916
24917 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
24918 fixvideo.mod.
24919 (loadbios_mod_SOURCE): New macro.
24920 (loadbios_mod_CFLAGS): Likewise.
24921 (loadbios_mod_LDFLAGS): Likewise.
24922 (fixvideo_mod_SOURCE): Likewise.
24923 (fixvideo_mod_CFLAGS): Likewise.
24924 (fixvideo_mod_LDFLAGS): Likewise.
24925
24926 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
24927
24928 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
24929
24930 2009-04-07 David S. Miller <davem@davemloft.net>
24931
24932 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
24933 support for R_SPARC_OLO10 relocations. Fix compile warning for
24934 R_SPARC_WDISP30 case.
24935 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
24936
24937 2009-04-06 Pavel Roskin <proski@gnu.org>
24938
24939 * include/grub/misc.h (ARRAY_SIZE): New macro.
24940 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
24941 New macro.
24942 * loader/i386/linux.c (allocate_pages): Use free_pages().
24943 (grub_linux_unload): Don't use free_pages().
24944 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
24945 wrong index. Treat all other modes as text modes.
24946 (grub_cmd_linux): Initialize vid_mode unconditionally to
24947 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
24948
24949 * commands/help.c (print_command_help): Use cmd->prio, not
24950 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
24951
24952 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24953
24954 Parttool
24955
24956 * parttool/pcpart.c: new file
24957 * commands/parttool.c: likewise
24958 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
24959 (parttool_mod_SOURCES): new variable
24960 (parttool_mod_CFLAGS): likewise
24961 (parttool_mod_LDFLAGS): likewise
24962 (pcpart_mod_SOURCES): likewise
24963 (pcpart_mod_CFLAGS): likewise
24964 (pcpart_mod_LDFLAGS): likewise
24965 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
24966 and parttool/pcpart.c
24967 * conf/i386-efi.rmk: likewise
24968 * conf/i386-ieee1275.rmk: likewise
24969 * conf/i386-pc.rmk: likewise
24970 * conf/powerpc-ieee1275.rmk: likewise
24971 * conf/sparc64-ieee1275.rmk: likewise
24972 * conf/x86_64-ieee1275.rmk: likewise
24973
24974 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24975
24976 Support for mtime and further expandability of dir command
24977
24978 * include/grub/lib/datetime.h: moved to ...
24979 * include/grub/datetime.h: ... moved here and added
24980 declaration of grub_unixtime2datetime. All users updated
24981 * include/grub/fs.h: new syntax for dir and mtime functions in
24982 struct grub_fs
24983 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
24984 and GRUB_FSHELP_FLAGS_MASK
24985 * commands/ls.c (grub_ls_list_files): Write mtime in long format
24986 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
24987 (grub_ext2_mtime): new function
24988 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
24989 (grub_hfsplus_mtime): new function
24990 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
24991 (GRUB_UFS_ATTR_FILE): likewise
24992 (GRUB_UFS_ATTR_LNK): likewise
24993 (struct grub_ufs_sblock): new fields mtime
24994 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
24995 all users updated
24996 (grub_ufs_dir): mtime support
24997 (grub_ufs_mtime): new function
24998 * fs/affs.c (grub_affs_dir): use new dir syntax
24999 * fs/afs.c (grub_afs_dir): likewise
25000 * fs/cpio.c (grub_cpio_dir): likewise
25001 * fs/fat.c (grub_fat_find_dir): likewise
25002 * fs/hfs.c (grub_hfs_dir): likewise
25003 * fs/iso9660.c (grub_iso9660_dir): likewise
25004 * fs/jfs.c (grub_jfs_dir): likewise
25005 * fs/minix.c (grub_minix_dir): likewise
25006 * fs/ntfs.c (grub_ntfs_dir): likewise
25007 * fs/reiserfs.c (grub_reiserfs_dir): likewise
25008 * fs/sfs.c (grub_sfs_dir): likewise
25009 * fs/xfs.c (grub_xfs_dir): likewise
25010 * util/hostfs.c (grub_hostfs_dir): likewise
25011 * lib/datetime.c: moved to ...
25012 * normal/datetime.c: ... moved here
25013 (grub_unixtime2datetime): new function
25014 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
25015 * normal/completion.c (iterate_dir): use new dir syntax
25016 * normal/misc.c (grub_normal_print_device_info): tell the
25017 last modification time of a volume
25018 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
25019 * conf/common.rmk: added lib/datetime.c to ls.mod
25020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
25021 (normal_mod_SOURCES): likewise
25022 (datetime_mod_SOURCES): Removed lib/datetime.c
25023 * conf/i386-efi.rmk: likewise
25024 * conf/i386-ieee1275.rmk: likewise
25025 * conf/i386-pc.rmk: likewise
25026 * conf/powerpc-ieee1275.rmk: likewise
25027 * conf/sparc64-ieee1275.rmk: likewise
25028 * conf/x86_64-efi.rmk: likewise
25029
25030 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
25031
25032 Trim trailing spaces in FAT label and support mtools-like labels
25033
25034 * fs/fat.c (grub_fat_iterate_dir): New function based
25035 on grub_fat_find_dir
25036 (grub_fat_find_dir): use grub_fat_iterate_dir
25037 (grub_fat_label): likewise
25038
25039 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
25040
25041 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
25042 and command.h
25043 remove extraneous kernel_elf_HEADERS
25044
25045 2009-04-04 Bean <bean123ch@gnail.com>
25046
25047 * include/grub/util/misc.h: Add dummy function fsync for mingw.
25048
25049 * util/misc.c: Likewise.
25050
25051 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25052
25053 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
25054 instead of grub_printf.
25055
25056 2009-04-03 Robert Millan <rmh@aybabtu.com>
25057
25058 * loader/i386/linux.c (grub_linux_setup_video): Fill
25059 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25060 values from `mode info' structure instead of hardcoded
25061 values.
25062
25063 2009-04-01 Pavel Roskin <proski@gnu.org>
25064
25065 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25066 unused now.
25067 * genmk.rb: Likewise.
25068 * configure.ac: Likewise.
25069
25070 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25071
25072 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25073 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25074
25075 2009-04-01 David S. Miller <davem@davemloft.net>
25076
25077 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25078 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25079 (grub_setjmp): Mark with 'returns_twice' attribute.
25080 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25081 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25082 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25083
25084 2009-04-01 Robert Millan <rmh@aybabtu.com>
25085
25086 Reapply fix from 2008-07-28 which was accidentally reverted; also
25087 perform the same fix to a similar check in same function.
25088
25089 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25090 with the same number are found, just use issue a warning with
25091 grub_dprintf(), as this error has been reported to be non-fatal.
25092
25093 2009-03-31 Pavel Roskin <proski@gnu.org>
25094
25095 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25096 for cross-compilation.
25097
25098 2009-03-30 Robert Millan <rmh@aybabtu.com>
25099
25100 Fix i386-ieee1275 build.
25101
25102 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25103 Remove declaration.
25104
25105 2009-03-30 Pavel Roskin <proski@gnu.org>
25106
25107 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25108 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25109 zero-terminated, rely only on the strlen value. Fix comparison
25110 of strings differing in length.
25111
25112 2009-03-30 Robert Millan <rmh@aybabtu.com>
25113
25114 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25115 checking for abi version. Improve error messages on BIOS to notify
25116 user about `linux16' command.
25117
25118 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25119
25120 Leak fixes
25121
25122 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25123 in case of collision
25124 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25125
25126 2009-03-29 Robert Millan <rmh@aybabtu.com>
25127
25128 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25129 set `vid_mode' accordingly.
25130 (grub_linux_boot): Process `vid_mode' and set video mode.
25131
25132 2009-03-29 Robert Millan <rmh@aybabtu.com>
25133
25134 * util/grub.d/10_linux.in (linux_entry): New function.
25135 Factorize generation of Linux boot entries.
25136
25137 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25138
25139 Make the format of Environment Block plain text. The boot loader
25140 part is not tested well yet.
25141
25142 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25143 (buffer): Removed.
25144 (envblk): Likewise.
25145 (usage): Remove "info" and "clear". Add "unset". Update the
25146 description of "set", as this does not delete variables any
25147 longer.
25148 (create_envblk_file): Complete rewrite.
25149 (open_envblk_file): Likewise.
25150 (cmd_info): Removed.
25151 (cmd_list): Likewise.
25152 (cmd_set): Likewise.
25153 (cmd_clear): Likewise.
25154 (list_variables): New function.
25155 (write_envblk): Likewise.
25156 (set_variables): Likewise.
25157 (unset_variables): Likewise.
25158 (main): Complete rewrite.
25159
25160 * commands/loadenv.c (buffer): Removed.
25161 (envblk): Likewise.
25162 (open_envblk_file): New function.
25163 (read_envblk_file): Complete rewrite.
25164 (grub_cmd_load_env): Likewise.
25165 (grub_cmd_list_env): Likewise.
25166 (struct blocklist): New struct.
25167 (free_blocklists): New function.
25168 (check_blocklists): Likewise.
25169 (write_blocklists): Likewise.
25170 (grub_cmd_save_env): Complete rewrite.
25171
25172 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25173 a plain text signature.
25174 (GRUB_ENVBLK_MAXLEN): Removed.
25175 (struct grub_envblk): Complete rewrite.
25176 (grub_envblk_find): Removed.
25177 (grub_envblk_insert): Likewise.
25178 (grub_envblk_open): New prototype.
25179 (grub_envblk_set): Likewise.
25180 (grub_envblk_delete): Put const to VALUE.
25181 (grub_envblk_iterate): Put const to NAME and VALUE.
25182 (grub_envblk_close): New prototype.
25183 (grub_envblk_buffer): New inline function.
25184 (grub_envblk_size): Likewise.
25185
25186 * lib/envblk.c: Include grub/mm.h.
25187 (grub_env_find): Removed.
25188 (grub_envblk_open): New function.
25189 (grub_envblk_close): Likewise.
25190 (escaped_value_len): Likewise.
25191 (find_next_line): Likewise.
25192 (grub_envblk_insert): Removed.
25193 (grub_envblk_set): New function.
25194 (grub_envblk_delete): Complete rewrite.
25195 (grub_envblk_iterate): Likewise.
25196
25197 2009-03-28 Robert Millan <rmh@aybabtu.com>
25198
25199 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25200 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25201 variables. Use 16-bit loader.
25202 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25203 loader.
25204 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25205 (grub_linux16_boot): ... this. Update all users.
25206 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25207 (grub_linux_boot): ... this. Update all users.
25208
25209 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25210 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25211 commands to `linux16' and `initrd16'.
25212 (GRUB_MOD_FINI(linux)): Rename to ...
25213 (GRUB_MOD_FINI(linux16)): ... this.
25214
25215 2009-03-24 Pavel Roskin <proski@gnu.org>
25216
25217 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25218 not just for compilation.
25219
25220 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25221
25222 Move multiboot helper out of kernel
25223
25224 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25225 `loader/i386/multiboot_helper.S'.
25226 * conf/i386-coreboot.rmk: Likewise
25227 * conf/i386-ieee1275.rmk: Likewise
25228
25229 * kern/i386/loader.S: Move multiboot helpers from here...
25230 * loader/i386/multiboot_helper.S: ...moved here
25231 * include/grub/i386/loader.h: Move declarations of multiboot
25232 helpers from here...
25233 * include/grub/i386/multiboot.h: ...moved here
25234 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25235
25236 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25237
25238 * kern/env.c (grub_env_context_open): Added an argument to specify
25239 whether a new context inherits exported variables from current
25240 one. This is useful when making a sandbox to interpret a config
25241 file.
25242 All callers updated.
25243
25244 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25245
25246 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25247
25248 * kern/env.c (grub_env_context_close): Fix memory leaks.
25249
25250 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25251
25252 * normal/main.c (grub_normal_execute): Added an argument
25253 BATCH to specify if an interactive interface should be provided
25254 after reading a config file.
25255 All callers updated.
25256 (read_command_list): Prevent being executed twice.
25257 (read_fs_list): Likewise.
25258
25259 * include/grub/normal.h (grub_normal_execute): Updated the
25260 prototype.
25261
25262 2009-03-22 Pavel Roskin <proski@gno.org>
25263
25264 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25265 _start.
25266 * kern/i386/pc/startup.S: Likewise.
25267 * kern/i386/efi/startup.S: Likewise.
25268 * kern/i386/ieee1275/startup.S: Likewise.
25269 * kern/i386/coreboot/startup.S: Likewise.
25270 * kern/x86_64/efi/startup.S: Likewise.
25271
25272 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25273 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25274 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25275
25276 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25277
25278 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25279
25280 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25281 limit detection.
25282 Use vaddr of correct segment for entry_point.
25283
25284 2009-03-21 Bean <bean123ch@gmail.com>
25285
25286 * commands/blocklist.c: Add include file <grub/command.h>, remove
25287 <grub/normal.h> and <grub/arg.h>.
25288 (grub_cmd_blocklist): Use the new command interface.
25289 (GRUB_MOD_INIT): Likewise.
25290 (GRUB_MOD_FINI): Likewise.
25291 * commands/boot.c: Likewise.
25292 * commands/cat.c: Likewise.
25293 * commands/cmp.c: Likewise.
25294 * commands/configfile.c: Likewise.
25295 * commands/crc.c: Likewise.
25296 * commands/echo.c: Likewise.
25297 * commands/halt.c: Likewise.
25298 * commands/handler.c: Likewise.
25299 * commands/hdparm.c: Likewise.
25300 * commands/help.c: Likewise.
25301 * commands/hexdump.c: Likewise.
25302 * commands/loadenv.c: Likewise.
25303 * commands/ls.c: Likewise.
25304 * commands/lsmmap.c: Likewise.
25305 * commands/lspci.c: Likewise.
25306 * commands/loadenv.c: Likewise.
25307 * commands/read.c: Likewise.
25308 * commands/reboot.c: Likewise.
25309 * commands/search.c: Likewise.
25310 * commands/sleep.c: Likewise.
25311 * commands/test.c: Likewise.
25312 * commands/usbtest.c: Likewise.
25313 * commands/videotest.c: Likewise.
25314 * commands/i386/cpuid.c: Likewise.
25315 * commands/i386/pc/halt.c: Likewise.
25316 * commands/i386/pc/play.c: Likewise.
25317 * commands/i386/pc/pxecmd.c: Likewise.
25318 * commands/i386/pc/vbeinfo.c: Likewise.
25319 * commands/i386/pc/vbetest.c: Likewise.
25320 * commands/ieee1275/suspend.c: Likewise.
25321 * disk/loopback.c: Likewise.
25322 * font/font_cmd.c: Likewise.
25323 * hello/hello.c: Likewise.
25324 * loader/efi/appleloader.c: Likewise.
25325 * loader/efi/chainloader.c: Likewise.
25326 * loader/i386/bsd.c: Likewise.
25327 * loader/i386/efi/linux.c: Likewise.
25328 * loader/i386/ieee1275/linux.c: Likewise.
25329 * loader/i386/linux.c: Likewise.
25330 * loader/i386/pc/chainloader.c: Likewise.
25331 * loader/i386/pc/linux.c: Likewise.
25332 * loader/powerpc/ieee1275/linux.c: Likewise.
25333 * loader/multiboot_loader.c: Likewise.
25334 * term/gfxterm.c: Likewise.
25335 * term/i386/pc/serial.c: Likewise.
25336 * term/terminfo.c: Likewise.
25337
25338 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25339 * term/i386/pc/vga.c: Likewise.
25340 * video/readers/jpeg.c: Likewise.
25341 * video/readers/png.c: Likewise.
25342 * video/readers/tga.c: Likewise.
25343
25344 * util/grub-fstest (cmd_loopback): Removed.
25345 (cmd_blocklist): Likewise.
25346 (cmd_ls): Likewise.
25347 (grub_register_command): Likewise.
25348 (grub_unregister_command): Likewise.
25349 (execute_command): Use grub_command_find to locate command and execute
25350 it.
25351
25352 * include/grub/efi/chainloader.h: Removed.
25353 * loader/efi/chainloader_normal.c: Likewise.
25354 * loader/i386/bsd_normal.c: Likewise.
25355 * loader/i386/pc/chainloader_normal.c: Likewise.
25356 * loader/i386/pc/multiboot_normal.c: Likewise.
25357 * loader/linux_normal.c: Likewise.
25358 * loader/multiboot_loader_normal.c: Likewise.
25359 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25360
25361 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25362 and grub_register_command_p1.
25363
25364 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25365 kern/command.c, lib/arg.c and commands/extcmd.c.
25366 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25367 (minicmd_mod_SOURCES): New variable.
25368 (minicmd_mod_CFLAGS): Likewise.
25369 (minicmd_mod_LDFLAGS): Likewise.
25370 (extcmd_mod_SOURCES): Likewise.
25371 (extcmd_mod_CFLAGS): Likewise.
25372 (extcmd_mod_LDFLAGS): Likewise.
25373 (boot_mod_SOURCES): Removed.
25374 (boot_mod_CFLAGS): Likewise.
25375 (boot_mod_LDFLAGS): Likewise.
25376
25377 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25378 kern/corecmd.c.
25379 (kernel_img_HEADERS): Add command.h.
25380 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25381 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25382 and lib/arg.c.
25383 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25384 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25385 remove the corresponding normal mode command.
25386 (normal_mod_SOURCES): Remove normal/arg.c.
25387 * conf/i386-coreboot.rmk: Likewise.
25388 * conf/i386-efi.rmk: Likewise.
25389 * conf/i386-ieee1275.rmk: Likewise.
25390 * conf/powerpc-ieee1275.rmk: Likewise.
25391 * conf/x86_64-efi.rmk: Likewise.
25392
25393 * include/grub/arg.h: Move from here ...
25394 * include/grub/lib/arg.h: ... to here.
25395
25396 * normal/arg.c: Move from here ...
25397 * lib/arg.c: ... to here.
25398
25399 * commands/extcmd.c: New file.
25400 * commands/minicmd.c: Likewise.
25401 * include/grub/command.h: Likewise.
25402 * include/grub/extcmd.h: Likewise.
25403 * kern/command.c: Likewise.
25404 * kern/corecmd.c: Likewise.
25405
25406 * kern/list.c (grub_list_iterate): Return int instead of void.
25407 (grub_list_insert): New function.
25408 (grub_prio_list_insert): Likewise.
25409
25410 * kern/rescue.c (grub_rescue_command): Removed.
25411 (grub_rescue_command_list): Likewise.
25412 (grub_rescue_register_command): Likewise.
25413 (grub_rescue_unregister_command): Likewise.
25414 (grub_rescue_cmd_boot): Move to minicmd.c
25415 (grub_rescue_cmd_help): Likewise.
25416 (grub_rescue_cmd_info): Likewise.
25417 (grub_rescue_cmd_boot): Likewise.
25418 (grub_rescue_cmd_testload): Likewise.
25419 (grub_rescue_cmd_dump): Likewise.
25420 (grub_rescue_cmd_rmmod): Likewise.
25421 (grub_rescue_cmd_lsmod): Likewise.
25422 (grub_rescue_cmd_exit): Likewise.
25423 (grub_rescue_print_devices): Moved to corecmd.c.
25424 (grub_rescue_print_files): Likewise.
25425 (grub_rescue_cmd_ls): Likewise.
25426 (grub_rescue_cmd_insmod): Likewise.
25427 (grub_rescue_cmd_set): Likewise.
25428 (grub_rescue_cmd_unset): Likewise.
25429 (attempt_normal_mode): Use grub_command_find to get normal module.
25430 (grub_enter_rescue_mode): Use grub_register_core_commands to register
25431 commands, remove grub_rescue_register_command calls.
25432
25433 * normal/command.c (grub_register_command): Removed.
25434 (grub_unregister_command): Likewise.
25435 (grub_command_find): Likewise.
25436 (grub_iterate_commands): Likewise.
25437 (rescue_command): Likewise.
25438 (export_command): Moved to corecmd.c.
25439 (set_command): Removed.
25440 (unset_command): Likewise.
25441 (insmod_command): Likewise.
25442 (rmmod_command): Likewise.
25443 (lsmod_command): Likewise.
25444 (grub_command_init): Likewise.
25445
25446 * normal/completion.c (iterate_command): Use cmd->prio to check for
25447 active command.
25448 (complete_arguments): Use grub_extcmd_t structure to find options.
25449 (grub_normal_do_completion): Change function grub_iterate_commands to
25450 grub_command_iterate.
25451
25452 * normal/execute.c (grub_script_execute_cmd): No need to parse
25453 argument here.
25454
25455 * normal/main.c (grub_dyncmd_dispatcher): New function.
25456 (read_command_list): Register unload commands as dyncmd.
25457 (grub_cmd_normal): Use new command interface, register rescue,
25458 unregister normal at entry, register normal, unregister rescue at exit.
25459
25460 * include/grub/list.h (grub_list_test_t): New type.
25461 (grub_list_iterate): Return int instead of void.
25462 (grub_list_insert): New function.
25463 (GRUB_AS_NAMED_LIST_P): New macro.
25464 (GRUB_AS_PRIO_LIST): Likewise.
25465 (GRUB_AS_PRIO_LIST_P): Likewise.
25466 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25467 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25468 (grub_prio_list): New structure.
25469 (grub_prio_list_insert): New function.
25470 (grub_prio_list_remove): New inline function.
25471
25472 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25473 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25474 (GRUB_COMMAND_FLAG_MENU): Likewise.
25475 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25476 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25477 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25478 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25479 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25480 (grub_command): Likewise.
25481 (grub_register_command): Likewise.
25482 (grub_command_find): Likewise.
25483 (grub_iterate_commands): Likewise.
25484 (grub_command_init): Likewise.
25485 (grub_arg_parse): Likewise.
25486 (grub_arg_show_help): Likewise.
25487
25488 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25489 (grub_rescue_unregister_command): Likewise.
25490
25491 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25492 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25493 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25494
25495 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25496 grub_rescue_cmd_initrd.
25497 * include/grub/i386/loader.h: Likewise.
25498 * include/grub/x86_64/loader.h: Likewise.
25499
25500 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25501
25502 2009-03-21 Bean <bean123ch@gmail.com>
25503
25504 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25505 instead of stat in mingw environment.
25506
25507 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25508
25509 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25510
25511 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25512 AC_CONFIG_LINKS.
25513
25514 2009-03-21 Bean <bean123ch@gmail.com>
25515
25516 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25517 out of range error.
25518
25519 2009-03-18 Michel Dänzer <michel@daenzer.net>
25520
25521 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25522 checking inode flags for EXT4_EXTENTS_FLAG.
25523
25524 2009-03-18 Robert Millan <rmh@aybabtu.com>
25525
25526 * loader/i386/linux.c: Include `<grub/video.h>' and
25527 `<grub/i386/pc/vbe.h>'..
25528 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25529 (grub_linux32_boot): Attempt to configure video settings with
25530 grub_linux_setup_video().
25531 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25532 to avoid grub_console_fini() which would step out of graphical mode
25533 unconditionally.
25534
25535 2009-03-14 Robert Millan <rmh@aybabtu.com>
25536
25537 Fix build on powerpc.
25538 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25539
25540 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25541
25542 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25543 background image command.
25544
25545 2009-03-12 Colin D Bennett <colin@gibibit.com>
25546
25547 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25548 (grub_gfxterm_putchar): Extract pairs of identical calls to
25549 draw_cursor out of conditional blocks.
25550
25551 2009-03-11 Pavel Roskin <proski@gnu.org>
25552
25553 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25554 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25555
25556 2009-03-11 Robert Millan <rmh@aybabtu.com>
25557
25558 * loader/i386/multiboot_elfxx.c
25559 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25560
25561 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
25562
25563 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25564 `kern/handler.c'.
25565
25566 2009-03-11 Robert Millan <rmh@aybabtu.com>
25567
25568 * loader/i386/multiboot.c (code_size): New variable.
25569 (grub_multiboot): Define offsets by adding to `code_size' rather
25570 than subtracting from `grub_multiboot_payload_size'. Provide
25571 4-byte alignment to MBI and others by increasing
25572 `boot_loader_name_length' appropriately.
25573
25574 * loader/i386/multiboot_elfxx.c
25575 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25576
25577 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
25578
25579 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25580 `fs/ext2.c'.
25581
25582 2009-03-08 Robert Millan <rmh@aybabtu.com>
25583
25584 Make loader/i386/linux.c usable on i386-pc again.
25585
25586 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25587 memory to heap.
25588 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25589 `#error' stanza.
25590
25591 2009-03-07 Bean <bean123ch@gmail.com>
25592
25593 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25594 allocation.
25595
25596 2009-03-06 Robert Millan <rmh@aybabtu.com>
25597
25598 Fix display issue on terminals with screen size other than 80x25
25599 (e.g. gfxterm with resolution higher than 640x480).
25600
25601 * normal/main.c (grub_normal_init_page): Display title text in a
25602 position relative to the center of the terminal instead of relying
25603 on a hardcoded offset.
25604
25605 2009-03-04 Robert Millan <rmh@aybabtu.com>
25606
25607 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25608 installed.
25609
25610 * Makefile.in (host_kernel): New variable.
25611 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25612 scripts instead of just the windows one.
25613 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25614
25615 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25616
25617 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25618 `kern/handler.c'.
25619 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25620 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25623 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25624 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25625
25626 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25627
25628 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25629 or if there's no space for the disk label and print the partition number on a
25630 invalid magic.
25631
25632 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25633
25634 * util/misc.c: Include <time.h>.
25635 (grub_millisleep): New function.
25636
25637 2009-03-04 Bean <bean123ch@gmail.com>
25638
25639 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25640 another option -mno-red-zone.
25641
25642 * commands/handler.c: Change module description.
25643
25644 * kern/handler.c: Add missing space at the end of description line.
25645
25646 * kern/list.c: Likewise.
25647
25648 2009-03-03 Robert Millan <rmh@aybabtu.com>
25649
25650 Move more components to the relocation area, and fix mbi pointer
25651 handling to use the destination rather than the origin (thanks to
25652 Vladimir Serbinenko for spotting).
25653
25654 * loader/i386/multiboot.c (mbi_dest): New variable.
25655 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25656 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25657 relocation area.
25658
25659 2009-03-01 Bean <bean123ch@gmail.com>
25660
25661 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
25662 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25663 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25664 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25665
25666 * loader/i386/efi/linux.c (acpi_guid): New variable.
25667 (acpi_guid): Likewise.
25668 (EBDA_SEG_ADDR): New constant.
25669 (LOW_MEM_ADDR): Likewise.
25670 (FAKE_EBDA_SEG): Likewise.
25671 (fake_bios_data): New function.
25672 (grub_linux_boot): Call fake_bios_data.
25673
25674 2009-03-01 Bean <bean123ch@gmail.com>
25675
25676 * commands/terminal.c: Removed.
25677
25678 * commands/handler.c: New file.
25679
25680 * include/grub/list.h: Likewise.
25681
25682 * include/grub/handler.h: Likewise.
25683
25684 * kern/list.c: Likewise.
25685
25686 * kern/handler.c: Likewise.
25687
25688 * kern/term.h: Include header file <grub/handler.h>.
25689 (grub_term_input): Move next field to the beginning.
25690 (grub_term_output): Likewise.
25691 (grub_term_input_class): New variable.
25692 (grub_term_output_class): Likewise.
25693 (grub_term_register_input): Changed to inline function.
25694 (grub_term_register_output): Likewise.
25695 (grub_term_unregister_input): Likewise.
25696 (grub_term_unregister_output): Likewise.
25697 (grub_term_set_current_input): Likewise.
25698 (grub_term_set_current_output): Likewise.
25699 (grub_term_get_current_input): Likewise.
25700 (grub_term_get_current_output): Likewise.
25701 (grub_term_iterate_input): Removed.
25702 (grub_term_iterate_output): Likewise.
25703
25704 * kern/term.c (grub_term_list_input): Removed.
25705 (grub_term_list_output): Likewise.
25706 (grub_term_input_class): New variable.
25707 (grub_term_output_class): Likewise.
25708 (grub_cur_term_input): Change variable as macro.
25709 (grub_cur_term_output): Likewise.
25710 (grub_term_register_input): Removed.
25711 (grub_term_register_output): Likewise.
25712 (grub_term_unregister_input): Likewise.
25713 (grub_term_unregister_output): Likewise.
25714 (grub_term_set_current_input): Likewise.
25715 (grub_term_set_current_output): Likewise.
25716 (grub_term_iterate_input): Likewise.
25717 (grub_term_iterate_output): Likewise.
25718 (grub_term_get_current_input): Likewise.
25719 (grub_term_get_current_output): Likewise.
25720
25721 * util/grub-editenv.c: Include header file <grub/handler.h>.
25722 (grub_term_get_current_input): Removed.
25723 (grub_term_get_current_output): Likewise.
25724 (grub_term_input_class): New variable.
25725 (grub_term_output_class): Likewise.
25726
25727 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25728 (grub_term_get_current_output): Likewise.
25729 (grub_term_input_class): New variable.
25730 (grub_term_output_class): Likewise.
25731
25732 * util/grub-probe.c (grub_term_get_current_input): Removed.
25733 (grub_term_get_current_output): Likewise.
25734 (grub_term_input_class): New variable.
25735 (grub_term_output_class): Likewise.
25736
25737 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
25738 (grub_term_get_current_output): Likewise.
25739 (grub_term_input_class): New variable.
25740 (grub_term_output_class): Likewise.
25741
25742 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
25743 (terminal_mod_SOURCES): Likewise.
25744 (terminal_mod_CFLAGS): Likewise.
25745 (terminal_mod_LDFLAGS): Likewise.
25746
25747 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
25748 handler.c.
25749 (kernel_img_SOURCES): Add list.c and handler.c.
25750 (kernel_img_HEADERS): Add list.h and handler.h.
25751
25752 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25753 handler.c.
25754 (kernel_mod_SOURCES): Add list.c and handler.c.
25755 (kernel_mod_HEADERS): Add list.h and handler.h.
25756
25757 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
25758 handler.c.
25759 (kernel_elf_SOURCES): Add list.c and handler.c.
25760 (kernel_elf_HEADERS): Add list.h and handler.h.
25761
25762 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25763 handler.c.
25764 (kernel_elf_SOURCES): Add list.c and handler.c.
25765 (kernel_elf_HEADERS): Add list.h and handler.h.
25766
25767 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25768 handler.c.
25769 (kernel_mod_SOURCES): Add list.c and handler.c.
25770 (kernel_mod_HEADERS): Add list.h and handler.h.
25771
25772 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25773 handler.c.
25774 (kernel_elf_SOURCES): Add list.c and handler.c.
25775 (kernel_elf_HEADERS): Add list.h and handler.h.
25776
25777 2009-02-27 Robert Millan <rmh@aybabtu.com>
25778
25779 Factorize elf32 / elf64 code in Multiboot loader. This will
25780 prevent it from getting out of sync again.
25781
25782 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
25783 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
25784 grub_multiboot_load_elf64): Move from here ...
25785 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
25786 grub_multiboot_load_elf): ... to here (new file).
25787
25788 2009-02-27 Robert Millan <rmh@aybabtu.com>
25789
25790 * util/grub.d/10_linux.in: Rename "single-user mode" to
25791 "recovery mode".
25792
25793 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
25794
25795 Don't leak in SCSI code.
25796 * disk/scsi.c (grub_scsi_close): free `scsi'.
25797
25798 2009-02-27 Robert Millan <rmh@aybabtu.com>
25799
25800 * loader/i386/pc/multiboot.c: Move from here ...
25801 * loader/i386/multiboot.c: ... to here. Update all users.
25802
25803 2009-02-27 Robert Millan <rmh@aybabtu.com>
25804
25805 Patch from Alexandre Bique <bique.alexandre@gmail.com>
25806 * util/i386/pc/grub-setup.c (setup): Fix directory path.
25807
25808 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
25809
25810 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
25811 b-tree.
25812
25813 2009-02-27 Robert Millan <rmh@aybabtu.com>
25814
25815 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
25816 `0x' qualifier as 0 when base is specified as parameter).
25817
25818 2009-02-24 Bean <bean123ch@gmail.com>
25819
25820 * configure.ac: Check for -mcmodel=large in x86_64 target.
25821
25822 * include/grub/efi/api.h (efi_call_10): New macro.
25823 (efi_wrap_10): New function.
25824
25825 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
25826 (GRUB_PE32_REL_BASED_HIGH): Likewise.
25827 (GRUB_PE32_REL_BASED_LOW): Likewise.
25828 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
25829 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
25830 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
25831 (GRUB_PE32_REL_BASED_SECTION): Likewise.
25832 (GRUB_PE32_REL_BASED_REL): Likewise.
25833 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
25834 (GRUB_PE32_REL_BASED_DIR64): Likewise.
25835 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
25836
25837 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
25838 issue.
25839
25840 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
25841 (efi_wrap_10): New function.
25842
25843 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
25844
25845 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
25846 MB/MBP model (NV chipset).
25847 (devdata_devs): Add devpath_5 to the list.
25848
25849 * load/i386/efi/linux.c (video_base): Remove variable.
25850 (RGB_MASK): New macro.
25851 (RGB_MAGIC): Likewise.
25852 (LINE_MIN): Likewise.
25853 (LINE_MAX): Likewise.
25854 (FBTEST_STEP): Likewise.
25855 (FBTEST_COUNT): Likewise.
25856 (fb_list): New variable.
25857 (grub_find_video_card): Remove function.
25858 (find_framebuf): New function.
25859 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
25860 line length.
25861
25862 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
25863 problem for x86_64.
25864
25865 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
25866
25867 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
25868
25869 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
25870 coding tool name.
25871
25872 2009-02-22 Robert Millan <rmh@aybabtu.com>
25873
25874 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
25875 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
25876 in our relocation, instead of using it directly from heap. Also
25877 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
25878
25879 2009-02-21 Robert Millan <rmh@aybabtu.com>
25880
25881 Implement USB keyboard support (based on patch by Marco Gerards)
25882
25883 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
25884 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
25885 (usb_keyboard_mod_LDFLAGS): New variables.
25886
25887 * term/usb_keyboard.c: New file.
25888
25889 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25890
25891 Corrected wrong declaration
25892
25893 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
25894
25895 2009-02-14 Christian Franke <franke@computer.org>
25896
25897 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
25898 (grub_lspci_iter): Print class code and programming interface byte.
25899
25900 2009-02-14 Christian Franke <franke@computer.org>
25901
25902 * gendistlist.sh: Ignore `.svn' directories.
25903
25904 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
25905
25906 * fs/fat.c: Add 2009 to Copyright line.
25907
25908 2009-02-14 Christian Franke <franke@computer.org>
25909
25910 * commands/hdparm.c: New file. Provides `hdparm' command
25911 which sends ATA commands via grub_disk_ata_pass_through ().
25912
25913 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
25914
25915 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
25916 and <grub/cpu/io.h> to include/grub/ata.h.
25917 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
25918 (GRUB_CDROM_SECTOR_SIZE): Remove.
25919 (GRUB_ATA_*): Move to include/grub/ata.h.
25920 (GRUB_ATAPI_*): Likewise.
25921 (enum grub_ata_commands): Likewise.
25922 (enum grub_ata_timeout_milliseconds): Likewise.
25923 (struct grub_ata_device): Likewise.
25924 (grub_ata_regset): Likewise.
25925 (grub_ata_regget): Likewise.
25926 (grub_ata_regset2): Likewise.
25927 (grub_ata_regget2): Likewise.
25928 (grub_ata_check_ready): Likewise.
25929 (grub_ata_wait_not_busy): Remove static, exported in
25930 include/grub/ata.h.
25931 (grub_ata_wait_drq): Likewise.
25932 (grub_ata_pio_read): Likewise.
25933
25934 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
25935 function for hdparm.mod.
25936
25937 * include/grub/ata.h: New file, contains declarations from
25938 disk/ata.c.
25939 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
25940
25941 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
25942 (grub_disk_ata_pass_through): New exported variable.
25943
25944 * kern/disk.c (grub_disk_ata_pass_through): New variable.
25945
25946 2009-02-13 Colin D Bennett <colin@gibibit.com>
25947
25948 Support multiple fallback entries, and provide an API to support
25949 executing default+fallback menu entries. Renamed the `terminal' menu
25950 viewer to `text'.
25951
25952 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
25953 variable declaration.
25954 (grub_menu_execute_callback): New structure declaration.
25955 (grub_menu_execute_callback_t): New typedef.
25956 (grub_menu_execute_with_fallback): New function declaration.
25957 (grub_menu_get_entry): Likewise.
25958 (grub_menu_get_timeout): Likewise.
25959 (grub_menu_set_timeout): Likewise.
25960
25961 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
25962
25963 * normal/menu.c (grub_wait_after_message): Moved to
25964 `normal/menu_text.c'.
25965 (draw_border): Likewise.
25966 (print_message): Likewise.
25967 (print_entry): Likewise.
25968 (print_entries): Likewise.
25969 (grub_menu_init_page): Likewise.
25970 (get_entry_number): Likewise.
25971 (print_timeout): Likewise.
25972 (run_menu): Likewise.
25973 (grub_menu_execute_entry): Likewise.
25974 (show_text_menu): Likewise.
25975 (get_and_remove_first_entry_number): New function.
25976 (grub_menu_execute_with_fallback): Likewise.
25977 (get_entry): Renamed to ...
25978 (grub_menu_get_entry): .. this and made it global.
25979 (get_timeout): Renamed to ...
25980 (grub_menu_get_timeout): ... this and made it global.
25981 (set_timeout): Renamed to ...
25982 (grub_menu_set_timeout): ... this and made it global.
25983 (grub_normal_terminal_menu_viewer): Renamed to ...
25984 (grub_normal_text_menu_viewer): ... this.
25985
25986 * normal/menu_text.c: New file. Extracted text-menu-specific code
25987 from normal/menu.c.
25988
25989 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
25990 (normal_mod_SOURCES): Likewise.
25991
25992 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25993 (normal_mod_SOURCES): Likewise.
25994
25995 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25996 (normal_mod_SOURCES): Likewise.
25997
25998 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
25999 (normal_mod_SOURCES): Likewise.
26000
26001 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26002 (normal_mod_SOURCES): Likewise.
26003
26004 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26005 (normal_mod_SOURCES): Likewise.
26006
26007 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26008 (normal_mod_SOURCES): Likewise.
26009
26010 2009-02-11 Robert Millan <rmh@aybabtu.com>
26011
26012 * util/grub.d/00_header.in: Update old reference to `font' command.
26013
26014 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
26015
26016 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
26017
26018 Based on patch from Javier Martín.
26019
26020 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26021
26022 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
26023 to avoid false positives with FAT.
26024 (grub_fstest_SOURCES): Likewise.
26025 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
26026 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26027 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26028 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26029 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26030 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26031
26032 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
26033
26034 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
26035 bpb.version_specific.fat12_or_fat16.fstype and
26036 bpb.version_specific.fat32.fstype.
26037
26038 2009-02-08 Robert Millan <rmh@aybabtu.com>
26039
26040 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
26041
26042 2009-02-08 Robert Millan <rmh@aybabtu.com>
26043
26044 * Makefile.in (host_os, host_cpu): New variables.
26045 (target_os): Remove. Update all users.
26046
26047 2009-02-08 Marco Gerards <marco@gnu.org>
26048
26049 * Makefile.in (enable_grub_emu_usb): New variable.
26050 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
26051 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
26052 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
26053 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
26054 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
26055 `usbtest.mod' and `usbms.mod'.
26056 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
26057 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
26058 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26059 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26060 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26061 variables.
26062
26063 * disk/usbms.c: New file.
26064
26065 * include/grub/usb.h: Likewise.
26066
26067 * include/grub/usbtrans.h: Likewise.
26068
26069 * include/grub/usbdesc.h: Likewise.
26070
26071 * bus/usb/usbtrans.c: Likewise.
26072
26073 * bus/usb/ohci.c: Likewise.
26074
26075 * bus/usb/uhci.c: Likewise.
26076
26077 * bus/usb/usbhub.c: Likewise.
26078
26079 * bus/usb/usb.c: Likewise.
26080
26081 * commands/usbtest.c: Likewise.
26082
26083 * util/usb.c: Likewise.
26084
26085 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26086
26087 * configure.ac: Test for libusb presence.
26088
26089 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26090
26091 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26092
26093 * kern/mm.c: Add more comments.
26094
26095 2009-02-08 Robert Millan <rmh@aybabtu.com>
26096
26097 Patch from Javier Martín.
26098 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26099 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26100
26101 2009-02-08 Robert Millan <rmh@aybabtu.com>
26102
26103 * fs/cpio.c: Split tar functionality to ...
26104 * fs/tar.c: ... here (new file). Update all users.
26105
26106 2009-02-07 Robert Millan <rmh@aybabtu.com>
26107
26108 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26109 backward-incompatible features.
26110
26111 Based on patch from Javier Martín, with some adjustments.
26112
26113 2009-02-07 Michael Scherer <misc@mandriva.org>
26114
26115 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26116
26117 2009-02-07 Robert Millan <rmh@aybabtu.com>
26118
26119 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26120 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26121 after the RAID stuff.
26122
26123 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26124
26125 Fixes problem when running vbetest command as reported by
26126 Vladimir Serbinenko <phcoder@gmail.com>.
26127
26128 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26129
26130 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26131
26132 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26133 /dev/md/NpN style mdraid devices.
26134
26135 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26136
26137 * util/unifont2pff.rb: Remove.
26138
26139 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26140
26141 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26142 `#'.
26143
26144 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26145
26146 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26147 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26148 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26149 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26150 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26151 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26152 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26153
26154 2009-02-02 Christian Franke <franke@computer.org>
26155
26156 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26157
26158 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26159
26160 * INSTALL: Note that we now require at least autoconf 2.59 and
26161 that LZO is optional.
26162
26163 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26164
26165 Base on patch on bug #24154 created by Tomas Tintera
26166 <trosos@seznam.cz>.
26167
26168 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26169
26170 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26171
26172 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26173 <bero@arklinux.org>.
26174
26175 * normal/parser.y (script_init): Add missing semicolon.
26176
26177 2009-01-31 Colin D Bennett <colin@gibibit.com>
26178
26179 * normal/main.c: Add include to grub/menu_viewer.h.
26180 (free_menu_entry_classes): Added.
26181 (grub_normal_menu_addentry): Added class property handling.
26182 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26183 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26184
26185 * normal/menu_viewer.c: New file.
26186
26187 * normal/menu.c (run_menu_entry): Renamed to ...
26188 (grub_menu_execute_entry): ... this and made it as global.
26189 (grub_menu_run): Renamed to ...
26190 (show_text_menu): ... this and made it local.
26191 (show_text_menu): Adapt to new function names.
26192 (grub_normal_terminal_menu_viewer): New global variable.
26193
26194 * include/grub/menu.h: New file.
26195
26196 * include/grub/menu_viewer.h: New file.
26197
26198 * include/grub/normal.h: Added include to grub/menu.h.
26199 (grub_menu_entry): Moved to include/grub/menu.h.
26200 (grub_menu_entry_t): Likewise.
26201 (grub_menu): Likewise.
26202 (grub_menu_t): Likewise.
26203 (grub_normal_terminal_menu_viewer): Added.
26204 (grub_menu_execute_entry): Likewise.
26205 (grub_menu_run): Removed.
26206
26207 * DISTLIST: Added include/grub/menu.h.
26208 Added include/grub/menu_viewer.h.
26209 Added normal/menu_viewer.c.
26210
26211 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26212
26213 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26214 arglist for menutitle arguments.
26215
26216 * normal/main.c (grub_normal_menu_addentry): Likewise.
26217
26218 * normal/parser.y (menuentry): Likewise.
26219
26220 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26221
26222 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26223 (grub_script_create_cmdmenu): Likewise.
26224
26225 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26226
26227 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26228 changes.
26229
26230 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26231
26232 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26233
26234 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26235
26236 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26237
26238 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26239
26240 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26241
26242 2009-01-30 Christian Franke <franke@computer.org>
26243
26244 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26245 in option help text.
26246
26247 2009-01-27 Pavel Roskin <proski@gnu.org>
26248
26249 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26250
26251 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26252
26253 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26254
26255 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26256
26257 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26258 unregister function.
26259
26260 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26261
26262 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26263
26264 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26265
26266 * util/grub-mkfont.c (usage): Fix typo.
26267
26268 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26269
26270 2009-01-26 Daniel Mierswa <impulze@impulze.org>
26271
26272 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26273
26274 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26275
26276 * kern/misc.c (grub_strcasecmp): New function.
26277 (grub_strcasecmp): Use grub_size_t instead of int for length.
26278 Fix return value.
26279 * include/grub/misc.h: Update function prototypes.
26280
26281 2009-01-26 Robert Millan <rmh@aybabtu.com>
26282
26283 * configure.ac: Fix cross-compilation check.
26284
26285 2009-01-22 Christian Franke <franke@computer.org>
26286
26287 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26288 (precision) digit string. Allow `.format2' without `format1' (width).
26289 Limit input chars for `%s' output to `format2' if specified. This is
26290 compatible with standard printf ().
26291
26292 2009-01-22 Christian Franke <franke@computer.org>
26293
26294 * disk/ata.c (grub_ata_wait_status): Replace by ...
26295 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26296 other status bits may be invalid while BSY is asserted.
26297 (grub_ata_check_ready): New function.
26298 (grub_ata_cmd): Removed.
26299 (grub_ata_wait_drq): New function.
26300 (grub_ata_strncpy): Remove inline.
26301 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26302 and error check now done by grub_ata_wait_drq ().
26303 (grub_ata_pio_write): Likewise.
26304 (grub_atapi_identify): Set DEV before check for !BSY. Use
26305 grub_ata_wait_drq () to wait for data.
26306 (grub_ata_device_initialize): Add status register check to
26307 detect missing SATA slave devices. Add debug messages.
26308 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26309 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26310 transfer loop by grub_ata_pio_write ().
26311 (grub_ata_identify): Set DEV before check for !BSY. Use
26312 grub_ata_wait_drq () to wait for data.
26313 (grub_ata_setaddress): Set DEV before check for !BSY.
26314 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26315 read/write in one loop. Fix invalid command on write. Fix incomplete
26316 command on (size % batch) == 0. Add missing error check after write of
26317 last block. Add debug messages.
26318 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26319
26320 2009-01-19 Christian Franke <franke@computer.org>
26321
26322 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26323 (GRUB_ATAPI_IREASON_*): Likewise.
26324 (grub_ata_pio_write): Fix timeout error return.
26325 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26326 (grub_atapi_wait_drq): New function.
26327 (grub_atapi_packet): New parameter `size'.
26328 Use grub_atapi_wait_drq () and direct write instead of
26329 grub_ata_pio_write ().
26330 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26331 reads the number of bytes requested by the device for each DRQ
26332 assertion.
26333 (grub_atapi_write): Remove old implementation, return not
26334 implemented instead.
26335
26336 2009-01-19 Christian Franke <franke@computer.org>
26337
26338 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26339 of 512 to calculate data size.
26340 (grub_scsi_read12): Likewise.
26341 (grub_scsi_write10): Likewise.
26342 (grub_scsi_write12): Likewise.
26343 (grub_scsi_read): Adjust size according to blocksize.
26344 Add checks for invalid blocksize and unaligned transfer.
26345
26346 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26347
26348 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26349
26350 * term/gfxterm.c (write_char): Fix background rendering for wide
26351 width glyphs.
26352
26353 2009-01-19 Robert Millan <rmh@aybabtu.com>
26354
26355 * config.guess: Update to latest version from config git.
26356 * config.sub: Likewise.
26357
26358 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
26359
26360 * Makefile.in: Change font compilation to use new grub-mkfont instead
26361 of java version.
26362
26363 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26364 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26365 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26366 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26367 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26368 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26369 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26370 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26371 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26372
26373 2009-01-16 Christian Franke <franke@computer.org>
26374
26375 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26376 (enum grub_ata_timeout_milliseconds): New enum.
26377 (grub_ata_wait_status): Add parameter milliseconds.
26378 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26379 recovery from timed-out commands.
26380 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26381 return grub_errno instead of REG_ERROR.
26382 (grub_ata_pio_write): Add parameter milliseconds.
26383 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26384 Pass milliseconds to grub_ata_wait_status () and
26385 grub_ata_pio_read ().
26386 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26387 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26388 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26389 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26390 It is not suitable for device detection, because DEV bit is ignored,
26391 the command may run too long, and not all devices set the signature
26392 properly.
26393 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26394 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26395 Fix device selection, DEV bit must be set first to address the registers
26396 of the correct device.
26397 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26398 grub_ata_pio_read/write ().
26399 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26400 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26401
26402 2009-01-13 Carles Pina i Estany <carles@pina.cat>
26403
26404 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26405
26406 2009-01-13 Bean <bean123ch@gmail.com>
26407
26408 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26409
26410 2009-01-13 Bean <bean123ch@gmail.com>
26411
26412 * Makefile.in: (enable_grub_mkfont): New variable.
26413 (freetype_cflags): Likewise.
26414 (freetype_libs): Likewise.
26415
26416 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26417 (grub_mkfont_SOURCES): New variable.
26418 (grub_mkfont_CFLAGS): Likewise.
26419 (grub_mkfont_LDFLAGS): Likewise.
26420
26421 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26422 library if `--enable-grub-mkfont' is requested.
26423 (enable_grub_mkfont): New variable.
26424 (freetype_cflags): Likewise.
26425 (freetype_libs): Likewise.
26426
26427 * util/grub-mkfont.c: New file.
26428
26429 2009-01-12 Christian Franke <franke@computer.org>
26430
26431 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26432 mode check. Fix setting of compat_use[].
26433
26434 2009-01-10 Robert Millan <rmh@aybabtu.com>
26435
26436 Update a few copyright years which we forgot to do in 2008 (only for
26437 files whose changes made in 2008 were copyright-significant)
26438
26439 * Makefile.in: Add 2008 to Copyright line.
26440 * disk/ieee1275/ofdisk.c: Likewise.
26441 * disk/efi/efidisk.c: Likewise.
26442 * kern/dl.c: Likewise.
26443 * kern/sparc64/ieee1275/init.c: Likewise.
26444 * kern/mm.c: Likewise.
26445 * kern/efi/mm.c: Likewise.
26446 * boot/i386/pc/boot.S: Likewise.
26447 * genfslist.sh: Likewise.
26448 * fs/iso9660.c: Likewise.
26449 * fs/hfs.c: Likewise.
26450 * fs/jfs.c: Likewise.
26451 * fs/minix.c: Likewise.
26452 * fs/ufs.c: Likewise.
26453 * gensymlist.sh.in: Likewise.
26454 * genkernsyms.sh.in: Likewise.
26455 * include/grub/misc.h: Likewise.
26456 * include/grub/types.h: Likewise.
26457 * include/grub/symbol.h: Likewise.
26458 * include/grub/elf.h: Likewise.
26459 * include/grub/kernel.h: Likewise.
26460 * include/grub/disk.h: Likewise.
26461 * include/grub/dl.h: Likewise.
26462 * include/grub/i386/linux.h: Likewise.
26463 * include/grub/i386/pc/biosdisk.h: Likewise.
26464 * include/grub/efi/api.h: Likewise.
26465 * include/grub/efi/pe32.h: Likewise.
26466 * include/grub/util/misc.h: Likewise.
26467 * normal/execute.c: Likewise.
26468 * normal/arg.c: Likewise.
26469 * normal/completion.c: Likewise.
26470 * normal/lexer.c: Likewise.
26471 * normal/parser.y: Likewise.
26472 * normal/misc.c: Likewise.
26473 * commands/i386/pc/vbeinfo.c: Likewise.
26474 * commands/hexdump.c: Likewise.
26475 * commands/terminal.c: Likewise.
26476 * commands/ls.c: Likewise.
26477 * commands/help.c: Likewise.
26478 * partmap/pc.c: Likewise.
26479 * loader/efi/chainloader.c: Likewise.
26480 * loader/multiboot_loader.c: Likewise.
26481 * loader/i386/pc/multiboot2.c: Likewise.
26482 * term/efi/console.c: Likewise.
26483 * term/i386/pc/serial.c: Likewise.
26484 * util/lvm.c: Likewise.
26485 * util/console.c: Likewise.
26486 * util/i386/efi/grub-mkimage.c: Likewise.
26487 * util/raid.c: Likewise.
26488
26489 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26490
26491 * commands/videotest.c: Removed include to grub/machine/memory.h.
26492
26493 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26494 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26495 (video_mod_SOURCES): Removed.
26496 (video_mod_CFLAGS): Likewise.
26497 (video_mod_LDFLAGS): Likewise.
26498 (gfxterm_mod_SOURCES): Likewise.
26499 (gfxterm_mod_CFLAGS): Likewise.
26500 (gfxterm_mod_LDFLAGS): Likewise.
26501 (videotest_mod_SOURCES): Likewise.
26502 (videotest_mod_CFLAGS): Likewise.
26503 (videotest_mod_LDFLAGS): Likewise.
26504 (bitmap_mod_SOURCES): Likewise.
26505 (bitmap_mod_CFLAGS): Likewise.
26506 (bitmap_mod_LDFLAGS): Likewise.
26507 (tga_mod_SOURCES): Likewise.
26508 (tga_mod_CFLAGS): Likewise.
26509 (tga_mod_LDFLAGS): Likewise.
26510 (jpeg_mod_SOURCES): Likewise.
26511 (jpeg_mod_CFLAGS): Likewise.
26512 (jpeg_mod_LDFLAGS): Likewise.
26513 (png_mod_SOURCES): Likewise.
26514 (png_mod_CFLAGS): Likewise.
26515 (png_mod_LDFLAGS): Likewise.
26516
26517 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26518 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26519 (video_mod_SOURCES): Added.
26520 (video_mod_CFLAGS): Likewise.
26521 (video_mod_LDFLAGS): Likewise.
26522 (videotest_mod_SOURCES): Likewise.
26523 (videotest_mod_CFLAGS): Likewise.
26524 (videotest_mod_LDFLAGS): Likewise.
26525 (bitmap_mod_SOURCES): Likewise.
26526 (bitmap_mod_CFLAGS): Likewise.
26527 (bitmap_mod_LDFLAGS): Likewise.
26528 (tga_mod_SOURCES): Likewise.
26529 (tga_mod_CFLAGS): Likewise.
26530 (tga_mod_LDFLAGS): Likewise.
26531 (jpeg_mod_SOURCES): Likewise.
26532 (jpeg_mod_CFLAGS): Likewise.
26533 (jpeg_mod_LDFLAGS): Likewise.
26534 (png_mod_SOURCES): Likewise.
26535 (png_mod_CFLAGS): Likewise.
26536 (png_mod_LDFLAGS): Likewise.
26537 (gfxterm_mod_SOURCES): Likewise.
26538 (gfxterm_mod_CFLAGS): Likewise.
26539 (gfxterm_mod_LDFLAGS): Likewise.
26540
26541 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26542 grub/machine/console.h.
26543
26544 2009-01-04 Jerone Young <jerone@gmail.com>
26545
26546 Make on screen instructions clearer
26547
26548 Based on patch created by Jidanni <jidanni@jidanni.org>
26549
26550 * normal/menu.c: print clearer instructions on the screen
26551
26552 2009-01-02 Colin D Bennett <colin@gibibit.com>
26553
26554 New font engine.
26555
26556 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26557 build system and fixed gfxterm.c to work with different sized fonts.
26558
26559 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
26560
26561 * configure: Re-generated.
26562
26563 * DISTLIST: Removed font/manager.c.
26564 Added font/font.c.
26565 Added font/font_cmd.c.
26566
26567 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26568 compilation.
26569
26570 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
26571
26572 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
26573
26574 * kern/term.c: Changed users of grub_utf8_to_ucs4.
26575
26576 * normal/menu.c: Likewise.
26577
26578 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26579 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
26580
26581 * include/grub/font.h: Replaced with new file.
26582
26583 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26584 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26585 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26586 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26587 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
26588 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
26589 fg_red, fg_green, fg_blue, fg_alpha.
26590 (grub_video_adapter): Removed blit_glyph.
26591 (grub_video_blit_glyph): Removed.
26592
26593 * font/manager.c: Removed file.
26594
26595 * font/font.c: New file.
26596
26597 * font/font_cmd.c: Likewise.
26598
26599 * video/video.c (grub_video_blit_glyph): Removed.
26600
26601 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26602 (grub_video_vbe_map_rgba): Likewise.
26603 (grub_video_vbe_unmap_color_int): Likewise.
26604 (grub_video_vbe_blit_glyph): Removed.
26605 (grub_video_vbe_adapter): Removed blit_glyph.
26606
26607 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26608 (get_pixel): Likewise.
26609 (set_pixel): Likewise.
26610
26611 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
26612
26613 * term/gfxterm.c: Adapted to new font engine.
26614
26615 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
26616
26617 * term/i386/pc/vga.c: Likewise.
26618
26619 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
26620
26621 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26622
26623 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26624
26625 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26626
26627 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26628
26629 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26630
26631 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26632
26633 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26634
26635 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26636
26637 * util/grub.d/00_header.in: Changed to use new loadfont command.
26638
26639 * util/grub-mkconfig_lib.in: Changed font extension.
26640
26641 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
26642
26643 * util/getroot.c (grub_util_get_grub_dev): Add support for
26644 /dev/md/dNNpNN style partitionable mdraid devices.
26645
26646 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
26647
26648 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26649 at a time limit of the PXE TFTP API correctly.
26650 (grub_pxefs_close): Likewise.
26651
26652 2008-11-29 Robert Millan <rmh@aybabtu.com>
26653
26654 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
26655 grub_ata_device_initialize() calls.
26656
26657 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
26658
26659 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26660 iteration failed.
26661 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26662
26663 2008-11-28 Robert Millan <rmh@aybabtu.com>
26664
26665 Fix build on powerpc-ieee1275. Based on patch created by
26666 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26667 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26668 `kern/ieee1275/mmap.c'.
26669 * include/grub/powerpc/ieee1275/memory.h: New file.
26670
26671 Provide grub-install on coreboot.
26672 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26673 (grub_install_SOURCES): New variable.
26674 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26675 usable on coreboot.
26676
26677 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
26678
26679 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26680 to `grub_term_input_t'.
26681 (grub_term_get_current_output): Change return type to
26682 `grub_term_output_t'.
26683
26684 2008-11-22 Robert Millan <rmh@aybabtu.com>
26685
26686 Fix breakage on coreboot due to declaration mismatch.
26687 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26688 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26689 grub_vga_text_cls().
26690
26691 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
26692 comments. Avoid copying one more byte than necessary (just in case).
26693
26694 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26695 to 0x200000 (avoids trouble with some OFW implementations, and matches
26696 with the one in Yaboot).
26697 Reported by Manoel Abranches
26698
26699 2008-11-20 Robert Millan <rmh@aybabtu.com>
26700
26701 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26702 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26703
26704 * util/grub-mkconfig_lib.in (grub_warn): New function.
26705 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26706 warnings, to obtain consistent formatting.
26707 * util/grub.d/00_header.in: Likewise.
26708 * util/update-grub_lib.in: Likewise.
26709
26710 * loader/i386/linux.c (allocate_pages): Fix a warning.
26711 Move comment text to `#error' stanza.
26712
26713 Harmonize ieee1275's grub_available_iterate() with the generic
26714 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26715 build problem on i386-ieee1275):
26716 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26717 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26718 parameter `type'. Update all users of this function.
26719 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26720 `kern/ieee1275/mmap.c'.
26721 * kern/ieee1275/init.c
26722 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26723 with ...
26724 (grub_machine_mmap_iterate): ... this.
26725 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26726 return type to `grub_err_t'. Update all implementations of this
26727 function prototype.
26728 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26729 Likewise.
26730
26731 Add `lsmmap' command (lists firmware-provided memory map):
26732 * commands/lsmmap.c: New file.
26733 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
26734 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
26735 variables.
26736 * conf/powerpc-ieee1275.rmk: Likewise.
26737 * conf/i386-coreboot.rmk: Likewise.
26738 * conf/i386-ieee1275.rmk: Likewise.
26739
26740 2008-11-19 Robert Millan <rmh@aybabtu.com>
26741
26742 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
26743 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
26744 constraints to initrd allocation (based on code from
26745 loader/i386/pc/linux.c). Without them, initrd was allocated too high
26746 for Linux to find it.
26747
26748 2008-11-14 Robert Millan <rmh@aybabtu.com>
26749
26750 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
26751 order to cope with duplicate slashes.
26752
26753 2008-11-14 Robert Millan <rmh@aybabtu.com>
26754
26755 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
26756 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
26757 don't want to mess with lower memory, because it is used in the Linux
26758 loader.
26759
26760 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
26761 an appropriate place in lower memory, between 0x10000 and 0x90000,
26762 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
26763 is in our heap (probably as a result of it being corrupted during
26764 decompression). Add #error instance with comment to explain why this
26765 loader isn't currently usable on PC/BIOS.
26766
26767 2008-11-14 Robert Millan <rmh@aybabtu.com>
26768
26769 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
26770 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
26771
26772 2008-11-12 Robert Millan <rmh@aybabtu.com>
26773
26774 Make loader/i386/linux.c buildable on i386-pc (although disabled).
26775
26776 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
26777 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
26778 from here ...
26779 * include/grub/i386/pc/memory.h: ... to here.
26780
26781 2008-11-12 Robert Millan <rmh@aybabtu.com>
26782
26783 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
26784 split).
26785
26786 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
26787 (grub_console_cur_color, grub_console_real_putchar)
26788 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26789 (grub_console_setcolorstate, grub_console_setcolor)
26790 (grub_console_getcolor): Move from here ...
26791 * include/grub/i386/vga_common.h: ... to here (new file).
26792
26793 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
26794 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
26795 `<grub/i386/io.h>'.
26796 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
26797 `<grub/i386/vga_common.h>'.
26798
26799 2008-11-12 Robert Millan <rmh@aybabtu.com>
26800
26801 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
26802 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
26803 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
26804 variables.
26805 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26806 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
26807
26808 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
26809 grub_console_init() with call to grub_vga_text_init().
26810 (grub_machine_fini): Replace call to
26811 grub_console_fini() with call to grub_vga_text_fini() and
26812 grub_at_keyboard_fini().
26813
26814 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
26815 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26816 (grub_console_setcolorstate, grub_console_setcolor)
26817 (grub_console_getcolor): New function prototypes.
26818
26819 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
26820 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
26821 (grub_vga_text_setcursor): Static-ize.
26822 (grub_vga_text_term): New structure.
26823 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
26824
26825 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
26826 (grub_console_cur_color, grub_console_standard_color)
26827 (grub_console_normal_color, grub_console_highlight_color)
26828 (map_char, grub_console_putchar, grub_console_getcharwidth)
26829 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
26830 (grub_console_getcolor): Move from here ...
26831 * term/i386/vga_common.c: ... to here (same function names).
26832
26833 2008-11-12 Robert Millan <rmh@aybabtu.com>
26834
26835 Use newly-added Multiboot support in coreboot.
26836
26837 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26838 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
26839
26840 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
26841 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
26842 (codestart): Store the MBI in `startup_multiboot_info' when we're
26843 being loaded using Multiboot.
26844
26845 * kern/i386/coreboot/init.c (grub_machine_init): Move
26846 grub_at_keyboard_init() call to beginning of function (useful for
26847 debugging). Call grub_machine_mmap_init() before attempting to use
26848 grub_machine_mmap_iterate().
26849 (grub_lower_mem, grub_upper_mem): Move from here ...
26850 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
26851 here (new file).
26852
26853 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
26854 function prototype.
26855
26856 2008-11-12 Robert Millan <rmh@aybabtu.com>
26857
26858 Fix a regression introduced by the at_keyboard.mod split. Because
26859 some terminals are default on some platforms and non-default on
26860 others, the first terminal being registered determines which is
26861 going to be default.
26862
26863 * kern/term.c (grub_term_register_input): If this is the first
26864 terminal being registered, set it as the current one.
26865 (grub_term_register_output): Likewise.
26866
26867 * term/efi/console.c (grub_console_init): Do not call
26868 grub_term_set_current_output() or grub_term_set_current_input().
26869 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
26870 * term/i386/pc/console.c (grub_console_init): Likewise.
26871 (grub_console_fini): Do not call grub_term_set_current_input()
26872 (but leave grub_term_set_current_output() to restore text mode).
26873
26874 2008-11-10 Robert Millan <rmh@aybabtu.com>
26875
26876 * util/grub.d/00_header.in: Add backward compatibility check for
26877 versions of terminal.mod that don't understand `terminal_input' or
26878 `terminal_output'.
26879
26880 2008-11-09 Robert Millan <rmh@aybabtu.com>
26881
26882 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
26883 `terminal_input' / `terminal_output', not `terminal'.
26884
26885 2008-11-08 Robert Millan <rmh@aybabtu.com>
26886
26887 * Makefile.in (include_DATA): Fix srcdir=. assumption.
26888 (DISTCLEANFILES): Add `build_env.mk'.
26889
26890 2008-11-08 Robert Millan <rmh@aybabtu.com>
26891
26892 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
26893 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26894 members. Update all users.
26895 * util/console.c (grub_ncurses_term): Split in ...
26896 (grub_ncurses_term_input): ... this, and ...
26897 (grub_ncurses_term_output): ... this. Update all users.
26898 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
26899
26900 2008-11-08 Robert Millan <rmh@aybabtu.com>
26901
26902 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
26903 (PKGDATA): Add $(pkgdata_SRCDIR).
26904 (pkglib_BUILDDIR): New variable.
26905 (pkgdata_SRCDIR): New variable.
26906 (build_env.mk): New target.
26907 (include_DATA): New variable.
26908 (install-local): Install $(include_DATA) files in $(includedir).
26909
26910 2008-11-07 Pavel Roskin <proski@gnu.org>
26911
26912 * gendistlist.sh: Use C locale for sorting to ensure consistent
26913 output on all systems.
26914
26915 * util/grub.d/00_header.in: Remove incorrect space before
26916 "serial".
26917
26918 2008-11-07 Robert Millan <rmh@aybabtu.com>
26919
26920 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
26921 per specification.
26922 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
26923 * loader/multiboot_loader.c (find_multi_boot2_header): New function
26924 (based on find_multi_boot1_header).
26925 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
26926 using find_multi_boot2_header(), and abort if neither Multiboot or
26927 Multiboot headers were found.
26928
26929 2008-11-07 Robert Millan <rmh@aybabtu.com>
26930
26931 Modularize at_keyboard.mod:
26932
26933 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
26934 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26935 (at_keyboard_mod_LDFLAGS): New variables.
26936
26937 Actual terminal split:
26938
26939 * include/grub/term.h (struct grub_term): Split in ...
26940 (struct grub_term_input): ... this, and ...
26941 (struct grub_term_output): ... this. Update all users.
26942 (grub_term_set_current): Split in ...
26943 (grub_term_set_current_input): ... this, and ...
26944 (grub_term_set_current_output): ... this.
26945 (grub_term_get_current): Split in ...
26946 (grub_term_get_current_input): ... this, and ...
26947 (grub_term_get_current_output): ... this.
26948 (grub_term_register): Split in ...
26949 (grub_term_register_input): ... this, and ...
26950 (grub_term_register_output): ... this.
26951 (grub_term_unregister): Split in ...
26952 (grub_term_unregister_input): ... this, and ...
26953 (grub_term_unregister_output): ... this.
26954 (grub_term_iterate): Split in ...
26955 (grub_term_iterate_input): ... this, and ...
26956 (grub_term_iterate_output): ... this.
26957
26958 * kern/term.c (grub_term_list): Split in ...
26959 (grub_term_list_input): ... this, and ...
26960 (grub_term_list_output): ... this. Update all users.
26961 (grub_cur_term): Split in ...
26962 (grub_cur_term_input): ... this, and ...
26963 (grub_cur_term_output): ... this. Update all users.
26964 (grub_term_set_current): Split in ...
26965 (grub_term_set_current_input): ... this, and ...
26966 (grub_term_set_current_output): ... this.
26967 (grub_term_get_current): Split in ...
26968 (grub_term_get_current_input): ... this, and ...
26969 (grub_term_get_current_output): ... this.
26970 (grub_term_register): Split in ...
26971 (grub_term_register_input): ... this, and ...
26972 (grub_term_register_output): ... this.
26973 (grub_term_unregister): Split in ...
26974 (grub_term_unregister_input): ... this, and ...
26975 (grub_term_unregister_output): ... this.
26976 (grub_term_iterate): Split in ...
26977 (grub_term_iterate_input): ... this, and ...
26978 (grub_term_iterate_output): ... this.
26979
26980 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
26981 a check for input and one for output (and only attempt to get keys
26982 from user when input works).
26983
26984 * util/grub-probe.c (grub_term_get_current): Split in ...
26985 (grub_term_get_current_input): ... this, and ...
26986 (grub_term_get_current_output): ... this.
26987 * util/grub-fstest.c: Likewise.
26988 * util/i386/pc/grub-setup.c: Likewise.
26989 * util/grub-editenv.c: Likewise.
26990
26991 Portability adjustments:
26992
26993 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
26994 `term/i386/pc/at_keyboard.c'.
26995 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
26996 grub_keyboard_controller_init() (now handled by terminal .init).
26997 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
26998 grub_at_keyboard_init().
26999 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
27000 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
27001 at_keyboard.mod via input terminal interface).
27002 * include/grub/i386/coreboot/console.h: Convert into a stub for
27003 `<grub/i386/pc/console.h>'.
27004
27005 Migrate full terminals to new API:
27006
27007 * term/efi/console.c (grub_console_term): Split into ...
27008 (grub_console_term_input): ... this, and ...
27009 (grub_console_term_output): ... this. Update all users.
27010 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
27011 (grub_ofconsole_init): Split into ...
27012 (grub_ofconsole_init_input): ... this, and ...
27013 (grub_ofconsole_init_output): ... this.
27014 (grub_ofconsole_term): Split into ...
27015 (grub_ofconsole_term_input): ... this, and ...
27016 (grub_ofconsole_term_output): ... this. Update all users.
27017 * term/i386/pc/serial.c (grub_serial_term): Split into ...
27018 (grub_serial_term_input): ... this, and ...
27019 (grub_serial_term_output): ... this. Update all users.
27020 * term/i386/pc/console.c (grub_console_term): Split into ...
27021 (grub_console_term_input): ... this, and ...
27022 (grub_console_term_output): ... this. Update all users.
27023 (grub_console_term_input): Only enable it on PC/BIOS platform.
27024 (grub_console_init): Remove grub_keyboard_controller_init() call.
27025
27026 Migrate input terminals to new API:
27027
27028 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
27029 `i386' and `i386/pc' to enable build on x86_64 (this driver is
27030 i386-specific anyway).
27031 (grub_console_checkkey): Rename to ...
27032 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
27033 users.
27034 (grub_keyboard_controller_orig): New variable.
27035 (grub_console_getkey): Rename to ...
27036 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
27037 users.
27038 (grub_keyboard_controller_init): Static-ize. Save original
27039 controller value so that it can be restored ...
27040 (grub_keyboard_controller_fini): ... here (new function).
27041 (grub_at_keyboard_term): New structure.
27042 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
27043 functions.
27044
27045 Migrate output terminals to new API:
27046
27047 * term/i386/pc/vga.c (grub_vga_term): Change type to
27048 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27049 members. Update all users.
27050 * term/gfxterm.c (grub_video_term): Change type to
27051 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
27052 members. Update all users.
27053 * include/grub/i386/pc/console.h (grub_console_checkkey)
27054 (grub_console_getkey): Do not export (no longer needed by gfxterm,
27055 etc).
27056
27057 Migrate `terminal' command and userland tools to new API:
27058
27059 * commands/terminal.c (grub_cmd_terminal): Split into ...
27060 (grub_cmd_terminal_input): ... this, and ...
27061 (grub_cmd_terminal_output): ... this.
27062 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27063 `terminal_input' and `terminal_output'.
27064 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27065 `terminal_input' / `terminal_output' API.
27066 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27067 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27068 provided ${GRUB_TERMINAL}, convert it).
27069
27070 2008-11-04 Robert Millan <rmh@aybabtu.com>
27071
27072 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27073 for FreeBSD.
27074 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27075
27076 2008-11-03 Bean <bean123ch@gmail.com>
27077
27078 * kern/elf.c (grub_elf32_load): Revert to previous code.
27079 (grub_elf64_load): Likewise.
27080
27081 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27082
27083 2008-11-01 Robert Millan <rmh@aybabtu.com>
27084
27085 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27086 (TARGET_CPPFLAGS): Likewise.
27087 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27088
27089 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27090
27091 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27092
27093 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27094
27095 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27096 addition of objects until the code is not going to be able to fail.
27097
27098 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27099
27100 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27101 (add a missing NULL check, and correct them by moving the pointer
27102 operations after the actual check).
27103
27104 2008-10-29 Robert Millan <rmh@aybabtu.com>
27105
27106 * util/i386/pc/grub-install.in: Handle empty string as output from
27107 make_system_path_relative_to_its_root().
27108
27109 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27110
27111 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27112 circular metadata worst case scenario. If the metadata is circular
27113 then copy the wrap in place.
27114 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27115 project lib/format_text/layout.h
27116 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27117
27118 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27119
27120 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27121
27122 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27123
27124 * util/update-grub_lib.in: Mention filename in warning message.
27125
27126 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27127
27128 * NEWS: Update for rename of update-grub to grub-mkconfig.
27129
27130 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27131
27132 * util/update-grub_lib.in: Copy to ...
27133 * util/grub-mkconfig_lib.in: ... this. Update all users.
27134 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27135 * util/update-grub.in: Rename to ...
27136 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27137 option. Add `--output' option to allow users to specify the generated
27138 configuration file. Default to stdout.
27139 (update_grub_dir): Rename to ...
27140 (grub_mkconfig_dir): ... this.
27141 (grub_cfg): Default to an empty string.
27142 * conf/common.rmk (update-grub): Rename to ...
27143 (grub-mkconfig): ... this.
27144 (update-grub_lib): Copy to ...
27145 (grub-mkconfig_lib): ... this.
27146 (update-grub_SCRIPTS): Copy to ...
27147 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27148 (update-grub_DATA): Rename to ...
27149 (grub-mkconfig_DATA): ... this.
27150
27151 2008-09-28 Robert Millan <rmh@aybabtu.com>
27152
27153 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27154 to `modified'. Add the real `created' field.
27155 (grub_iso9660_uuid): Use `modified' rather than `created' for
27156 constructing the UUID.
27157
27158 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27159
27160 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27161 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27162
27163 2008-09-28 Bean <bean123ch@gmail.com>
27164
27165 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27166 Thanks to Christian Franke for finding this bug.
27167
27168 2008-09-25 Robert Millan <rmh@aybabtu.com>
27169
27170 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27171 instances of grub_util_get_disk_name() (see previous commit).
27172
27173 2008-09-25 Robert Millan <rmh@aybabtu.com>
27174
27175 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27176 `util/i386/get_disk_name.c'.
27177 * conf/i386-efi.rmk: Likewise.
27178 * conf/x86_64-efi.rmk: Likewise.
27179 * conf/i386-coreboot.rmk: Likewise.
27180 * conf/i386-ieee1275.rmk: Likewise.
27181 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27182 `util/ieee1275/get_disk_name.c'.
27183 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27184 * util/ieee1275/get_disk_name.c: Remove file.
27185 * util/i386/get_disk_name.c: Remove file.
27186 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27187 "hd%d" for device.map entries, rather than using
27188 grub_util_get_disk_name().
27189
27190 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27191
27192 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27193 warning.
27194 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27195
27196 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27197
27198 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27199 Changed to 0x5100.
27200 (GRUB_TERM_PPAGE): Changed to 0x4900.
27201
27202 2008-09-24 Robert Millan <rmh@aybabtu.com>
27203
27204 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27205 macros (they were i386-pc specific).
27206 * include/grub/sparc64/ieee1275/console.h: Likewise.
27207 * include/grub/efi/console.h: Likewise.
27208
27209 2008-09-22 Bean <bean123ch@gmail.com>
27210
27211 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27212 resident and in attribute list.
27213
27214 * include/grub/ntfs.h (BMP_LEN): Removed.
27215
27216 2008-09-22 Bean <bean123ch@gmail.com>
27217
27218 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27219 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27220
27221 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27222 error occurs, as grub_disk_open will call grub_disk_close, which will
27223 call p->close (scsi).
27224
27225 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27226
27227 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27228 (AC_PREREQ): Bumped to 2.59.
27229 (AC_TRY_COMPILE): Replace obsolete macro with ...
27230 (AC_COMPILE_IFELSE): ... this.
27231 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27232 (AC_LINK_IFELSE): ... this.
27233
27234 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27235
27236 * autogen.sh: Add a call to `gendistlist.sh'.
27237
27238 2008-09-19 Christian Franke <franke@computer.org>
27239
27240 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27241 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27242 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27243 Export __enable_execute_stack() to modules.
27244 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27245 New function.
27246
27247 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27248
27249 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27250 Sort the list.
27251
27252 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27253
27254 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27255 #include <grub/util/hostdisk.h>.
27256
27257 2008-09-08 Robert Millan <rmh@aybabtu.com>
27258
27259 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27260 segments when their filesz is zero (grub_file_read() interprets
27261 zero-size as "read until EOF", which results in memory corruption).
27262 Use `lowest_segment' rather than 0 for calculating the current
27263 segment load address.
27264
27265 2008-09-08 Robert Millan <rmh@aybabtu.com>
27266
27267 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27268 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27269 clobbered useful information.
27270
27271 2008-09-08 Robert Millan <rmh@aybabtu.com>
27272
27273 * include/grub/util/biosdisk.h: Move to ...
27274 * include/grub/util/hostdisk.h: ... here. Update all users.
27275 * util/biosdisk.c: Move to ...
27276 * util/hostdisk.c: ... here. Update all users.
27277
27278 2008-09-07 Robert Millan <rmh@aybabtu.com>
27279
27280 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27281 variables.
27282 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27283 and length can be stored directly in the `mbi->mmap_addr' and
27284 `mbi->mmap_length' struct fields.
27285
27286 2008-09-07 Robert Millan <rmh@aybabtu.com>
27287
27288 * conf/i386.rmk: New file. Provides declaration for building
27289 `cpuid.mod'.
27290 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27291 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27292 variables.
27293 Include `conf/i386.mk'.
27294 * conf/i386-efi.rmk: Likewise.
27295 * conf/x86_64-efi.rmk: Likewise.
27296 * conf/i386-coreboot.rmk: Likewise.
27297 * conf/i386-ieee1275.rmk: Likewise.
27298
27299 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27300
27301 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27302 Adds optimization support for BGR based modes.
27303
27304 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27305 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27306 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27307 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27308 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27309 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27310 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27311 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27312 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27313 (grub_video_i386_vbeblit_index_index): Likewise.
27314 (grub_video_i386_vbeblit_replace_directN): Added.
27315 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27316 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27317 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27318 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27319 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27320 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27321 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27322 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27323 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27324 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27325 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27326 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27327 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27328
27329 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27330 (grub_video_i386_vbefill_R8G8B8): Likewise.
27331 (grub_video_i386_vbefill_index): Likewise.
27332 (grub_video_i386_vbefill_direct32): Added.
27333 (grub_video_i386_vbefill_direct24): Likewise.
27334 (grub_video_i386_vbefill_direct16): Likewise.
27335 (grub_video_i386_vbefill_direct8): Likewise.
27336
27337 * include/grub/video.h (grub_video_blit_format): Removed
27338 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27339 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27340 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27341 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27342 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
27343
27344 * video/video.c (grub_video_get_blit_format): Updated to use new
27345 blit formats. Added handling for 16 bit color modes.
27346
27347 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
27348 fillers.
27349 (common_blitter): Updated to use new blitters.
27350
27351 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27352 Removed.
27353 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27354 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27355 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27356 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27357 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27358 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27359 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27360 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27361 (grub_video_i386_vbeblit_index_index): Likewise.
27362 (grub_video_i386_vbeblit_replace_directN): Added.
27363 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27364 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27365 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27366 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27367 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27368 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27369 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27370 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27371 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27372 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27373 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27374 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27375 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27376
27377 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27378 (grub_video_i386_vbefill_R8G8B8): Likewise.
27379 (grub_video_i386_vbefill_index): Likewise.
27380 (grub_video_i386_vbefill_direct32): Added.
27381 (grub_video_i386_vbefill_direct24): Likewise.
27382 (grub_video_i386_vbefill_direct16): Likewise.
27383 (grub_video_i386_vbefill_direct8): Likewise.
27384
27385 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27386 types.
27387
27388 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27389 types.
27390
27391 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27392 blitter types.
27393
27394 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27395 types.
27396
27397 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27398
27399 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27400 RAID level 1.
27401
27402 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27403
27404 * fs/iso9660.c (grub_iso9660_date): New structure.
27405 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27406 (grub_iso9660_uuid): New function.
27407
27408 2008-09-05 Bean <bean123ch@gmail.com>
27409
27410 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27411
27412 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27413 insensitive bit for names in Win32 and Win32 & DOS namespace.
27414
27415 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27416
27417 * include/grub/types.h (LONG_MAX): Likewise.
27418
27419 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27420
27421 * util/getroot.c: Include <config.h>.
27422 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27423 add support for /dev/md/N devices and handle LVM double dash escaping.
27424
27425 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27426
27427 * config.guess: Update to latest version from config git.
27428 * config.sub: Likewise.
27429
27430 2008-09-03 Robert Millan <rmh@aybabtu.com>
27431
27432 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27433 `disk->total_sectors'.
27434
27435 2008-09-01 Colin D Bennett <colin@gibibit.com>
27436
27437 * include/grub/normal.h: Fixed incorrect comment for
27438 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27439
27440 2008-09-01 Colin D Bennett <colin@gibibit.com>
27441
27442 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27443 values with defines.
27444
27445 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27446 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27447 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27448 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27449 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27450 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27451 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27452 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27453 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27454 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27455 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27456 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27457 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27458 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27459 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27460 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27461 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27462 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27463 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27464
27465 2008-08-31 Robert Millan <rmh@aybabtu.com>
27466
27467 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27468 declaration.
27469 (grub_multiboot): Fix a few warnings.
27470
27471 2008-08-31 Robert Millan <rmh@aybabtu.com>
27472
27473 * loader/i386/pc/multiboot.c: Update comment not to say that
27474 boot_device support is unimplemented.
27475
27476 2008-08-31 Robert Millan <rmh@aybabtu.com>
27477
27478 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27479 or memory map support are unimplemented.
27480
27481 2008-08-31 Colin D Bennett <colin@gibibit.com>
27482
27483 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27484
27485 2008-08-31 Colin D Bennett <colin@gibibit.com>
27486
27487 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27488 total video memory in 'vbeinfo' output; show color format details for
27489 each video mode.
27490
27491 2008-08-30 Pavel Roskin <proski@gnu.org>
27492
27493 * util/genmoddep.c: Remove for real this time.
27494 * DISTLIST: Remove util/genmoddep.c.
27495
27496 2008-08-30 Robert Millan <rmh@aybabtu.com>
27497
27498 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27499 as required by Multiboot spec (it was already 4-byte aligned, but
27500 only by chance).
27501
27502 2008-08-29 Pavel Roskin <proski@gnu.org>
27503
27504 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27505 * kern/powerpc/ieee1275/startup.S: ... this.
27506 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27507 * DISTLIST: Likewise.
27508
27509 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27510 grub/cpu/kernel.h. Add start label for consistency with other
27511 platforms. Add grub_prefix immediately after start. Add jump
27512 to the code after grub_prefix.
27513 * include/grub/powerpc/kernel.h: Provide valid values for
27514 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27515
27516 2008-08-29 Bean <bean123ch@gmail.com>
27517
27518 * configure.ac: Change host_os to cygwin for mingw.
27519 (asprintf): New check for function.
27520
27521 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27522 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27523
27524 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
27525 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
27526 sync, sleep and grub_util_get_disk_size for mingw.
27527
27528 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27529 to get size in mingw.
27530 (open_device): Use flag O_BINARY if it's defined.
27531 (find_root_device): Add dummy code for mingw.
27532
27533 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27534 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27535 (get_scsi_disk_name): Return 0 for mingw.
27536
27537 * util/hostfs.c: #include <grub/util/misc.h>.
27538 (grub_hostfs_open): Use "rb" flag to open file, use
27539 grub_util_get_disk_size to get disk size for mingw.
27540
27541 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27542 (asprintf): New function if HAVE_ASPRINTF is not set.
27543 (sync): New function for mingw.
27544 (sleep): Likewise.
27545 (grub_util_get_disk_size): Likewise.
27546
27547 2008-08-28 Pavel Roskin <proski@gnu.org>
27548
27549 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27550 kern/time.c.
27551
27552 2008-08-28 Robert Millan <rmh@aybabtu.com>
27553
27554 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27555
27556 2008-08-28 Robert Millan <rmh@aybabtu.com>
27557
27558 Change find_grub_drive() syntax so it doesn't prevent it from
27559 detecting NULL names as errors.
27560
27561 * util/biosdisk.c (find_grub_drive): Move free slot search code
27562 from here ...
27563 (find_free_slot): ... to here.
27564 (read_device_map): Use find_free_slot() to search for free slots.
27565
27566 2008-08-27 Marco Gerards <marco@gnu.org>
27567
27568 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27569 (scsi_mod_SOURCES): New variable.
27570 (scsi_mod_CFLAGS): Likewise
27571 (scsi_mod_LDFLAGS): Likewise.
27572
27573 * disk/scsi.c: New file.
27574
27575 * include/grub/scsi.h: Likewise.
27576
27577 * include/grub/scsicmd.h: Likewise.
27578
27579 * disk/ata.c: Include <grub/scsi.h>.
27580 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27581 instead.
27582 (grub_ata_iterate): Skip ATAPI devices.
27583 (grub_ata_open): Only handle ATAPI devices.
27584 (struct grub_atapi_read): Removed.
27585 (grub_atapi_readsector): Likewise.
27586 (grub_ata_read): No longer handle ATAPI devices.
27587 (grub_ata_write): Likewise.
27588 (grub_atapi_iterate): New function.
27589 (grub_atapi_read): Likewise.
27590 (grub_atapi_write): Likewise.
27591 (grub_atapi_open): Likewise.
27592 (grub_atapi_close): Likewise.
27593 (grub_atapi_dev): New variable.
27594 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27595 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27596
27597 * include/grub/disk.h (enum grub_disk_dev_id): Add
27598 `GRUB_DISK_DEVICE_SCSI_ID'.
27599
27600 2008-08-26 Robert Millan <rmh@aybabtu.com>
27601
27602 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27603 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27604 descriptive.
27605
27606 2008-08-23 Bean <bean123ch@gmail.com>
27607
27608 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27609 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27610 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27611 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27612 dm_nv.mod.
27613 (raid5rec_mod_SOURCES): New macro.
27614 (raid5rec_mod_CFLAGS): Likewise.
27615 (raid5rec_mod_LDFLAGS): Likewise.
27616 (raid6rec_mod_SOURCES): Likewise.
27617 (raid6rec_mod_CFLAGS): Likewise.
27618 (raid6rec_mod_LDFLAGS): Likewise.
27619 (mdraid_mod_SOURCES): Likewise.
27620 (mdraid_mod_CFLAGS): Likewise.
27621 (mdraid_mod_LDFLAGS): Likewise.
27622 (dm_nv_mod_SOURCES): Likewise.
27623 (dm_nv_mod_CFLAGS): Likewise.
27624 (dm_nv_mod_LDFLAGS): Likewise.
27625
27626 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27627 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27628 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27629
27630 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27631 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27632
27633 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27634
27635 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27636
27637 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27638
27639 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27640
27641 * disk/raid5_recover.c: New file.
27642
27643 * disk/raid6_recover.c: Likewise.
27644
27645 * disk/mdraid_linux.c: Likewise.
27646
27647 * disk/dmraid_nvidia.c: Likewise.
27648
27649 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27650 ULONG_MAX.
27651
27652 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27653 calculate the size of raid device.
27654 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27655 different layout of raid5.
27656 (grub_raid_scan_device): Remove code specific to mdraid.
27657 (grub_raid_list): New variable.
27658 (free_array): New function.
27659 (grub_raid_register): Likewise.
27660 (grub_raid_unregister): Likewise.
27661 (grub_raid_rescan): Likewise.
27662 (GRUB_MOD_INIT): Don't iterate device here.
27663 (GRUB_MOD_FINI): Use free_array to release resource.
27664
27665 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27666 (grub_raid5_recover_func_t): New function variable type.
27667 (grub_raid6_recover_func_t): Likewise.
27668 (grub_raid5_recover_func): New variable.
27669 (grub_raid6_recover_func): Likewise.
27670 (grub_raid_register): New function.
27671 (grub_raid_unregister): Likewise.
27672 (grub_raid_rescan): Likewise.
27673 (grub_raid_block_xor): Likewise.
27674
27675 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27676 (CMD_CRC): New macro.
27677 (part): Removed.
27678 (read_file): Handle device as well as file.
27679 (cmd_crc): New function.
27680 (fstest): Handle multiple disks.
27681 (options): Remove part, raw and long, add root and diskcount.
27682 (usage): Add crc, remove -p, -r, -l, add -r and -c.
27683 (main): Find the first non option entry and ignore subsequent options,
27684 add handling for the new options, support multiple disks.
27685
27686 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27687
27688 2008-08-23 Bean <bean123ch@gmail.com>
27689
27690 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27691
27692 * genfslist.sh: Ignore kernel.mod.
27693
27694 * genpartmaplist.sh: Likewise.
27695
27696 2008-08-23 Robert Millan <rmh@aybabtu.com>
27697
27698 * util/getroot.c (find_root_device): Skip anything that starts with
27699 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27700
27701 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
27702
27703 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27704 * util/grub.d/00_header.in: Allow the administrator to change default
27705 gfxmode via ${GRUB_GFXMODE}.
27706
27707 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
27708
27709 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27710
27711 2008-08-21 Robert Millan <rmh@aybabtu.com>
27712
27713 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27714 loader.
27715 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27716 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27717
27718 2008-08-20 Carles Pina i Estany <carles@pina.cat>
27719
27720 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27721 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27722
27723 2008-08-19 Robert Millan <rmh@aybabtu.com>
27724
27725 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27726 (struct grub_virtual_screen): Remove `cursor_color'.
27727 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27728 initialization.
27729 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27730
27731 2008-08-18 Robert Millan <rmh@aybabtu.com>
27732
27733 Unify (identical) linux_normal.c files.
27734 * loader/i386/efi/linux_normal.c: Move from here ...
27735 * loader/linux_normal.c: ... to here. Update all users.
27736 * loader/i386/pc/linux_normal.c: Delete. Update all users.
27737 * loader/i386/ieee1275/linux_normal.c: Likewise.
27738
27739 2008-08-18 Robert Millan <rmh@aybabtu.com>
27740
27741 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
27742 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
27743 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
27744 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
27745 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
27746 New macros.
27747 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
27748 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
27749 (GRUB_LINUX_CL_END_OFFSET): ... to here.
27750 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
27751 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
27752 (GRUB_EFI_CL_END_OFFSET): Rename to ...
27753 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
27754 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
27755 Initialize `params->video_cursor_x' and `params->video_cursor_y'
27756 portably using grub_getxy().
27757 Replace `-EFI' with `-bzImage' in boot message.
27758
27759 2008-08-17 Robert Millan <rmh@aybabtu.com>
27760
27761 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
27762
27763 2008-08-17 Robert Millan <rmh@aybabtu.com>
27764
27765 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
27766
27767 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
27768 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
27769 (grub_machine_mmap_iterate): New function declaration.
27770 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
27771 structure.
27772 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
27773 macros.
27774
27775 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
27776 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
27777 Move e820 parsing from here ...
27778 * kern/i386/pc/mmap.c: New file.
27779 (grub_machine_mmap_iterate): ... to here.
27780
27781 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
27782 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
27783 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
27784 (grub_available_iterate): Redeclare to return `void', and redeclare
27785 its hook to use grub_uint64_t as addr and size parameters, and rename
27786 to ...
27787 (grub_machine_mmap_iterate): ... this. Update all users.
27788
27789 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
27790 to make it more readable. Rename to ...
27791 (grub_machine_mmap_iterate): ... this.
27792
27793 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
27794 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
27795 (grub_multiboot): Allocate an extra region after the payload, and fill
27796 it with a Multiboot memory map. Adjust a.out loader to calculate size
27797 with the extra space.
27798 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
27799 with the extra space.
27800
27801 2008-08-17 Carles Pina i Estany <carles@pina.cat>
27802
27803 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
27804
27805 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
27806
27807 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
27808 mdate-sh to the list `find' searches for.
27809 * DISTLIST: Regenerated.
27810
27811 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
27812
27813 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
27814 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
27815 genmoddep.awk, gensymlist.sh.in.
27816 (DISTDIRS): Add bus, docs, hook, lib.
27817 * DISTLIST: Regenerated.
27818 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
27819
27820 2008-08-16 Robert Millan <rmh@aybabtu.com>
27821
27822 * disk/raid.c (grub_raid_init): Handle/report errors set by
27823 grub_device_iterate().
27824 * disk/lvm.c (grub_lvm_init): Likewise.
27825
27826 2008-08-15 Bean <bean123ch@gmail.com>
27827
27828 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27829 and datehook.mod.
27830 (datetime_mod_SOURCES): New macro.
27831 (datetime_mod_CFLAGS): Likewise.
27832 (datetime_mod_LDFLAGS): Likewise.
27833 (date_mod_SOURCES): Likewise.
27834 (date_mod_CFLAGS): Likewise.
27835 (date_mod_LDFLAGS): Likewise.
27836 (datehook_mod_SOURCES): Likewise.
27837 (datehook_mod_CFLAGS): Likewise.
27838 (datehook_mod_LDFLAGS): Likewise.
27839
27840 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27841 and datehook.mod.
27842 (datetime_mod_SOURCES): New macro.
27843 (datetime_mod_CFLAGS): Likewise.
27844 (datetime_mod_LDFLAGS): Likewise.
27845 (date_mod_SOURCES): Likewise.
27846 (date_mod_CFLAGS): Likewise.
27847 (date_mod_LDFLAGS): Likewise.
27848 (datehook_mod_SOURCES): Likewise.
27849 (datehook_mod_CFLAGS): Likewise.
27850 (datehook_mod_LDFLAGS): Likewise.
27851
27852 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27853 and datehook.mod.
27854 (datetime_mod_SOURCES): New macro.
27855 (datetime_mod_CFLAGS): Likewise.
27856 (datetime_mod_LDFLAGS): Likewise.
27857 (date_mod_SOURCES): Likewise.
27858 (date_mod_CFLAGS): Likewise.
27859 (date_mod_LDFLAGS): Likewise.
27860 (datehook_mod_SOURCES): Likewise.
27861 (datehook_mod_CFLAGS): Likewise.
27862 (datehook_mod_LDFLAGS): Likewise.
27863
27864 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27865 and datehook.mod.
27866 (datetime_mod_SOURCES): New macro.
27867 (datetime_mod_CFLAGS): Likewise.
27868 (datetime_mod_LDFLAGS): Likewise.
27869 (date_mod_SOURCES): Likewise.
27870 (date_mod_CFLAGS): Likewise.
27871 (date_mod_LDFLAGS): Likewise.
27872 (datehook_mod_SOURCES): Likewise.
27873 (datehook_mod_CFLAGS): Likewise.
27874 (datehook_mod_LDFLAGS): Likewise.
27875
27876 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27877 and datehook.mod.
27878 (datetime_mod_SOURCES): New macro.
27879 (datetime_mod_CFLAGS): Likewise.
27880 (datetime_mod_LDFLAGS): Likewise.
27881 (date_mod_SOURCES): Likewise.
27882 (date_mod_CFLAGS): Likewise.
27883 (date_mod_LDFLAGS): Likewise.
27884 (datehook_mod_SOURCES): Likewise.
27885 (datehook_mod_CFLAGS): Likewise.
27886 (datehook_mod_LDFLAGS): Likewise.
27887
27888 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
27889
27890 * commands/date.c: New file.
27891
27892 * hook/datehook.c: Likewise.
27893
27894 * include/grub/lib/datetime.h: Likewise.
27895
27896 * include/grub/i386/cmos.h: Likewise.
27897
27898 * lib/datetime.c: Likewise.
27899
27900 * lib/i386/datetime.c: Likewise.
27901
27902 * lib/efi/datetime.c: Likewise.
27903
27904 2008-08-14 Robert Millan <rmh@aybabtu.com>
27905
27906 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
27907 (grub_mkelfimage_SOURCES): New variable.
27908 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
27909
27910 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
27911 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
27912 * conf/powerpc-ieee1275.rmk: Likewise.
27913 * conf/i386-ieee1275.rmk: Likewise.
27914
27915 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
27916 * kern/i386/coreboot/init.c: Likewise.
27917
27918 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
27919 with `<grub/cpu/kernel.h>'.
27920 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
27921 to ...
27922 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
27923 * kern/i386/coreboot/startup.S: Likewise.
27924
27925 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
27926 (GRUB_MOD_GAP): Remove.
27927 * include/grub/powerpc/kernel.h: New file.
27928 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
27929 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27930 * include/grub/i386/kernel.h: New file.
27931 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
27932 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
27933 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27934
27935 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
27936 `grub-mkelfimage'.
27937 Use --directory when invoking grub_mkimage.
27938
27939 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
27940 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
27941 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
27942 and GRUB_KERNEL_CPU_PREFIX.
27943
27944 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
27945
27946 * include/grub/err.h (grub_err_printf): New function prototype.
27947 * util/misc.c (grub_err_printf): New function.
27948 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
27949 grub_printf.
27950 * kern/err.c (grub_print_error): Use grub_err_printf.
27951
27952 2008-08-13 Robert Millan <rmh@aybabtu.com>
27953
27954 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
27955
27956 2008-08-13 Robert Millan <rmh@aybabtu.com>
27957
27958 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
27959 boot entry.
27960
27961 2008-08-12 Robert Millan <rmh@aybabtu.com>
27962
27963 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
27964 of the relocation code from here ...
27965 (grub_multiboot): ... to here.
27966 (forward_relocator, backward_relocator): Move from here ...
27967 * kern/i386/loader.S (grub_multiboot_forward_relocator)
27968 (grub_multiboot_backward_relocator): ... to here.
27969 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
27970 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
27971 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
27972 (grub_multiboot_forward_relocator_end)
27973 (grub_multiboot_backward_relocator)
27974 (grub_multiboot_backward_relocator_end): New variables.
27975
27976 2008-08-12 Bean <bean123ch@gmail.com>
27977
27978 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
27979
27980 2008-08-11 Robert Millan <rmh@aybabtu.com>
27981
27982 * kern/i386/linuxbios/startup.S: Move from here ...
27983 * kern/i386/coreboot/startup.S: ... to here.
27984
27985 * kern/i386/linuxbios/init.c: Move from here ...
27986 * kern/i386/coreboot/init.c: ... to here.
27987
27988 * kern/i386/linuxbios/table.c: Move from here ...
27989 * kern/i386/coreboot/mmap.c: ... to here.
27990
27991 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
27992
27993 2008-08-11 Robert Millan <rmh@aybabtu.com>
27994
27995 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
27996 errors. Leave it to the upper layer to handle them.
27997
27998 2008-08-09 Christian Franke <franke@computer.org>
27999
28000 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
28001 * conf/common.rmk: Install `grub-pe2elf' only if requested.
28002 Install `grub.d/10_windows' only on Cygwin.
28003 * configure.ac: Add subst of `target_os'.
28004 Check `target_os' also before setting TARGET_OBJ2ELF.
28005 Add `--enable-grub-pe2elf'.
28006
28007 2008-08-08 Robert Millan <rmh@aybabtu.com>
28008
28009 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28010 (grub_last_time): Change type to grub_uint64_t.
28011 (grub_disk_open): Migrate code from to using grub_get_time_ms().
28012 (grub_disk_close): Likewise.
28013
28014 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
28015 (run_menu): Migrate code from to using grub_get_time_ms().
28016
28017 * util/misc.c (grub_get_time_ms): New function.
28018
28019 2008-08-08 Marco Gerards <marco@gnu.org>
28020
28021 * disk/ata.c (grub_ata_regget): Change return type to
28022 `grub_uint8_t'.
28023 (grub_ata_regget2): Likewise.
28024 (grub_ata_wait_status): New function.
28025 (grub_ata_wait_busy): Removed function, updated all users to use
28026 `grub_ata_wait_status'.
28027 (grub_ata_wait_drq): Likewise.
28028 (grub_ata_cmd): New function.
28029 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
28030 error handling.
28031 (grub_ata_pio_write): Add error handling.
28032 (grub_atapi_identify): Likewise.
28033 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
28034 handling.
28035 (grub_ata_identify): Use `grub_ata_cmd' and improve error
28036 handling. Actually use the detected registers. Reorder the
28037 detection logic such that it is easier to read.
28038 (grub_ata_pciinit): Do not assign the same ID to each controller.
28039 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
28040 handling.
28041 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
28042
28043 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
28044
28045 2008-08-08 Marco Gerards <marco@gnu.org>
28046
28047 * NEWS: Update.
28048
28049 2008-08-07 Bean <bean123ch@gmail.com>
28050
28051 * include/grub/x86_64/pci.h: New file.
28052
28053 2008-08-07 Christian Franke <franke@computer.org>
28054
28055 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
28056 (TIMER2_GATE): Likewise.
28057 (grub_pit_wait): Add enable/disable of the timer2 gate
28058 bit of port 0x61. This fixes a possible infinite loop.
28059
28060 2008-08-07 Bean <bean123ch@gmail.com>
28061
28062 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28063 kern/i386/tsc.c and kern/i386/pit.c.
28064
28065 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28066 x86_64 platform.
28067
28068 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28069 <grub/i386/tsc.h>.
28070
28071 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28072
28073 2008-08-07 Bean <bean123ch@gmail.com>
28074
28075 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28076
28077 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28078
28079 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28080 multiple inclusion. Add #include <grub/types.h>.
28081
28082 2008-08-06 Christian Franke <franke@computer.org>
28083
28084 * conf/common.rmk: Build and install `10_windows'.
28085 * util/grub.d/10_windows.in: New script.
28086
28087 2008-08-06 Pavel Roskin <proski@gnu.org>
28088
28089 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28090
28091 2008-08-06 Robert Millan <rmh@aybabtu.com>
28092
28093 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28094 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28095
28096 2008-08-06 Bean <bean123ch@gmail.com>
28097
28098 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28099 (grub_pxefs_fs_int): Remove dummy definition.
28100 (grub_pxefs_open): Use data->block_size to store the current block
28101 size setting.
28102 (grub_pxefs_read): Use block size stored in data->block_size. As the
28103 value of grub_pxe_blksize can be changed after the file is opened.
28104
28105 2008-08-06 Bean <bean123ch@gmail.com>
28106
28107 * fs/i386/pc/pxe.c (curr_file): new variable.
28108 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28109 require the dummy internal file system anymore.
28110 (grub_pxefs_read): Removed.
28111 (grub_pxefs_close): Likewise.
28112 (grub_pxefs_fs_int): Likewise.
28113 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28114 connection when we switch file.
28115 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28116
28117 2008-08-06 Robert Millan <rmh@aybabtu.com>
28118
28119 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28120 `halt.mod'.
28121 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28122 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28123
28124 * kern/i386/halt.c: New file.
28125 * kern/i386/reboot.c: Likewise.
28126 * include/grub/i386/reboot.h: Likewise.
28127 * include/grub/i386/halt.h: Likewise.
28128
28129 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28130 Include `<grub/cpu/halt.h>'.
28131 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28132 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28133
28134 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28135 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28136 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28137 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28138 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28139 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28140 from here ...
28141 * include/grub/i386/at_keyboard.h: ... to here.
28142
28143 2008-08-05 Robert Millan <rmh@aybabtu.com>
28144
28145 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28146 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28147 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28148 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28149 `kern/generic/millisleep.c'.
28150
28151 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28152 instead of grub_get_rtc().
28153 (grub_tsc_init): Initialize `tsc_boot_time'.
28154
28155 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28156 (grub_machine_init): Use grub_tsc_init() rather than
28157 installing an RTC-based handler via grub_install_get_time_ms().
28158
28159 * kern/i386/pit.c: New file.
28160 * include/grub/i386/pit.h: Likewise.
28161
28162 2008-08-05 Bean <bean123ch@gmail.com>
28163
28164 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28165
28166 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28167 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28168 (pxe_mod_SOURCES): New macro.
28169 (pxe_mod_CFLAGS): Likewise.
28170 (pxe_mod_LDFLAGS): Likewise.
28171 (pxecmd_mod_SOURCES): Likewise.
28172 (pxecmd_mod_CFLAGS): Likewise.
28173 (pxecmd_mod_LDFLAGS): Likewise.
28174
28175 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28176 (grub_pxe_call): Likewise.
28177
28178 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28179
28180 * commands/i386/pc/pxecmd.c: New file.
28181
28182 * fs/i386/pc/pxe.c: Likewise.
28183
28184 * include/grub/i386/pc/pxe.h: Likewise.
28185
28186 2008-08-05 Bean <bean123ch@gmail.com>
28187
28188 * util/console.c (grub_console_cur_color): New variable.
28189 (grub_console_standard_color): Likewise.
28190 (grub_console_normal_color): Likewise.
28191 (grub_console_highlight_color): Likewise.
28192 (color_map): Likewise.
28193 (use_color): Likewise.
28194 (NUM_COLORS): New macro.
28195 (grub_ncurses_setcolorstate): Handle color properly.
28196 (grub_ncurses_setcolor): Don't change color here, just remember the
28197 settings, color will be set in grub_ncurses_setcolorstate.
28198 (grub_ncurses_getcolor): New function.
28199 (grub_ncurses_init): Initialize color pairs.
28200 (grub_ncurses_term): New member grub_ncurses_getcolor.
28201
28202 2008-08-05 Colin D Bennett <colin@gibibit.com>
28203
28204 High resolution timer support. Implemented for x86 CPUs using TSC.
28205 Extracted generic grub_millisleep() so it's linked in only as needed.
28206 This requires a Pentium compatible CPU; if the RDTSC instruction is
28207 not supported, then it falls back on the generic grub_get_time_ms()
28208 implementation that uses the machine's RTC.
28209
28210 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28211 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28212 `kern/generic/millisleep.c'.
28213
28214 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28215 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28216
28217 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28218 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28219
28220 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28221
28222 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28223 `kern/generic/millisleep.c'.
28224
28225 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28226
28227 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28228
28229 * kern/generic/rtc_get_time_ms.c: New file.
28230
28231 * kern/generic/millisleep.c: New file.
28232
28233 * kern/misc.c: Don't include
28234 <kern/time.h> anymore.
28235 (grub_millisleep_generic): Removed.
28236
28237 * commands/sleep.c (grub_interruptible_millisleep): Uses
28238 grub_get_time_ms() instead of grub_get_rtc().
28239
28240 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28241 function.
28242 (grub_cpu_is_cpuid_supported): New inline function.
28243 (grub_cpu_is_tsc_supported): New inline function.
28244 (grub_tsc_init): New function prototype.
28245 (grub_tsc_get_time_ms): New function prototype.
28246
28247 * kern/i386/tsc.c (grub_get_time_ms): New file.
28248
28249 * include/grub/time.h: Include <grub/types.h.
28250 (grub_millisleep_generic): Removed.
28251 (grub_get_time_ms): New prototype.
28252 (grub_install_get_time_ms): New prototype.
28253 (grub_rtc_get_time_ms): New prototype.
28254
28255 * kern/time.c (grub_get_time_ms): New function.
28256 (grub_install_get_time_ms): New function.
28257
28258 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28259 <grub/time.h> anymore.
28260 (grub_millisleep): Removed.
28261 (grub_machine_init): Call grub_tsc_init.
28262
28263 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28264 get_time_ms() implementation.
28265
28266 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28267 (ieee1275_get_time_ms): New function.
28268 (grub_machine_init): Install get_time_ms() implementation.
28269
28270 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28271 (grub_machine_init): Call grub_tsc_init().
28272 (grub_millisleep): Removed.
28273
28274 * kern/ieee1275/init.c (grub_millisleep): Removed.
28275 (grub_machine_init): Install ieee1275_get_time_ms()
28276 implementation.
28277 (ieee1275_get_time_ms): New function.
28278 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28279 real work.
28280
28281 2008-08-05 Marco Gerards <marco@gnu.org>
28282
28283 * disk/ata.c: Include <grub/pci.h>.
28284 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28285 (grub_ata_initialize): Rewritten.
28286 (grub_ata_device_initialize): New function.
28287
28288 2008-08-04 Pavel Roskin <proski@gnu.org>
28289
28290 * kern/main.c: Include grub/mm.h.
28291
28292 2008-08-04 Robert Millan <rmh@aybabtu.com>
28293
28294 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28295 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28296 corruption problem).
28297
28298 2008-08-04 Robert Millan <rmh@aybabtu.com>
28299
28300 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28301 warnings introduced in my last commit.
28302
28303 2008-08-03 Robert Millan <rmh@aybabtu.com>
28304
28305 Make PCI available on all i386 architectures.
28306
28307 * include/grub/i386/pc/pci.h: Move from here ...
28308 * include/grub/i386/pci.h: ... to here.
28309
28310 * include/grub/i386/pc/pci.h: Remove.
28311 * include/grub/i386/efi/pci.h: Remove.
28312 * include/grub/x86_64/efi/pci.h: Remove.
28313
28314 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28315 `<grub/cpu/pci.h>'.
28316
28317 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28318 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28319 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28320
28321 * conf/i386-ieee1275.rmk: Likewise.
28322
28323 2008-08-03 Robert Millan <rmh@aybabtu.com>
28324
28325 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28326 (grub_console_setcursor): Make it possible to set cursor off.
28327
28328 2008-08-03 Robert Millan <rmh@aybabtu.com>
28329
28330 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28331 of modules instead of assuming which platform provides what.
28332 * util/update-grub.in: Likewise.
28333
28334 2008-08-03 Robert Millan <rmh@aybabtu.com>
28335
28336 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28337 instead of `grub_install_dos_part' to determine whether a drive needs
28338 to be prepended to prefix (`grub_install_dos_part' is not reliable,
28339 because it can be overridden when loading GRUB via Multiboot).
28340
28341 2008-08-02 Robert Millan <rmh@aybabtu.com>
28342
28343 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28344
28345 2008-08-02 Robert Millan <rmh@aybabtu.com>
28346
28347 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28348 of informational grub_dprintf() calls.
28349
28350 2008-08-02 Robert Millan <rmh@aybabtu.com>
28351
28352 * disk/memdisk.c (memdisk_size): Don't initialize.
28353 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28354
28355 * include/grub/i386/pc/kernel.h
28356 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28357 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28358 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28359 (grub_arch_memdisk_size): Remove.
28360
28361 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28362 field (was only used to transfer a constant). Add `type' field to
28363 support multiple module types.
28364 (grub_module_iterate): New function.
28365
28366 * kern/device.c (grub_device_open): Do not hide error messages
28367 when grub_disk_open() fails. Use grub_print_error() instead.
28368
28369 * kern/i386/pc/init.c (grub_arch_modules_addr)
28370 (grub_arch_memdisk_size): Remove functions.
28371 (grub_arch_modules_addr): Return the module address in high memory
28372 (now that it isn't copied anymore).
28373
28374 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28375 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28376 decompression routine (grub_total_module_size already includes that
28377 now). Don't copy modules back to low memory.
28378
28379 * kern/main.c: Include `<grub/mm.h>'.
28380 (grub_load_modules): Split out (and use) ...
28381 (grub_module_iterate): ... this function, which iterates through
28382 module objects and runs a hook.
28383 Comment out grub_mm_init_region() call, as it would cause non-ELF
28384 modules to be overwritten.
28385
28386 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28387 the memdisk image in its own region, make it part of the module list.
28388 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28389 (main): Parse --memdisk|-m option, and pass user-provided path as
28390 parameter to generate_image().
28391 (add_segments): Pass `memdisk_path' down to load_modules().
28392 (load_modules): Embed memdisk image in module section when requested.
28393 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28394 `header.type' instead of `header.offset'.
28395
28396 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28397 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28398 (memdisk_mod_LDFLAGS): New variables.
28399 * conf/i386-coreboot.rmk: Likewise.
28400 * conf/i386-ieee1275.rmk: Likewise.
28401
28402 2008-08-02 Robert Millan <rmh@aybabtu.com>
28403
28404 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28405 (backward_relocator): New variables. Used to allocate and relocate
28406 the payload, respectively.
28407 (grub_multiboot_load_elf32): Load into heap instead of requested
28408 address, install the appropriate relocator code in each bound of
28409 the payload, and set the entry point such that
28410 grub_multiboot_real_boot() will jump to one of them.
28411
28412 * kern/i386/loader.S (grub_multiboot_payload_size)
28413 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28414 (grub_multiboot_payload_entry_offset): New variables.
28415 (grub_multiboot_real_boot): Set cpu context to what the relocator
28416 expects, and jump to the relocator instead of the payload.
28417
28418 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28419 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28420 (grub_multiboot_payload_entry_offset): Export.
28421
28422 2008-08-01 Bean <bean123ch@gmail.com>
28423
28424 * normal/menu_entry.c (editor_getline): Don't return the original
28425 string as result, as it will be released by lexer once it has done
28426 using it.
28427
28428 2008-08-01 Robert Millan <rmh@aybabtu.com>
28429
28430 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28431 within menuentries, not before them.
28432 util/grub.d/10_hurd.in: Likewise.
28433
28434 2008-08-01 Bean <bean123ch@gmail.com>
28435
28436 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28437 (bufio_mod_SOURCES): New macro.
28438 (bufio_mod_CFLAGS): Likewise.
28439 (bufio_mod_LDFLAGS): Likewise.
28440
28441 * include/grub/bufio.h: New file.
28442
28443 * io/bufio.c: Likewise.
28444
28445 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28446 (grub_video_reader_png): Use grub_buffile_open to open file.
28447
28448 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28449 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28450
28451 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28452 (grub_video_reader_tga): Use grub_buffile_open to open file.
28453
28454 * font/manager.c: Include <grub/bufio.h>.
28455 (add_font): Use grub_buffile_open to open file.
28456
28457 2008-07-31 Robert Millan <rmh@aybabtu.com>
28458
28459 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28460 ELF segments, use a macro for arbitrarily accessing any of them instead
28461 of preparing a pointer that allows access to one at a time.
28462 (grub_multiboot_load_elf64): Likewise.
28463
28464 2008-07-31 Bean <bean123ch@gmail.com>
28465
28466 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28467 GRUB_KERNEL_MACHINE_DATA_END.
28468
28469 2008-07-30 Robert Millan <rmh@aybabtu.com>
28470
28471 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28472 Increase from 0x50 to 0x60.
28473 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28474 use UUIDs to identify the root drive for them. If that's not
28475 possible, abort.
28476 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28477 check, for cross-disk installs.
28478
28479 2008-07-30 Robert Millan <rmh@aybabtu.com>
28480
28481 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28482 is non-empty, use it to set the `prefix' environment variable instead
28483 of the usual approach.
28484 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28485 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28486 environment variable instead of dummy make_install_device().
28487
28488 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28489 (start): Insert a data section, with `grub_prefix' variable.
28490 * kern/i386/linuxbios/startup.S: Likewise.
28491
28492 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28493 New variable reference.
28494 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28495 New macro. Defines offset of `grub_prefix' within startup.S (relative
28496 to `start').
28497 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28498 section within startup.S (relative to `start').
28499 * include/grub/i386/coreboot/kernel.h: Likewise.
28500
28501 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28502 Overwrite grub_prefix with its contents, at the beginning of the
28503 first segment.
28504 (main): Understand -p|--prefix.
28505
28506 2008-07-30 Robert Millan <rmh@aybabtu.com>
28507
28508 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28509
28510 2008-07-30 Robert Millan <rmh@aybabtu.com>
28511
28512 * term/i386/pc/vga_text.c (grub_console_cls): Use
28513 grub_console_gotoxy() to go back to beginning of the screen.
28514 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28515
28516 2008-07-29 Christian Franke <franke@computer.org>
28517
28518 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28519 Add conversion of emulated mount points on Cygwin.
28520
28521 2008-07-29 Christian Franke <franke@computer.org>
28522
28523 * util/update-grub.in: Add a check for admin
28524 group on Cygwin.
28525 Remove old `grub.cfg.new' before creation.
28526 Add `-f' to `mv' to handle the different filesystem
28527 semantics of Windows.
28528
28529 2008-07-29 Bean <bean123ch@gmail.com>
28530
28531 * normal/main.c (get_line): Fix buffer overflow bug.
28532
28533 2008-07-28 Robert Millan <rmh@aybabtu.com>
28534
28535 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28536 (struct grub_apple_header): New struct. Describes the layout of
28537 the partmap header.
28538 (apple_partition_map_iterate): Check the header magic as well as the
28539 partition magic (which was already being checked).
28540
28541 2008-07-28 Pavel Roskin <proski@gnu.org>
28542
28543 * genmk.rb: Add a warning to the beginning of the output that
28544 it's a generated file and should not be edited.
28545
28546 2008-07-28 Robert Millan <rmh@aybabtu.com>
28547
28548 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28549 with the same number are found, just use issue a warning with
28550 grub_dprintf(), as this error has been reported to be non-fatal.
28551
28552 2008-07-27 Robert Millan <rmh@aybabtu.com>
28553
28554 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28555 information.
28556
28557 2008-07-27 Bean <bean123ch@gmail.com>
28558
28559 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28560 (grub_fat_find_dir): Ignore case when comparing filename.
28561
28562 2008-07-27 Bean <bean123ch@gmail.com>
28563
28564 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28565 smallino, as it's more descriptive, and i8count can be confused with
28566 the other field count.
28567 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28568 inode type.
28569
28570 2008-07-27 Bean <bean123ch@gmail.com>
28571
28572 * commands/crc.c: New file.
28573
28574 * lib/crc.c: Likewise.
28575
28576 * include/grub/lib/crc.h: Likewise.
28577
28578 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28579
28580 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28581 (hexdump): Move this function to ...
28582
28583 * lib/hexdump.c: ... here.
28584
28585 * include/grub/hexdump.h: Renamed to ...
28586
28587 * include/grub/lib/hexdump.h: ... this.
28588
28589 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28590
28591 * util/grub-editenv.c: Likewise.
28592
28593 * include/envblk.h: Renamed to ...
28594
28595 * include/lib/envblk.h: ... this.
28596
28597 * util/envblk.c: Renamed to ...
28598
28599 * lib/envblk.c: ... this.
28600
28601 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28602 lib/hexdump.c.
28603 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28604 (pkglib_MODULES): Add crc.mod.
28605 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28606 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28607 (crc_mod_SOURCES): New macro.
28608 (crc_mod_CFLAGS): Likewise.
28609 (crc_mod_LDFLAGS): Likewise.
28610
28611 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28612
28613 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28614
28615 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28616
28617 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28618
28619 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28620
28621 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
28622
28623 * commands/help.c: Include <grub/term.h>.
28624 (TERM_WIDTH): Removed. Updated all users.
28625
28626 2008-07-27 Pavel Roskin <proski@gnu.org>
28627
28628 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28629 spurious warnings about a comment within a comment.
28630
28631 2008-07-25 Robert Millan <rmh@aybabtu.com>
28632
28633 * util/getroot.c (find_root_device): Skip devices that match
28634 /dev/dm-[0-9]. This lets the real device be found for any type of
28635 abstraction (LVM, EVMS, RAID..).
28636 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28637 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28638 device is found first, find_root_device() will now skip it.
28639
28640 2008-07-24 Pavel Roskin <proski@gnu.org>
28641
28642 * include/grub/types.h: Use __builtin_bswap32() and
28643 __builtin_bswap64() with gcc 4.3 and newer.
28644
28645 2008-07-24 Christian Franke <franke@computer.org>
28646
28647 * util/i386/pc/grub-install.in: If `--debug' is specified,
28648 pass `--verbose' to grub-setup.
28649 Abort script if make_system_path_relative_to_its_root() fails.
28650
28651 2008-07-24 Bean <bean123ch@gmail.com>
28652
28653 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28654 variable `target_platform' should be `platform'.
28655
28656 2008-07-24 Bean <bean123ch@gmail.com>
28657
28658 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
28659 (grub_png_init_fixed_block): New function.
28660 (grub_png_decode_image_data): Handle fixed huffman code compression.
28661
28662 2008-07-24 Bean <bean123ch@gmail.com>
28663
28664 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28665 (grub_pe2elf_SOURCES): New macro.
28666 (CLEANFILES): Add grub-pe2elf.
28667
28668 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28669 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28670 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28671 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28672 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28673 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28674 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28675 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28676 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28677 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28678 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28679 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28680 (GRUB_PE32_DT_FUNCTION): Likewise.
28681 (GRUB_PE32_REL_I386_DIR32): Likewise.
28682 (GRUB_PE32_REL_I386_REL32): Likewise.
28683 (grub_pe32_symbol): New structure.
28684 (grub_pe32_reloc): Likewise.
28685
28686 * util/grub-pe2elf.c: New file.
28687
28688 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28689 start symbol in non pc platform.
28690
28691 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28692
28693 The following patches are from Christian Franke.
28694
28695 * include/grub/dl.h: Remove .previous, gas supports this only
28696 for ELF format.
28697
28698 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28699 Remove .type, gas supports this only for ELF format.
28700
28701 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28702 nullbytes in symbol table. This fixes an infinite loop if table is
28703 zero filled.
28704
28705 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28706 TARGET_IMG_LDFLAGS and EXEEXT.
28707
28708 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28709 TARGET_IMG_LDFLAGS_AC.
28710 (grub_CHECK_STACK_ARG_PROBE): New function.
28711
28712 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28713
28714 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28715
28716 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28717 to set TARGET_IMG_LD* accordingly.
28718 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28719 Add call to grub_CHECK_STACK_ARG_PROBE.
28720 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28721
28722 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28723
28724 * genmk.rb: Add EXEEXT to CLEANFILES.
28725
28726 2008-07-23 Robert Millan <rmh@aybabtu.com>
28727
28728 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28729 define the codes for arrows and lines used for the menu).
28730 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28731 as well.
28732
28733 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
28734 fonts, because the latter are too slow.
28735
28736 2008-07-21 Bean <bean123ch@gmail.com>
28737
28738 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
28739 a20. Run keyboard test last, as it will cause macbook to halt.
28740
28741 2008-07-18 Pavel Roskin <proski@gnu.org>
28742
28743 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
28744 load foreign architecture modules correctly anyway. Keep
28745 support for loading host architecture modules, whether we
28746 compile them or not.
28747
28748 2008-07-17 Pavel Roskin <proski@gnu.org>
28749
28750 * configure.ac: Use -m32 or -m64 regardless of whether we had to
28751 change target_cpu. The compiler default can mismatch target_cpu
28752 in any case.
28753
28754 * disk/efi/efidisk.c: Fix format warnings on x86_64.
28755 * kern/efi/efi.c: Likewise.
28756
28757 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
28758 target compiler is functional.
28759 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
28760 are set up.
28761
28762 * configure.ac: Default to efi platform for x86_64-apple. Allow
28763 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
28764 adjustments from the rest, only do them if target is not
28765 explicitly given. Merge other adjustments with the final sanity
28766 check. Remove an extraneous check for supported CPU. Be
28767 specific which CPU and which platform is not supported.
28768
28769 * configure.ac: Default to pc platform for x86_64.
28770
28771 2008-07-17 Robert Millan <rmh@aybabtu.com>
28772
28773 Partial LinuxBIOS -> Coreboot rename.
28774
28775 * conf/i386-linuxbios.rmk: Renamed to ...
28776 * conf/i386-coreboot.rmk: ... this.
28777 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
28778 * configure.ac: Accept "coreboot" as input platform (but maintain
28779 compatibility with "linuxbios").
28780 * include/grub/i386/linuxbios: Renamed to ...
28781 * include/grub/i386/coreboot: ... this.
28782
28783 2008-07-17 Bean <bean123ch@gmail.com>
28784
28785 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
28786 (appleldr_mod_SOURCE): New variable.
28787 (appleldr_mod_CFLAGS): Likewise.
28788 (appleldr_mod_LDFLAGS): Likewise.
28789 (pci_mod_SOURCES): Likewise.
28790 (pci_mod_CFLAGS): Likewise.
28791 (pci_mod_LDFLAGS): Likewise.
28792 (lspci_mod_SOURCES): Likewise.
28793 (lspci_mod_CFLAGS): Likewise.
28794 (lspci_mod_LDFLAGS): Likewise.
28795
28796 * conf/x86_64-efi.rmk: New file.
28797
28798 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
28799 macro.
28800 (grub_efidisk_write): Likewise.
28801
28802 * include/efi/api.h (efi_call_0): New macro.
28803 (efi_call_1): Likewise.
28804 (efi_call_2): Likewise.
28805 (efi_call_3): Likewise.
28806 (efi_call_4): Likewise.
28807 (efi_call_5): Likewise.
28808 (efi_call_6): Likewise.
28809
28810 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
28811 grub_rescue_cmd_chainloader.
28812
28813 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
28814 (grub_pe32_optional_header): Change some fields based on i386 or
28815 x86_64 platform.
28816 (GRUB_PE32_PE32_MAGIC): Likewise.
28817
28818 * include/grub/efi/uga_draw.h: New file.
28819
28820 * include/grub/elf.h (STN_ABS): New constant.
28821 (R_X86_64_NONE): Relocation constant for x86_64.
28822 (R_X86_64_64): Likewise.
28823 (R_X86_64_PC32): Likewise.
28824 (R_X86_64_GOT32): Likewise.
28825 (R_X86_64_PLT32): Likewise.
28826 (R_X86_64_COPY): Likewise.
28827 (R_X86_64_GLOB_DAT): Likewise.
28828 (R_X86_64_JUMP_SLOT): Likewise.
28829 (R_X86_64_RELATIVE): Likewise.
28830 (R_X86_64_GOTPCREL): Likewise.
28831 (R_X86_64_32): Likewise.
28832 (R_X86_64_32S): Likewise.
28833 (R_X86_64_16): Likewise.
28834 (R_X86_64_PC16): Likewise.
28835 (R_X86_64_8): Likewise.
28836 (R_X86_64_PC8): Likewise.
28837
28838 * include/grub/i386/efi/pci.h: New file.
28839
28840 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
28841 Change it value based on platform.
28842 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
28843 (GRUB_E820_RAM): Likewise.
28844 (GRUB_E820_RESERVED): Likewise.
28845 (GRUB_E820_ACPI): Likewise.
28846 (GRUB_E820_NVS): Likewise.
28847 (GRUB_E820_EXEC_CODE): Likewise.
28848 (GRUB_E820_MAX_ENTRY): Likewise.
28849 (grub_e820_mmap): New structure.
28850 (linux_kernel_header): Change the efi field according to different
28851 kernel version, also field from linux_kernel_header.
28852
28853 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
28854
28855 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
28856 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
28857 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
28858 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
28859 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
28860 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
28861 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
28862 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
28863 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
28864 (GRUB_PCI_ADDR_IO_MASK): Likewise.
28865
28866 * include/grub/x86_64/efi/kernel.h: New file.
28867
28868 * include/grub/x86_64/efi/loader.h: Likewise.
28869
28870 * include/grub/x86_64/efi/machine.h: Likewise.
28871
28872 * include/grub/x86_64/efi/pci.h: Likewise.
28873
28874 * include/grub/x86_64/efi/time.h: Likewise.
28875
28876 * include/grub/x86_64/linux.h: Likewise.
28877
28878 * include/grub/x86_64/setjmp.h: Likewise.
28879
28880 * include/grub/x86_64/time.h: Likewise.
28881
28882 * include/grub/x86_64/types.h: Likewise.
28883
28884 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
28885 GRUB_TARGET_SIZEOF_VOID_P.
28886
28887 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
28888 (grub_efi_locate_handle): Likewise.
28889 (grub_efi_open_protocol): Likewise.
28890 (grub_efi_set_text_mode): Likewise.
28891 (grub_efi_stall): Likewise.
28892 (grub_exit): Likewise.
28893 (grub_reboot): Likewise.
28894 (grub_halt): Likewise.
28895 (grub_efi_exit_boot_services): Likewise.
28896 (grub_get_rtc): Likewise.
28897
28898 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
28899 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
28900 (grub_efi_allocate_pages): Wrap efi calls.
28901 (grub_efi_free_pages): Wrap efi calls.
28902 (grub_efi_get_memory_map): Wrap efi calls.
28903
28904 * kern/x86_64/dl.c: New file.
28905
28906 * kern/x86_64/efi/callwrap.S: Likewise.
28907
28908 * kern/x86_64/efi/startup.S: Likewise.
28909
28910 * loader/efi/appleloader.c: Likewise.
28911
28912 * loader/efi/chainloader.c (cmdline): New variable.
28913 (grub_chainloader_unload): Wrap efi calls.
28914 (grub_chainloader_boot): Likewise.
28915 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
28916 command line.
28917
28918 * loader/efi/chainloader_normal.c (chainloader_command):
28919 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
28920 command line.
28921
28922 * loader/i386/efi/linux.c (allocate_pages): Change allocation
28923 method.
28924 (grub_e820_add_region): New function.
28925 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
28926 booting.
28927 (grub_find_video_card): New function.
28928 (grub_linux_setup_video): New function.
28929 (grub_rescue_cmd_linux): Probe for video information.
28930
28931 * normal/x86_64/setjmp.S: New file.
28932
28933 * term/efi/console.c (map_char): New function.
28934 (grub_console_putchar): Map unicode char.
28935 (grub_console_checkkey): Wrap efi calls.
28936 (grub_console_getkey): Likewise.
28937 (grub_console_getwh): Likewise.
28938 (grub_console_gotoxy): Likewise.
28939 (grub_console_cls): Likewise.
28940 (grub_console_setcolorstate): Likewise.
28941 (grub_console_setcursor): Likewise.
28942
28943 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
28944
28945 2008-07-16 Pavel Roskin <proski@gnu.org>
28946
28947 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
28948 format strings.
28949
28950 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
28951 pointer, not an integer. This fixes a warning and prevents
28952 precision loss on 64-bit systems.
28953 (relocate_addresses): Remove unneeded cast.
28954
28955 2008-07-15 Pavel Roskin <proski@gnu.org>
28956
28957 * kern/i386/ieee1275/init.c: Include grub/cache.h.
28958
28959 * term/ieee1275/ofconsole.c: Disable code unused on i386.
28960
28961 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
28962 Fix comparison between signed and unsigned.
28963
28964 * include/grub/i386/ieee1275/console.h: Declare
28965 grub_console_init() and grub_console_fini().
28966
28967 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
28968 It's empty and unused.
28969
28970 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
28971 beginning to avoid warnings with some compilers.
28972
28973 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
28974 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
28975
28976 2008-07-14 Pavel Roskin <proski@gnu.org>
28977
28978 * kern/env.c (grub_register_variable_hook): Don't copy empty
28979 string, it leaks memory. Pass "" to grub_env_set(), it should
28980 handle constant strings.
28981
28982 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
28983 * commands/cmp.c (grub_cmd_cmp): Likewise.
28984 * kern/dl.c (grub_dl_flush_cache): Likewise.
28985 (grub_dl_load_core): Likewise.
28986 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
28987 (grub_elf64_load_phdrs): Likewise.
28988
28989 2008-07-13 Pavel Roskin <proski@gnu.org>
28990
28991 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
28992 between signed and unsigned.
28993 (LzmaEnc_Finish): Fix warning about an unused parameter.
28994
28995 2008-07-13 Bean <bean123ch@gmail.com>
28996
28997 * Makefile.in (enable_lzo): New rule.
28998
28999 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
29000
29001 * configure.ac (ENABLE_LZO): New option --enable-lzo.
29002
29003 * boot/i386/pc/lnxboot.S: #include <config.h>.
29004
29005 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
29006 its value according to the compression algorithm used, lzo or lzma.
29007
29008 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
29009 compression algorithm according to configure macro.
29010
29011 * kern/i386/pc/startup.S (codestart): Likewise.
29012
29013 * kern/i386/pc/lzma_decode.S: New file.
29014
29015 * include/grub/lib/LzFind.h: Likewise.
29016
29017 * include/grub/lib/LzHash.h: Likewise.
29018
29019 * include/grub/lib/LzmaDec.h: Likewise.
29020
29021 * include/grub/lib/LzmaEnc.h: Likewise.
29022
29023 * include/grub/lib/LzmaTypes.h: Likewise.
29024
29025 * lib/LzFind.c: Likewise.
29026
29027 * lib/LzmaDec.c: Likewise.
29028
29029 * lib/LzmaEnc.c: Likewise.
29030
29031 2008-07-13 Bean <bean123ch@gmail.com>
29032
29033 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
29034 (grub_ext4_extent_header): New structure.
29035 (grub_ext4_extent): Likewise.
29036 (grub_ext4_extent_idx): Likewise.
29037 (grub_ext4_find_leaf): New function.
29038 (grub_ext2_read_block): Handle extents.
29039
29040 2008-07-12 Robert Millan <rmh@aybabtu.com>
29041
29042 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
29043
29044 2008-07-11 Robert Millan <rmh@aybabtu.com>
29045
29046 * util/grub.d/40_custom.in: New file. Example on how to add custom
29047 entries to /etc/grub.d.
29048 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
29049 40_custom (implicitly, by merging all the grub.d rules).
29050
29051 2008-07-11 Pavel Roskin <proski@gnu.org>
29052
29053 * commands/read.c (grub_getline): Fix invalid memory access.
29054 Don't add newline to the variable value.
29055
29056 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
29057 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
29058 (serial_hw_get_port): Check validity of the port number.
29059 (grub_cmd_serial): Check return value of serial_hw_get_port().
29060
29061 2008-07-07 Pavel Roskin <proski@gnu.org>
29062
29063 * boot/i386/pc/diskboot.S (notification_string): Replace
29064 "Loading kernel" with just "loading". This is shorter, less
29065 confusing and saves a few bytes for possible future changes.
29066
29067 2008-07-05 Pavel Roskin <proski@gnu.org>
29068
29069 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29070 size for ATAPI devices, they are undefined. Output sector
29071 number in decimal form.
29072
29073 * disk/ata.c: Use named constants for status bits.
29074
29075 2008-07-04 Pavel Roskin <proski@gnu.org>
29076
29077 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29078 grub_addr_t before casting it to the void pointer to fix a
29079 warning. Non-addressable regions are discarded earlier.
29080 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29081 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29082 (check_signature): Don't shadow table_header.
29083 (grub_linuxbios_table_iterate): Cast numeric constants to
29084 grub_linuxbios_table_header_t.
29085 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29086 grub_stop().
29087
29088 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29089 prevent warnings.
29090
29091 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29092 pointer, which can cause warnings. Support 64-bit addresses.
29093
29094 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29095 of sizeof(long). This fixes PowerPC image generation on x86_64.
29096
29097 2008-07-04 Robert Millan <rmh@aybabtu.com>
29098
29099 This fixes a performance issue when pc & gpt partmap iterators
29100 didn't abort iteration even after our hook found what it was
29101 looking for (often causing expensive probes of non-existent drives).
29102
29103 Some callers relied on previous buggy behaviour, since they would
29104 raise an error when their own hooks caused early abortion of its
29105 iteration.
29106
29107 * kern/device.c (grub_device_open): Improve error message.
29108 * disk/lvm.c (grub_lvm_open): Likewise.
29109 * disk/raid.c (grub_raid_open): Likewise.
29110
29111 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29112 when hook requests it, independently of grub_errno.
29113 (pc_partition_map_probe): Do not fail when find_func() caused
29114 early abortion of pc_partition_map_iterate().
29115
29116 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29117 when hook requests it, independently of grub_errno.
29118 (gpt_partition_map_probe): Do not fail when find_func() caused
29119 early abortion of gpt_partition_map_iterate().
29120
29121 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29122 when hook requests it, independently of grub_errno. Do not fail when
29123 part_map_iterate_hook() caused early abortion of p->iterate().
29124
29125 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29126 when grub_partition_iterate() returned with non-zero.
29127
29128 2008-07-03 Pavel Roskin <proski@gnu.org>
29129
29130 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29131 like we do in grub_ata_pio_read().
29132 (grub_ata_readwrite): Always write individual sectors. Fix the
29133 sector count for the remainder.
29134 (grub_ata_write): Enable writing to ATA devices. Correctly
29135 report error for ATAPI devices.
29136
29137 2008-07-02 Pavel Roskin <proski@gnu.org>
29138
29139 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29140 warning.
29141
29142 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29143 for every read sector, we already increment it for the whole
29144 batch. This fixes reading more than 256 sectors at once.
29145
29146 * util/grub-editenv.c (cmd_info): Cast argument to long
29147 explicitly. ptrdiff_t reduces to int on i386.
29148
29149 * util/grub-editenv.c (main): Be specific which parameter is
29150 missing.
29151
29152 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29153 (memdisk): Make memdisk_orig_addr a pointer.
29154
29155 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29156 for file offsets, use grub_off_t instead. Fix printf format
29157 warnings.
29158
29159 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29160 there. Real unexpected warnings should not drown in the noise
29161 about known problems.
29162
29163 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29164 grub_disk_addr_t for memory addresses.
29165
29166 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29167 explicitly to fix a warning.
29168
29169 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29170
29171 * Makefile.in (MODULE_LDFLAGS): New variable.
29172 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29173 the linker accepts --build-id=none.
29174 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29175 MODULE_LDFLAGS.
29176 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29177
29178 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29179 those in Linux XFS code. Provide a way to access 64-bit parent
29180 inode.
29181 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29182 the end of struct grub_xfs_dir_header.
29183
29184 2008-07-02 Bean <bean123ch@gmail.com>
29185
29186 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29187 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29188 and GRUB_IEEE1275_FLAG_NO_ANSI.
29189
29190 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29191 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29192 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29193
29194 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29195 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29196
29197 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29198 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29199
29200 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29201 esc sequence on non ANSI terminal.
29202 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29203
29204 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29205 beginning of file.
29206
29207 2008-07-02 Bean <bean123ch@gmail.com>
29208
29209 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29210 (grub_editenv_SOURCES): New variable.
29211 (pkglib_MODULES): Add loadenv.mod.
29212 (loadenv_mod_SOURCES): New variable.
29213 (loadenv_mod_CFLAGS): Likewise.
29214 (loadenv_mod_LDFLAGS): Likewise.
29215
29216 * include/grub/envblk.h: New file.
29217
29218 * util/envblk.c: New file.
29219
29220 * util/grub-editenv.c: New file.
29221
29222 * commands/loadenv.c: New file.
29223
29224 2008-07-01 Pavel Roskin <proski@gnu.org>
29225
29226 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29227 not unsigned char. This fixes warnings and is consistent with
29228 other tags.
29229
29230 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29231
29232 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29233
29234 * term/tparm.c (analyze): Always set *popcount.
29235
29236 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29237 cast to fix a warning.
29238
29239 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29240 cast to suppress a warning.
29241
29242 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29243 grub_fshelp_read_file() expects.
29244
29245 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29246 write uuid as a 32-bit value in CPU byte order, so declare and
29247 use it as such.
29248
29249 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29250 long if the format specifier expects it.
29251 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29252 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29253 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29254 long to fix a warning.
29255 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29256 grub_dprintf() arguments to fix warnings.
29257
29258 2008-06-30 Pavel Roskin <proski@gnu.org>
29259
29260 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29261 install_bsd_part immediately before core.img is embedded or
29262 modified on disk. This fixes core.img verification if core.img
29263 cannot be embedded.
29264
29265 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29266 core_path to calculate the blocklist.
29267 Patch from Javier Martín <lordhabbit@gmail.com>
29268
29269 2008-06-29 Robert Millan <rmh@aybabtu.com>
29270
29271 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29272 block to disk block.
29273 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29274 Patch from Niels Böhm <bitbucket@arcor.de>
29275
29276 2008-06-29 Robert Millan <rmh@aybabtu.com>
29277
29278 * util/update-grub_lib.in (font_path): Search for fonts in
29279 /boot/grub first, which is more likely to be readable (we aren't
29280 deciding where fonts live, just looking for them).
29281
29282 2008-06-26 Pavel Roskin <proski@gnu.org>
29283
29284 * util/biosdisk.c (read_device_map): Don't leave dead map
29285 entries for devices failing stat() check.
29286
29287 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29288 core_path_dev for the core.img path on the target device.
29289
29290 2008-06-26 Robert Millan <rmh@aybabtu.com>
29291
29292 * disk/fs_uuid.c: New file.
29293 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29294 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29295 (fs_uuid_mod_LDFLAGS): New variables.
29296 * include/grub/disk.h (grub_disk_dev_id): Add
29297 `GRUB_DISK_DEVICE_UUID_ID'.
29298 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29299 implement iterate().
29300
29301 2008-06-26 Robert Millan <rmh@aybabtu.com>
29302
29303 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29304 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29305 Linux image includes no initrd.
29306
29307 2008-06-21 Javier Martín <lordhabbit@gmail.com>
29308
29309 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29310 call to resolve the core image location that effectively appended the
29311 name twice.
29312
29313 2008-06-21 Robert Millan <rmh@aybabtu.com>
29314
29315 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29316 call from here ...
29317
29318 * util/grub.d/10_hurd.in: ... to here ...
29319 * util/grub.d/10_linux.in: ... and here.
29320
29321 2008-06-19 Robert Millan <rmh@aybabtu.com>
29322
29323 * kern/main.c (grub_main): Export `prefix' variable immediately
29324 after it has been set by grub_machine_set_prefix().
29325
29326 2008-06-19 Robert Millan <rmh@aybabtu.com>
29327
29328 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29329 search result when not saving to variable, not the other way around.
29330 When saving to variable, abort iteration as soon as a match is found.
29331
29332 2008-06-19 Robert Millan <rmh@aybabtu.com>
29333
29334 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29335 check for partition that provides /boot/grub. Its logic is flawed,
29336 as it prevents prepare_grub_to_access_device() from being called
29337 multiple times.
29338
29339 2008-06-19 Robert Millan <rmh@aybabtu.com>
29340
29341 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29342 "insmod" command directly when abstraction modules are needed,
29343 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
29344 since it had already been processed).
29345
29346 2008-06-19 Pavel Roskin <proski@gnu.org>
29347
29348 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29349 changed. This is needed in case GRUB_LIBDIR changes.
29350 * conf/i386-ieee1275.rmk: Likewise.
29351 * conf/i386-linuxbios.rmk: Likewise.
29352 * conf/i386-pc.rmk: Likewise.
29353 * conf/powerpc-ieee1275.rmk: Likewise.
29354
29355 2008-06-18 Pavel Roskin <proski@gnu.org>
29356
29357 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29358 kernel_elf_symlist.c to symlist.c for consistency with other
29359 architectures. Update all users.
29360 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29361
29362 2008-06-18 Robert Millan <rmh@aybabtu.com>
29363
29364 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29365 it in prefix.
29366
29367 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29368 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29369 a RAID device, run setup() for all members independently on whether
29370 LVM abstraction is being used.
29371 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29372 If grub-mkimage has set `*install_dos_part == -2', don't override this
29373 value.
29374 Perform *install_dos_part adjustments independently on whether
29375 we're embedding or not.
29376 Clarify error message when image is too big for embedding.
29377 Remove duplicate *install_dos_part stanza.
29378
29379 2008-06-17 Robert Millan <rmh@aybabtu.com>
29380
29381 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29382 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29383 variables.
29384 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29385 values in grub_ofconsole_normal_color and
29386 grub_ofconsole_highlight_color (they're not directly related to
29387 background and foreground).
29388 (grub_ofconsole_setcolorstate): Extract background and foreground
29389 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29390
29391 2008-06-17 Robert Millan <rmh@aybabtu.com>
29392
29393 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29394 /boot/grub for the check in last commit, not /boot (they could be
29395 different partitions).
29396
29397 2008-06-16 Robert Millan <rmh@aybabtu.com>
29398
29399 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29400 asked to setup access for the same partition that provides /boot,
29401 don't bother using UUIDs since our root already has the value we
29402 want.
29403
29404 2008-06-16 Robert Millan <rmh@aybabtu.com>
29405
29406 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29407 I2O devices.
29408 Patch from Sven Mueller <sven@debian.org>.
29409
29410 2008-06-16 Robert Millan <rmh@aybabtu.com>
29411
29412 * util/update-grub.in: Check for $EUID instead of $UID.
29413 Reported by Vincent Zweije.
29414
29415 2008-06-16 Bean <bean123ch@gmail.com>
29416
29417 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
29418 (grub_ext2_read_block): Likewise.
29419 (grub_ext2_read_inode): Likewise.
29420 (grub_ext2_mount): Likewise.
29421 (grub_ext2_close): Likewise.
29422 (grub_ext3_get_journal): Removed.
29423
29424 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
29425 (grub_reiserfs_read_symlink): Likewise.
29426 (grub_reiserfs_mount): Likewise.
29427 (grub_reiserfs_open): Likewise.
29428 (grub_reiserfs_read): Likewise.
29429 (grub_reiserfs_close): Likewise.
29430 (grub_reiserfs_get_journal): Removed.
29431
29432 * fs/fshelp.c (grub_fshelp_read): Removed.
29433 (grub_fshelp_map_block): Likewise.
29434
29435 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29436 (grub_fshelp_journal): Likewise.
29437 (grub_fshelp_read): Likewise.
29438 (grub_fshelp_map_block): Likewise.
29439
29440 2008-06-16 Pavel Roskin <proski@gnu.org>
29441
29442 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29443 floating point anymore.
29444 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29445
29446 2008-06-15 Pavel Roskin <proski@gnu.org>
29447
29448 * commands/ls.c (grub_ls_list_files): Use integer calculations
29449 for human readable format, avoid floating point use.
29450 * kern/misc.c (grub_ftoa): Remove.
29451 (grub_vsprintf): Remove floating point support.
29452
29453 2008-06-15 Robert Millan <rmh@aybabtu.com>
29454
29455 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
29456 devices.
29457 Reported by Max Vozeler.
29458
29459 2008-06-15 Robert Millan <rmh@aybabtu.com>
29460
29461 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29462 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29463 skipped later.
29464 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29465 the beginning of the prefix.
29466
29467 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29468 It is assumed that if we have a memdisk, grub-mkimage has set
29469 grub_prefix to include the "(memdisk)" drive in it.
29470
29471 2008-06-15 Robert Millan <rmh@aybabtu.com>
29472
29473 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29474 Initialize keyboard controller after registering the terminal, so that
29475 grub_printf() can be called from grub_keyboard_controller_init().
29476
29477 2008-06-15 Robert Millan <rmh@aybabtu.com>
29478
29479 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29480 extent-btree which is written as big endian on disk.
29481 Reported by Alain Greppin <al@chilibi.org>.
29482
29483 2008-06-14 Robert Millan <rmh@aybabtu.com>
29484
29485 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29486 * util/i386/pc/grub-install.in (modules): Likewise.
29487
29488 2008-06-13 Pavel Roskin <proski@gnu.org>
29489
29490 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29491
29492 2008-06-13 Bean <bean123ch@gmail.com>
29493
29494 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29495
29496 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29497
29498 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29499 to indicate sparse block.
29500
29501 2008-06-12 Pavel Roskin <proski@gnu.org>
29502
29503 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29504 number, grub_fshelp_read() does it for us.
29505
29506 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29507 linear disk read with journal translation.
29508 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29509 * include/grub/fshelp.h: Declare grub_fshelp_read().
29510
29511 2008-06-09 Pavel Roskin <proski@gnu.org>
29512
29513 * fs/minix.c (grub_minix_mount): Handle error reading
29514 superblock.
29515
29516 2008-06-08 Robert Millan <rmh@aybabtu.com>
29517
29518 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29519 don't append the RAID prefix afterwards.
29520 Reported by Clint Adams.
29521
29522 2008-06-08 Robert Millan <rmh@aybabtu.com>
29523
29524 Based on description from Pavel:
29525 * kern/disk.c (grub_disk_check_range): Rename to ...
29526 (grub_disk_adjust_range): ... this. Add a comment explaining the
29527 tasks performed by this function.
29528
29529 2008-06-08 Robert Millan <rmh@aybabtu.com>
29530
29531 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29532 `num_serial' (for consistency with other variables).
29533 (struct grub_ntfs_data): Add `uuid' member.
29534 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29535 (grub_ntfs_uuid): New function.
29536 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29537
29538 2008-06-07 Pavel Roskin <proski@gnu.org>
29539
29540 * util/biosdisk.c (open_device): Revert last change to the
29541 function, it broke installation. The sector needs to be
29542 different dependent on which device is opened.
29543
29544 2008-06-06 Robert Millan <rmh@aybabtu.com>
29545
29546 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29547 rest of GRUB, and breakage doesn't happen if its value were modified.
29548
29549 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29550 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29551 a constant (same value).
29552 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29553 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29554
29555 2008-06-06 Robert Millan <rmh@aybabtu.com>
29556
29557 * util/biosdisk.c (open_device): Do not modify sector offset when
29558 accessing a partition. kern/disk.c already handles this for us.
29559
29560 2008-06-06 Robert Millan <rmh@aybabtu.com>
29561
29562 * util/grub-emu.c (grub_machine_init): Move code in this function from
29563 here ...
29564 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29565 segfault in case grub_printf() is called).
29566
29567 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29568 grub_probe. Update all users not to explicitly add it again.
29569 (grub_device): New variable; contains corresponding device for grubdir.
29570 (fs_module, partmap_module, devabstraction_module): Pass
29571 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29572 every time.
29573
29574 2008-06-05 Robert Millan <rmh@aybabtu.com>
29575
29576 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29577 is found, print it (same layout as with labels).
29578
29579 2008-06-04 Robert Millan <rmh@aybabtu.com>
29580
29581 * util/biosdisk.c (get_drive): Rename to ...
29582 (find_grub_drive): ... this. Update all users.
29583
29584 (get_os_disk): Rename to ...
29585 (convert_system_partition_to_system_disk): ... this. Update all users.
29586
29587 (find_drive): Rename to ...
29588 (find_system_device): ... this. Update all users.
29589
29590 2008-06-04 Robert Millan <rmh@aybabtu.com>
29591
29592 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29593 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29594 (make_device_map): Likewise.
29595
29596 2008-06-01 Robert Millan <rmh@aybabtu.com>
29597
29598 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29599 before dereferencing it.
29600
29601 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29602 union with fat12/fat16-specific ones. Add some new fields, including
29603 `num_serial' for both versions.
29604 (struct grub_fat_data): Add `uuid' member.
29605 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29606 names. Initialize `data->uuid' using `num_serial'.
29607 (grub_fat_uuid): New function.
29608 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29609
29610 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29611 (grub_reiserfs_uuid): New function.
29612 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29613 member.
29614
29615 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29616 (grub_xfs_uuid): New function.
29617 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29618
29619 2008-06-01 Robert Millan <rmh@aybabtu.com>
29620
29621 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29622 code that is backward compatible with pre-uuid search command.
29623
29624 2008-05-31 Robert Millan <rmh@aybabtu.com>
29625
29626 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29627 floppies after everything else, to ensure floppy drive isn't accessed
29628 unnecessarily (patch from Bean).
29629
29630 2008-05-31 Robert Millan <rmh@aybabtu.com>
29631
29632 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29633 not print device names when we were asked to set a variable.
29634
29635 2008-05-31 Robert Millan <rmh@aybabtu.com>
29636
29637 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29638 using "cursor-on" and "cursor-off" commands (understood at least by
29639 the Open Firmware flavour on OLPC).
29640
29641 2008-05-31 Michael Gorven <michael@gorven.za.net>
29642
29643 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29644 on and off sequences.
29645
29646 2008-05-31 Robert Millan <rmh@aybabtu.com>
29647
29648 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29649 * util/update-grub.in: Likewise.
29650
29651 2008-05-30 Pavel Roskin <proski@gnu.org>
29652
29653 * util/biosdisk.c (linux_find_partition): Simplify logic and
29654 make the code more universal. Keep special processing for
29655 devfs, but use a simple rule for all other devices. If the
29656 device ends with a number, append 'p' and the partition number.
29657 Otherwise, append only the partition number.
29658
29659 2008-05-30 Robert Millan <rmh@aybabtu.com>
29660
29661 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29662 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29663 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29664 the `root' parameter to Linux.
29665
29666 2008-05-30 Robert Millan <rmh@aybabtu.com>
29667
29668 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29669 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29670 --fs_uuid with --fs-uuid.
29671 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29672 all filesystems support them).
29673
29674 2008-05-30 Robert Millan <rmh@aybabtu.com>
29675
29676 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
29677 grub_printf() flags, since we're printing in units of 2 bytes.
29678
29679 2008-05-30 Robert Millan <rmh@aybabtu.com>
29680
29681 * util/grub.d/00_header.in: Remove obsolete comment referencing
29682 convert_system_path_to_grub_path().
29683 * util/update-grub.in: Likewise.
29684 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29685 (convert_system_path_to_grub_path): Add a warning message explaining
29686 that this function is deprecated. Rely on is_path_readable_by_grub()
29687 for the readability checks.
29688 (font_path): Use is_path_readable_by_grub() for the readability
29689 check rather than convert_system_path_to_grub_path().
29690
29691 2008-05-30 Robert Millan <rmh@aybabtu.com>
29692
29693 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29694 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29695 converting it first.
29696 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29697 grub.cfg for access to font file, and afterwards call it again to set
29698 the root device.
29699
29700 2008-05-30 Robert Millan <rmh@aybabtu.com>
29701
29702 * commands/search.c (options): Add --fs_uuid option.
29703 (search_fs_uuid): New function.
29704 (grub_cmd_search): Fix --set argument passing.
29705 Use search_fs_uuid() when requested via --fs_uuid.
29706 (grub_search_init): Update help message.
29707 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29708 and redeclare it as an array of 16-bit words.
29709 (grub_ext2_uuid): New function.
29710 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29711 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29712 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29713 (GRUB_DEVICE_BOOT_UUID): New variables.
29714 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29715 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29716 whenever possible.
29717 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29718 just assume `root' variable has the right value.
29719 * util/grub.d/10_linux.in: Likewise.
29720 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29721 via PRINT_FS_UUID.
29722 (main): Recognise `-t fs_uuid' argument.
29723
29724 2008-05-30 Robert Millan <rmh@aybabtu.com>
29725
29726 * util/biosdisk.c (map): Redefine structure to hold information
29727 about GRUB drive name.
29728 (get_drive): Reimplement without assuming (and verifying) BIOS-like
29729 drive names.
29730 (call_hook): Remove.
29731 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29732 member. Assume drive has partitions.
29733 (grub_util_biosdisk_open): Access device names via `.device' struct
29734 member.
29735 (open_device): Likewise.
29736 (find_drive): Likewise.
29737 (read_device_map): Adjust map[] usage to match the new struct
29738 definition. Don't check for duplicates (still possible, but not cheap
29739 anymore).
29740 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
29741 (make_device_name): Remove assumption of BIOS-like drive names.
29742
29743 2008-05-30 Pavel Roskin <proski@gnu.org>
29744
29745 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
29746 compiling execute.c doesn't need grub_script.tab.h anymore.
29747 (normal/command.c_DEPENDENCIES): Likewise.
29748 (normal/function.c_DEPENDENCIES): Likewise.
29749 * conf/i386-ieee1275.rmk: Likewise.
29750 * conf/i386-linuxbios.rmk: Likewise.
29751 * conf/i386-pc.rmk: Likewise.
29752 * conf/powerpc-ieee1275.rmk: Likewise.
29753 * conf/sparc64-ieee1275.rmk: Likewise.
29754
29755 2008-05-29 Pavel Roskin <proski@gnu.org>
29756
29757 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
29758 when scanning metadata for volume group name.
29759
29760 * include/grub/script.h: Don't include grub_script.tab.h. It's
29761 a generated file, which may only be included from the files with
29762 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
29763 use union YYSTYPE, as the later allows forward declaration.
29764 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
29765
29766 2008-05-29 Robert Millan <rmh@aybabtu.com>
29767
29768 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
29769 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
29770 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
29771 (grub_console_checkkey): Add grub_dprintf() call to report unknown
29772 scan codes.
29773
29774 2008-05-29 Robert Millan <rmh@aybabtu.com>
29775
29776 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
29777 control key combinations.
29778
29779 2008-05-29 Robert Millan <rmh@aybabtu.com>
29780
29781 * util/powerpc/ieee1275/grub-install.in: Move from here ...
29782 * util/ieee1275/grub-install.in: ... to here.
29783 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
29784 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
29785 (grub_install_SOURCES): Likewise.
29786
29787 2008-05-29 Robert Millan <rmh@aybabtu.com>
29788
29789 * fs/affs.c: Update copyright year.
29790 * fs/ext2.c: Likewise.
29791 * fs/fshelp.c: Likewise.
29792 * fs/hfsplus.c: Likewise.
29793 * fs/ntfs.c: Likewise.
29794 * fs/xfs.c: Likewise.
29795 * include/grub/fshelp.h: Likewise.
29796 * util/grub-mkdevicemap.c: Likewise.
29797
29798 2008-05-28 Robert Millan <rmh@aybabtu.com>
29799
29800 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
29801 might need to be fatfs to support some firmware implementations
29802 (e.g. OFW or EFI).
29803
29804 2008-05-28 Robert Millan <rmh@aybabtu.com>
29805
29806 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
29807 devices.
29808 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29809 (make_device_map): Likewise.
29810
29811 2008-05-20 Bean <bean123ch@gmail.com>
29812
29813 * fs/fshelp.c (grub_fshelp_map_block): New function.
29814 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
29815 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
29816
29817 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
29818 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
29819 (grub_fshelp_journal): New structure.
29820 (grub_fshelp_map_block): New function prototype.
29821 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
29822 (grub_fshelp_map_block): Likewise.
29823
29824 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
29825 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
29826 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
29827 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
29828 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
29829 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
29830 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
29831 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
29832 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
29833 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
29834 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
29835 (grub_ext2_sblock): New members for journal support.
29836 (grub_ext3_journal_header): New structure.
29837 (grub_ext3_journal_revoke_header): Likewise.
29838 (grub_ext3_journal_block_tag): Likewise.
29839 (grub_ext3_journal_sblock): Likewise.
29840 (grub_fshelp_node): New members logfile and journal.
29841 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
29842 grub_fshelp_map_block to get real block number.
29843 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
29844 number.
29845 (grub_ext2_read_inode): Likewise.
29846 (grub_ext3_get_journal): New function.
29847 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
29848 (grub_ext2_close): Release memory used by journal.
29849
29850 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
29851 (REISERFS_MAGIC_DESC_BLOCK): New macro.
29852 (grub_reiserfs_transaction_header): Renamed to
29853 grub_reiserfs_description_block, replace field data with real_blocks.
29854 (grub_reiserfs_commit_block): New structure.
29855 (grub_reiserfs_data): New member journal.
29856 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
29857 number.
29858 (grub_reiserfs_read_symlink): Likewise.
29859 (grub_reiserfs_iterate_dir): Likewise.
29860 (grub_reiserfs_open): Likewise.
29861 (grub_reiserfs_read): Likewise.
29862 (grub_reiserfs_get_journal): New function.
29863 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
29864 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
29865 using grub_reiserfs_get_journal.
29866 (grub_reiserfs_close): Release memory used by journal.
29867
29868 * fs/affs.c (grub_affs_read_block): Change block type to
29869 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
29870
29871 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
29872
29873 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
29874
29875 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
29876
29877 * fs/udf.c (grub_udf_read_block): Change block type to
29878 grub_disk_addr_t. Use type cast to avoid warning.
29879
29880 * fs/xfs.c (grub_xfs_read_block): Likewise.
29881
29882 2008-05-16 Christian Franke <franke@computer.org>
29883
29884 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
29885 to ensure that break with ESC will always work.
29886 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
29887 Remove ESC from keyboard queue.
29888
29889 2008-05-16 Christian Franke <franke@computer.org>
29890
29891 * util/biosdisk.c: [__CYGWIN__] Add includes.
29892 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
29893 (get_os_disk): Move variable declarations to OS specific
29894 parts to avoid warning.
29895 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
29896 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
29897 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
29898 Cygwin.
29899 * util/getroot.c: [__CYGWIN__] Add includes.
29900 (strip_extra_slashes): Fix "/" case.
29901 [__CYGWIN__] (get_win32_path): New function.
29902 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
29903 [__CYGWIN__] (find_root_device): Disable.
29904 [__CYGWIN__] (get_bootsec_serial): New function.
29905 [__CYGWIN__] (find_cygwin_root_device): Likewise.
29906 [__linux__] (grub_guess_root_device): Add early returns to simplify
29907 structure.
29908 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
29909 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
29910 check for Linux only.
29911
29912 2008-05-15 Bean <bean123ch@gmail.com>
29913
29914 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
29915 keyboard hang problem in apple's intel mac.
29916
29917 2008-05-09 Robert Millan <rmh@aybabtu.com>
29918
29919 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
29920 devices.
29921 * util/grub-mkdevicemap.c (get_virtio_disk_name)
29922 (make_device_map): Likewise.
29923 Reported by Aurelien Jarno <aurel32@debian.org>
29924
29925 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
29926
29927 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
29928 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
29929 (make_device_map): Output entries for xvd type disks.
29930
29931 2008-05-07 Robert Millan <rmh@aybabtu.com>
29932
29933 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
29934 devices.
29935 * util/grub-mkdevicemap.c (get_cciss_disk_name)
29936 (make_device_map): Likewise.
29937 Reported by Roland Dreier <rdreier@cisco.com>
29938
29939 2008-05-07 Robert Millan <rmh@aybabtu.com>
29940
29941 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
29942 grub_strstr() call. Correct a few mistakes in failure path handling.
29943
29944 2008-05-06 Robert Millan <rmh@aybabtu.com>
29945
29946 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29947 Do not print a trailing slash (therefore, the root directory is an
29948 empty string).
29949 (convert_system_path_to_grub_path): Do not remove trailing slash
29950 from make_system_path_relative_to_its_root() output.
29951
29952 * util/i386/pc/grub-install.in: Add trailing slash to output from
29953 make_system_path_relative_to_its_root().
29954
29955 2008-05-06 Robert Millan <rmh@aybabtu.com>
29956
29957 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
29958 ensures that output lines aren't intermangled with those sent to
29959 stderr (via grub_util_info()).
29960 * util/grub-probe.c (grub_refresh): Likewise.
29961 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
29962
29963 2008-05-05 Christian Franke <franke@computer.org>
29964
29965 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
29966 Add Cygwin device names.
29967 (get_ide_disk_name) [__CYGWIN__]: Likewise.
29968 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
29969 (check_device): Return error instead of success on empty name.
29970 (make_device_map): Move label inside linux specific code to
29971 prevent compiler warning.
29972
29973 2008-04-30 Robert Millan <rmh@aybabtu.com>
29974
29975 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
29976 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
29977 first boot option.
29978 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
29979
29980 2008-04-29 Robert Millan <rmh@aybabtu.com>
29981
29982 * docs/grub.cfg: New file (example GRUB configuration).
29983
29984 2008-04-26 Robert Millan <rmh@aybabtu.com>
29985
29986 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
29987 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
29988 and `disk/ieee1275/nand.c'.
29989
29990 2008-04-25 Bean <bean123ch@gmail.com>
29991
29992 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
29993 i386-linuxbios.
29994
29995 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
29996 change the buffer size to 4096 for cdrom device.
29997
29998 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
29999 and nand.mod.
30000 (_linux_mod_SOURCES): New variable.
30001 (_linux_mod_CFLAGS): Likewise.
30002 (_linux_mod_LDFLAGS): Likewise.
30003 (linux_mod_SOURCES): Likewise.
30004 (linux_mod_CFLAGS): Likewise.
30005 (linux_mod_LDFLAGS): Likewise.
30006 (nand_mod_SOURCES): Likewise.
30007 (nand_mod_CFLAGS): Likewise.
30008 (nand_mod_LDFLAGS): Likewise.
30009
30010 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
30011 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
30012 type property. (nand device in olpc don't have this property)
30013
30014 * include/grub/disk.h (grub_disk_dev_id): New macro
30015 GRUB_DISK_DEVICE_NAND_ID.
30016
30017 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
30018 function prototype.
30019 (grub_rescue_cmd_initrd): Likewise.
30020
30021 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
30022 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
30023 ofw_cif_handler and ofw_idt, adjust padding number.
30024
30025 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
30026 GRUB_MACHINE_IEEE1275 is defined.
30027
30028 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
30029 Use NESTED_FUNC_ATTR attribute on the hook parameter.
30030
30031 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
30032 on nested function heap_init.
30033 (grub_upper_mem): New variable for i386-ieee1275.
30034 (grub_get_extended_memory): New function for i386-ieee1275.
30035 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
30036
30037 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
30038 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
30039 property.
30040
30041 * loader/i386/ieee1275/linux.c: New file.
30042
30043 * loader/i386/ieee1275/linux_normal.c: New file.
30044
30045 * disk/ieee1275/nand.c: New file.
30046
30047 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
30048
30049 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
30050 value.
30051 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
30052
30053 2008-04-18 Robert Millan <rmh@aybabtu.com>
30054
30055 Restructures early code path on ieee1275 to unify grub_main() as
30056 the first C function that is executed in every platform.
30057
30058 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30059 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30060 cmain().
30061 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30062 * kern/ieee1275/cmain.c (cmain): Rename to ...
30063 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30064 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30065 at the beginning.
30066
30067 2008-04-18 Robert Millan <rmh@aybabtu.com>
30068
30069 * util/update-grub.in: Fix syntax error when setting
30070 `GRUB_PRELOAD_MODULES'.
30071 Reported by Stephane Chazelas <stephane@artesyncp.com>
30072
30073 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30074
30075 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30076 section into account, newer toolchains generate unique build ids
30077 * configure.ac: remove the test for --build-id=none acceptance,
30078 we want build ids to be preserved
30079 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30080 far from other sections don't cause the raw binary images grow
30081 size
30082
30083 2008-04-15 Robert Millan <rmh@aybabtu.com>
30084
30085 * disk/lvm.c: Update copyright year.
30086 * kern/misc.c: Likewise.
30087
30088 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30089
30090 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30091 there is no memory left for physical volume name.
30092
30093 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30094
30095 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30096 volume name mapping to support bigger than 9 character names properly.
30097
30098 2008-04-13 Robert Millan <rmh@aybabtu.com>
30099
30100 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30101 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30102
30103 2008-04-13 Christian Franke <franke@computer.org>
30104
30105 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30106 to create a floppy emulation boot CD when non emulation mode
30107 does not work.
30108 Enable Joliet CD filesystem extension.
30109
30110 2008-04-13 Robert Millan <rmh@aybabtu.com>
30111
30112 * kern/misc.c (grub_strncat): Fix off-by-one error.
30113 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30114
30115 * kern/env.c (grub_env_context_close): Clear current context, not
30116 previous one.
30117 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30118
30119 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30120
30121 2008-04-13 Robert Millan <rmh@aybabtu.com>
30122
30123 Improve robustness when handling LVM.
30124
30125 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30126 (and leave `*p' unmodified).
30127 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30128 through it.
30129 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30130 iterating through it.
30131 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30132 through it.
30133 (grub_lvm_scan_device): Check the return value (and fail gracefully
30134 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30135 Don't assume `vg->pvs != NULL' when iterating through it.
30136
30137 2008-04-13 Robert Millan <rmh@aybabtu.com>
30138
30139 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30140 * genmk.rb (partmap): New variable.
30141 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30142 (#{partmap}): New target rule.
30143 * genpartmaplist.sh: New file.
30144 * Makefile.in (pkglib_DATA): Add partmap.lst.
30145 (partmap.lst): New target rule.
30146 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30147 modules (including all partition maps), instead of preloading them.
30148
30149 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30150
30151 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30152 `linux-boot-prober' (if installed) to detect other operating
30153 systems which are installed on the computer and add them to
30154 the boot menu.
30155 * conf/common.rmk: Build and install 30_os-prober.
30156
30157 2008-04-12 Robert Millan <rmh@aybabtu.com>
30158
30159 * kern/powerpc/ieee1275/init.c: Move from here ...
30160 * kern/ieee1275/init.c: ... to here. Update all users.
30161
30162 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30163 * kern/ieee1275/cmain.c: ... to here. Update all users.
30164
30165 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30166 * kern/ieee1275/openfw.c: ... to here. Update all users.
30167
30168 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30169 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30170
30171 2008-04-10 Pavel Roskin <proski@gnu.org>
30172
30173 * configure.ac: Always use "_cv_" in cache variables for
30174 compatibility with Autoconf 2.62.
30175
30176 2008-04-07 Robert Millan <rmh@aybabtu.com>
30177
30178 Revert grub/machine/init.h addition by Pavel (since it breaks on
30179 i386-ieee1275 and others):
30180 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30181 * util/powerpc/ieee1275/misc.c: Likewise.
30182
30183 2008-04-07 Robert Millan <rmh@aybabtu.com>
30184
30185 * util/grub-probe.c (probe): Improve error message.
30186
30187 2008-04-07 Robert Millan <rmh@aybabtu.com>
30188
30189 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30190 (this prevents the presence of a bogus entry from ruining the whole
30191 thing).
30192
30193 2008-04-06 Pavel Roskin <proski@gnu.org>
30194
30195 * util/biosdisk.c: Include grub/util/biosdisk.h.
30196 * util/grub-fstest.c (execute_command): Make static.
30197 * util/grub-mkdevicemap.c (check_device): Likewise.
30198 * util/i386/pc/misc.c: Include grub/machine/init.h.
30199 * util/powerpc/ieee1275/misc.c: Likewise.
30200 * util/lvm.c: Include grub/util/lvm.h.
30201 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30202 grub/cache.h.
30203 * util/raid.c: Include grub/util/raid.h.
30204 (grub_util_getdiskname): Make static.
30205
30206 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30207 grub_hostfs_fini(), as they are called from grub_init_all() and
30208 grub_fini_all() respectively. This fixes an infinite loop in
30209 grub-fstest due to double registration of hostfs.
30210 Reported by Christian Franke <Christian.Franke@t-online.de>
30211
30212 2008-04-05 Pavel Roskin <proski@gnu.org>
30213
30214 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30215 all 8 functions. Otherwise, probe function 0 only.
30216
30217 2008-04-04 Pavel Roskin <proski@gnu.org>
30218
30219 * commands/lspci.c (grub_lspci_iter): Print the bus number
30220 correctly.
30221
30222 * commands/lspci.c (grub_pci_classes): Fix typos.
30223 (grub_lspci_iter): Don't print func twice. Print vendor ID
30224 before device ID, as it's normally done.
30225
30226 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30227 Fix signedness warnings.
30228 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30229 Likewise.
30230 * util/ieee1275/get_disk_name.c: Include config.h so that
30231 _GNU_SOURCE is defined and getline() is declared. Mark an
30232 unused argument as such. Fix a signedness warning.
30233
30234 2008-04-02 Pavel Roskin <proski@gnu.org>
30235
30236 * genkernsyms.sh.in: Use more robust assignments for CC and
30237 srcdir. Quote srcdir.
30238 * gensymlist.sh.in: Likewise. Assert at the compile time that
30239 the symbol table is not empty.
30240
30241 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30242 * fs/cpio.c (grub_cpio_read): Likewise.
30243
30244 2008-04-01 Pavel Roskin <proski@gnu.org>
30245
30246 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30247 * disk/host.c (grub_host_open): Likewise.
30248 * disk/loopback.c (grub_loopback_open): Likewise.
30249 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30250 disk->id as in disk/host.c, not a multi-character constant.
30251
30252 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30253 later is obsolete, potentially dangerous and sets a bad example.
30254 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30255 * util/misc.c (grub_util_get_image_size): Likewise.
30256
30257 * disk/loopback.c (options): Improve help for "--partitions".
30258
30259 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30260 options to align them with the short options, e.g. "echo -e".
30261
30262 2008-03-31 Bean <bean123ch@gmail.com>
30263
30264 * video/reader/png.c (grub_png_data): New member is_16bit and
30265 image_data.
30266 (grub_png_decode_image_header): Detect 16 bit png image.
30267 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30268 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30269 (grub_video_reader_png): Release memory occupied by image_data.
30270
30271 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30272 4096 bytes.
30273 (grub_nfs_mount): Skip the test for sector per cluster.
30274
30275 * include/grub/ntfs.h (MAX_SPC): Removed.
30276
30277 2008-03-31 Bean <bean123ch@gmail.com>
30278
30279 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30280 (grub_probe_SOURCES): Add fs/afs.c.
30281 (grub_fstest_SOURCES): Likewise.
30282 (afs_mod_SOURCES): New variable.
30283 (afs_mod_CFLAGS): Likewise.
30284 (afs_mod_LDFLAGS): Likewise.
30285
30286 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30287 (grub_emu_SOURCES): Likewise.
30288
30289 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30290
30291 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30292
30293 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30294
30295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30296
30297 * fs/afs.c: New file.
30298
30299 2008-03-30 Pavel Roskin <proski@gnu.org>
30300
30301 * disk/host.c: Include grub/misc.h to fix a warning.
30302 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30303 warnings about implicit declarations.
30304
30305 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30306 variable.
30307 * include/grub/i386/loader.h: Change declaration of
30308 grub_linux_boot() to match what grub_loader_set() expects.
30309 * util/getroot.c (grub_guess_root_device): Return const char* to
30310 fix a warning.
30311 * util/grub-probe.c (probe): Fix a warning about uninitialized
30312 abstraction_name variable.
30313 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30314 second argument as unused to fix a warning.
30315
30316 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30317 missing grub_error() call.
30318
30319 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30320 2.60 and newer uses it to define datadir.
30321
30322 * commands/sleep.c: Fix warning about implicit declaration.
30323 * disk/memdisk.c: Likewise.
30324 * loader/aout.c: Likewise.
30325 * loader/i386/bsd_normal.c: Likewise.
30326 * util/grub-probe.c: Likewise.
30327
30328 * commands/i386/cpuid.c (has_longmode): Make static.
30329 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30330 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30331
30332 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30333 GDT. This is more robust, as %ds can change.
30334 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30335 calling real_to_prot().
30336 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30337
30338 2008-03-28 Pavel Roskin <proski@gnu.org>
30339
30340 * kern/i386/pc/startup.S: Assert that uncompressed functions
30341 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30342 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30343 code, as they push parts of the code (error handlers) beyond
30344 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30345 code as correctness and size.
30346
30347 2008-03-28 Pavel Roskin <proski@gnu.org>
30348
30349 * kern/i386/pc/startup.S
30350 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30351 data block address to the real mode, keep offset minimal. This
30352 works around a bug in AWARD BIOS on old Athlon systems, which
30353 makes CD detection hang.
30354
30355 2008-03-26 Pavel Roskin <proski@gnu.org>
30356
30357 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30358 const.
30359 * include/grub/normal.h: Add grub_parse_color_name_pair()
30360 declaration.
30361
30362 2008-03-24 Bean <bean123ch@gmail.com>
30363
30364 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30365 (cd_count): Removed.
30366 (cd_drive): New variable.
30367 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30368 (grub_biosdisk_call_hook): Likewise.
30369 (grub_biosdisk_iterate): Change cdrom detection method.
30370 (grub_biosdisk_open): Replace cd_start with cd_drive.
30371 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30372 detect cdrom device.
30373
30374 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30375 Removed.
30376 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30377 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30378 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30379 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30380 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30381 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30382 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30383 (grub_biosdisk_cdrp): New structure.
30384 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30385
30386 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30387
30388 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30389 device.
30390
30391 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30392 New function.
30393
30394 2008-03-20 Robert Millan <rmh@aybabtu.com>
30395
30396 Remove 2 TiB limit in ata.mod.
30397 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30398 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30399 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30400 grub_uint64_t instead of grub_uint32_t.
30401
30402 2008-03-05 Bean <bean123ch@gmail.com>
30403
30404 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30405 (grub_multiboot): Set boot device.
30406
30407 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30408
30409 2008-03-02 Bean <bean123ch@gmail.com>
30410
30411 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30412 symlink_buffer.
30413
30414 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30415
30416 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30417 texinfo.tex.
30418
30419 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30420 modified.
30421
30422 * docs/fdl.texi: New file.
30423
30424 * docs/mdate-sh: New file. Copied from gnulib.
30425 * docs/texinfo.tex: Likewise.
30426
30427 * config.guess: Updated from gnulib.
30428 * install-sh: Likewise.
30429
30430 2008-02-28 Robert Millan <rmh@aybabtu.com>
30431
30432 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30433 (aout_mod_SOURCES): New variable.
30434 (aout_mod_CFLAGS): Likewise.
30435 (aout_mod_LDFLAGS): Likewise.
30436
30437 * conf/i386-ieee1275.rmk: Likewise.
30438
30439 2008-02-28 Robert Millan <rmh@aybabtu.com>
30440
30441 * util/update-grub.in: Reorganise terminal validity check. Accept
30442 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30443 Based on suggestion by Franklin PIAT.
30444
30445 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30446
30447 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30448 function.
30449 * util/getroot.c (grub_util_check_block_device): New function that
30450 returns the given argument if it is a block device and returns NULL else.
30451 * util/grub-probe.c (argument_is_device): New variable.
30452 (probe): Promote device_name from a variable to an argument. Receive
30453 device_name from grub_util_check_block_device() if path is NULL and from
30454 grub_guess_root_device() else. Do not free() device_name anymore.
30455 (options): Introduce new parameter '-d, --device'.
30456 (main): Add description of the new parameter to the help screen.
30457 Rename path variable to argument. Set argument_is_device if the '-d'
30458 option is given. Pass argument to probe() depending on
30459 argument_is_device.
30460
30461 2008-02-24 Bean <bean123ch@gmail.com>
30462
30463 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30464 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30465 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30466 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30467 (GRUB_ISO9660_VOLDESC_END): Likewise.
30468 (grub_iso9660_primary_voldesc): New member escape.
30469 (grub_iso9660_data): New member joliet.
30470 (grub_iso9660_convert_string): New function.
30471 (grub_iso9660_mount): Detect joliet extension.
30472 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30473 (grub_iso9660_iso9660_label): Likewise.
30474
30475 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30476 (grub_setup_SOURCES): Add fs/udf.c.
30477 (grub_fstest_SOURCES): Likewise.
30478 (udf_mod_SOURCES): New variable.
30479 (udf_mod_CFLAGS): Likewise.
30480 (udf_mod_LDFLAGS): Likewise.
30481
30482 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30483 (grub_emu_SOURCES): Likewise.
30484
30485 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30486
30487 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30488
30489 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30490
30491 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30492
30493 * fs/udf.c: New file.
30494
30495 2008-02-24 Robert Millan <rmh@aybabtu.com>
30496
30497 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30498 (normal/lexer.c_DEPENDENCIES): New variables.
30499 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30500 (normal/lexer.c_DEPENDENCIES): Likewise.
30501 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30502 (normal/lexer.c_DEPENDENCIES): Likewise.
30503 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30504 (normal/lexer.c_DEPENDENCIES): Likewise.
30505 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30506 (normal/lexer.c_DEPENDENCIES): Likewise.
30507 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30508 (normal/lexer.c_DEPENDENCIES): Likewise.
30509
30510 2008-02-23 Robert Millan <rmh@aybabtu.com>
30511
30512 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30513 since they were intended to be in hex. This didn't break previously
30514 because of a bug in gpt_partition_map_iterate() (see below).
30515
30516 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30517 when checking the validity of GPT header.
30518 Remove `partno', since it always provides the same information as `i'.
30519
30520 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30521
30522 * include/grub/efi/time.h: Fix a wrong comment.
30523
30524 2008-02-19 Pavel Roskin <proski@gnu.org>
30525
30526 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30527 message.
30528
30529 2008-02-19 Bean <bean123ch@gmail.com>
30530
30531 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30532 (aout_mod_SOURCES): New variable.
30533 (aout_mod_CFLAGS): Likewise.
30534 (aout_mod_LDFLAGS): Likewise.
30535 (_bsd_mod_SOURCES): New variable.
30536 (_bsd_mod_CFLAGS): Likewise.
30537 (_bsd_mod_LDFLAGS): Likewise.
30538 (bsd_mod_SOURCES): New variable.
30539 (bsd_mod_CFLAGS): Likewise.
30540 (bsd_mod_LDFLAGS): Likewise.
30541
30542 * include/grub/aout.h: New file.
30543
30544 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30545
30546 * include/grub/i386/bsd.h: New file.
30547
30548 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30549 to make it public.
30550
30551 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30552 function is called, so that it's possible to change it inside the hook.
30553 (grub_elf64_load): Likewise.
30554 (grub_elf_file): Don't close the file if elf header is not found.
30555 (grub_elf_close): Close the file if grub_elf_file fails (The new
30556 grub_elf_file won't close it).
30557 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30558 (grub_elf64_size): Likewise.
30559
30560 * kern/i386/loader.S (grub_unix_real_boot): New function.
30561
30562 * loader/aout.c: New file.
30563
30564 * loader/i386/bsd.c: New file.
30565
30566 * loader/i386/bsd_normal.c: New file.
30567
30568 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30569
30570 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
30571 can test other formats.
30572
30573 2008-02-19 Robert Millan <rmh@aybabtu.com>
30574
30575 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30576 (grub_gpt_partition_type_empty): Redefine with macro from
30577 `<grub/gpt_partition.h>'.
30578 (gpt_partition_map_iterate): Adjust partition type comparison.
30579
30580 Export `entry' as partmap-specific `part.data' struct.
30581 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30582
30583 * include/grub/gpt_partition.h (grub_gpt_header)
30584 (grub_gpt_partentry): ... to here (new file).
30585
30586 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30587
30588 (grub_gpt_partition_type_bios_boot): New const variable, defined
30589 with macro from `<grub/gpt_partition.h>'.
30590
30591 (setup): Replace `first_start' with `embed_region', which keeps
30592 track of the embed region (and is partmap-agnostic).
30593
30594 Replace find_first_partition_start() with find_usable_region(),
30595 which finds a usable region for embedding using partmap-specific
30596 knowledge (supports PC/MSDOS and GPT).
30597
30598 Fix all assumptions that the embed region start at sector 1, using
30599 `embed_region.start' from now on. Similarly, use `embed_region.end'
30600 rather than `first_start' to calculate available size.
30601
30602 In grub_util_info() message, replace "into after the MBR" with an
30603 indication of the specific sector our embed region starts at.
30604
30605 2008-02-19 Robert Millan <rmh@aybabtu.com>
30606
30607 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30608 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30609 `commands/reboot.c'.
30610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30611 (halt_mod_SOURCES): Likewise.
30612 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30613 (halt_mod_SOURCES): Likewise.
30614
30615 2008-02-17 Christian Franke <franke@computer.org>
30616
30617 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30618
30619 2008-02-17 Robert Millan <rmh@aybabtu.com>
30620
30621 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30622 set `first_start' to 0 for non-PC/MSDOS partition maps.
30623
30624 2008-02-16 Robert Millan <rmh@aybabtu.com>
30625
30626 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30627 do not assume partition map is PC/MSDOS before performing checks that
30628 are specific to that layout.
30629
30630 2008-02-13 Robert Millan <rmh@aybabtu.com>
30631
30632 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30633 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30634 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30635
30636 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30637
30638 * configure.ac: Only a cosmetic change on the handling of
30639 -fno-stack-protector.
30640
30641 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
30642
30643 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30644 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30645 reboot.c.
30646 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30647 (halt_mod_SOURCES): New variable.
30648 (halt_mod_CFLAGS): Likewise.
30649 (halt_mod_LDFLAGS): Likewise.
30650 (reboot_mod_SOURCES): Likewise.
30651 (reboot_mod_CFLAGS): Likewise.
30652 (reboot_mod_LDFLAGS): Likewise.
30653
30654 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30655 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30656 reboot.c.
30657 (halt_mod_SOURCES): Likewise.
30658 (reboot_mod_SOURCES): Likewise.
30659
30660 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30661 commands/i386/pc/reboot.c by commands/reboot.c.
30662 (reboot_mod_SOURCES): Likewise.
30663
30664 * commands/i386/pc/reboot.c: merge this file ...
30665
30666 * commands/ieee1275/reboot.c: ... and this file ...
30667
30668 * commands/reboot.c: ... to this file.
30669 Add some precompiler directive to include the correct header for
30670 each machine.
30671
30672 * commands/ieee1275/halt.c: move this file ...
30673
30674 * commands/halt.c: ... to here.
30675 Add some precompiler directive to include the correct header for
30676 each machine.
30677
30678 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30679 (grub_halt): Likewise.
30680
30681 * kern/efi/efi.c (grub_reboot): New function.
30682 (grub_halt): Likewise.
30683
30684 2008-02-12 Robert Millan <rmh@aybabtu.com>
30685
30686 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30687 /dev (like it is done for /dev/mapper). This doesn't provide support
30688 for EVMS, but at least it is now easy to identify the problem when it
30689 arises.
30690
30691 2008-02-11 Robert Millan <rmh@aybabtu.com>
30692
30693 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30694 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30695 comparing it with -1, not 0.
30696
30697 2008-02-10 Robert Millan <rmh@aybabtu.com>
30698
30699 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30700 `disk/lvm.c'.
30701 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30702 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30703
30704 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30705 `disk/lvm.c' to the end of the list.
30706 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30707 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30708
30709 2008-02-10 Robert Millan <rmh@aybabtu.com>
30710
30711 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30712 grub_print_error() instead. This will let user know why we're entering
30713 rescue mode.
30714 Based on suggestions from Sam Morris.
30715
30716 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
30717
30718 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30719 on remaining N args, instead of "--" arg N times.
30720
30721 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30722
30723 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30724 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30725 pattern for unknown glyphs.
30726
30727 2008-02-09 Robert Millan <rmh@aybabtu.com>
30728
30729 * configure.ac: Probe for `help2man'.
30730 * Makefile.in (builddir): New variable.
30731 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30732 or otherwise add a few flags/options to it.
30733 (install-local): For every executable utility or script that is
30734 installed, invoke $(HELP2MAN) to install a manpage based on --help
30735 output.
30736
30737 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
30738 that it doesn't prevent --help from working in build tree.
30739
30740 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
30741 with `bug-grub@gnu.org'.
30742 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
30743 * util/update-grub.in (usage): New function.
30744 Implement proper argument check, with support for --help and --version
30745 (as well as existing -y).
30746
30747 2008-02-09 Christian Franke <franke@computer.org>
30748
30749 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
30750 avoid overwriting previous output.
30751 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
30752
30753 2008-02-09 Robert Millan <rmh@aybabtu.com>
30754
30755 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
30756 drawing the menu.
30757
30758 2008-02-09 Robert Millan <rmh@aybabtu.com>
30759
30760 * commands/sleep.c: New file.
30761 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
30762 (sleep_mod_SOURCES): New variable.
30763 (sleep_mod_CFLAGS): Likewise.
30764 (sleep_mod_LDFLAGS): Likewise.
30765
30766 2008-02-09 Robert Millan <rmh@aybabtu.com>
30767
30768 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
30769 situations in which we can deduce the RAID size and the superblock
30770 doesn't match it.
30771
30772 2008-02-09 Robert Millan <rmh@aybabtu.com>
30773
30774 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
30775 and return a grub_diskmemberlist_t composed of LVM physical volumes.
30776 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
30777
30778 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
30779 and return a grub_diskmemberlist_t composed of physical array members.
30780 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
30781
30782 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
30783 prototype.
30784 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
30785 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
30786 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
30787
30788 * util/grub-probe.c (probe): Move partmap probing code from here ...
30789 (probe_partmap): ... to here.
30790 (probe): Use probe_partmap() once for the disk we're probing, and
30791 additionally, when such disk contains a memberlist() struct member,
30792 once for each disk that is contained in the structure returned by
30793 memberlist().
30794
30795 2008-02-09 Robert Millan <rmh@aybabtu.com>
30796
30797 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
30798 environment variable to 'all' in order to obtain debug output from
30799 non-util/ code.
30800 * util/i386/pc/grub-setup.c (main): Likewise.
30801
30802 2008-02-08 Robert Millan <rmh@aybabtu.com>
30803
30804 * disk/raid.c (grub_raid_scan_device): Check for
30805 `array->device[sb.this_disk.number]' rather than for
30806 `array->device[sb.this_disk.number]->name', since the latter is not
30807 guaranteed to be accessible.
30808
30809 2008-02-08 Robert Millan <rmh@aybabtu.com>
30810
30811 * disk/raid.c: Update copyright.
30812 * fs/cpio.c: Likewise.
30813 * include/grub/raid.h: Likewise.
30814 * loader/i386/pc/multiboot.c: Likewise.
30815 * util/hostfs.c: Likewise.
30816
30817 2008-02-08 Robert Millan <rmh@aybabtu.com>
30818
30819 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
30820 to a grub_disk_t array.
30821 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
30822 `device[x]'.
30823 (grub_raid_scan_device): Replace `device[x].name' accesses with
30824 `device[x]->name'. Simplify initialization of `array->device[x]'.
30825
30826 2008-02-08 Robert Millan <rmh@aybabtu.com>
30827
30828 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
30829 grub_dprintf() calls.
30830 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
30831 error message.
30832
30833 2008-02-07 Christian Franke <franke@computer.org>
30834
30835 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
30836 instead of fseek and ftell to support large files.
30837 (grub_hostfs_read): Likewise.
30838
30839 2008-02-07 Robert Millan <rmh@aybabtu.com>
30840
30841 Patch from Jeroen Dekkers.
30842 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
30843 failure, since successfully reading all array members might not be
30844 required.
30845
30846 2008-02-06 Robert Millan <rmh@aybabtu.com>
30847
30848 * util/grub-probe.c (probe): Simplify partmap probing (with the
30849 assumption that the first word up to the underscore equals to
30850 the module name).
30851
30852 2008-02-06 Christian Franke <franke@computer.org>
30853
30854 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
30855 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
30856 last block of a cpio or tar stream.
30857 Check for "TRAILER!!!" instead of any empty data
30858 block to detect last block of a cpio stream.
30859 (grub_cpio_dir): Fix constness of variable np.
30860 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
30861 cpio or tar trailer is detected. This fixes a crash
30862 on open of a non existing file.
30863
30864 2008-02-05 Bean <bean123ch@gmail.com>
30865
30866 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
30867 address of entry.
30868 (grub_multiboot_load_elf64): Likewise.
30869 (grub_multiboot): Initialize mbi structure.
30870
30871 * util/grub-fstest.c: Don't include unused header file script.h.
30872
30873 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
30874 of file.
30875 (grub_fstest_SOURCES): Likewise.
30876
30877 2008-02-05 Robert Millan <rmh@aybabtu.com>
30878
30879 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
30880 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
30881 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
30882 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
30883
30884 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
30885 (translation_table): Replace hardcoded values with macros
30886 provided by `<grub/term.h>'.
30887
30888 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
30889 (keyboard_map): Correct/add a few values, with macros provided
30890 by `<grub/term.h>'.
30891 (keyboard_map_shift): Zero values that don't differ from their
30892 `keyboard_map' equivalents.
30893 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
30894 Discard the second scan code that is always sent by Caps lock.
30895 Only use `keyboard_map_shift' when it provides a non-zero value,
30896 otherwise fallback to `keyboard_map'.
30897
30898 2008-02-04 Bean <bean123ch@gmail.com>
30899
30900 * Makefile.in (enable_grub_fstest): New variable.
30901
30902 * conf/common.rmk (grub_fstest_init.lst): New rule.
30903 (grub_fstest_init.h): Likewise.
30904 (grub_fstest_init.c): Likewise.
30905 (util/grub-fstest.c_DEPENDENCIES): New variable.
30906 (grub_fstest_SOURCES): Likewise.
30907
30908 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
30909
30910 * util/grub-fstest.c: New file.
30911
30912 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30913
30914 Make grub-setup handle a separate root device.
30915
30916 * util/i386/pc/grub-setup.c (setup): Always open the root device,
30917 so that the root device can be compared with the destination
30918 device.
30919 When embedding the core image, if the root and destination devices
30920 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
30921 0xFF.
30922 When not embedding, set ROOT_DRIVE to 0xFF.
30923
30924 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30925
30926 Add support for having a grub directory in a different drive. This
30927 is still only the data handling part.
30928
30929 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
30930 (codestart): Save %dh in GRUB_ROOT_DRIVE.
30931 (grub_root_drive): New variable.
30932
30933 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
30934 instead of GRUB_BOOT_DRIVE to construct a device name. Set
30935 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
30936 as it was.
30937
30938 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
30939
30940 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
30941 macro.
30942 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
30943
30944 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
30945 is bogus, because PXE booting does not specify any drive
30946 correctly.
30947
30948 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
30949 am not sure if this is really correct.
30950
30951 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
30952 is always identical to the boot drive when booting from a CD.
30953
30954 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
30955 longer.
30956 (root_drive): New variable.
30957 (real_start): Unconditionally set %dh to ROOT_DRIVE.
30958 (setup_sectors): Push %dx right after popping it, because %dh will
30959 be modified later.
30960 (copy_buffer): Restore %dx.
30961
30962 2008-02-03 Robert Millan <rmh@aybabtu.com>
30963
30964 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
30965 use `cdboot.img' for cdrom images.
30966
30967 2008-02-03 Robert Millan <rmh@aybabtu.com>
30968
30969 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
30970 only setup gfxterm when `font' command has succeeded.
30971
30972 2008-02-03 Robert Millan <rmh@aybabtu.com>
30973
30974 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
30975 (grub_rescue_cmd_multiboot_loader)
30976 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
30977
30978 2008-02-03 Pavel Roskin <proski@gnu.org>
30979
30980 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
30981 %edx and %esi from stack only after grub_gate_a20() is called.
30982 grub_gate_a20() clobbers %edx.
30983
30984 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30985
30986 * configure.ac (AC_INIT): Bumped to 1.96.
30987
30988 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
30989 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
30990 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
30991 video/readers/png.c.
30992
30993 2008-02-03 Bean <bean123ch@gmail.com>
30994
30995 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
30996 (cdboot_img_SOURCES): New variable.
30997 (cdboot_img_ASFLAGS): New variable.
30998 (cdboot_img_LDFLAGS): New variable.
30999
31000 * boot/i386/pc/cdboot.S: New file.
31001
31002 * disk/i386/pc/biosdisk.c (cd_start): New variable.
31003 (cd_count): Likewise.
31004 (grub_biosdisk_get_drive): Add support for cd device.
31005 (grub_biosdisk_call_hook): Likewise.
31006 (grub_biosdisk_iterate): Likewise.
31007 (grub_biosdisk_open): Likewise.
31008 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
31009 (grub_biosdisk_rw): Support reading from cd device.
31010 (GRUB_MOD_INIT): Iterate cd devices.
31011
31012 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
31013 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
31014 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
31015
31016 * kern/i386/pc/init.c (make_install_device): Check for cd device.
31017
31018 2008-02-02 Robert Millan <rmh@aybabtu.com>
31019
31020 * commands/read.c: New file.
31021 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
31022 (read_mod_SOURCES): New variable.
31023 (read_mod_CFLAGS): Likewise.
31024 (read_mod_LDFLAGS): Likewise.
31025
31026 2008-02-02 Robert Millan <rmh@aybabtu.com>
31027
31028 * normal/main.c (grub_normal_execute): Check for `menu->size' when
31029 determining whether menu has to be displayed.
31030
31031 2008-02-02 Marco Gerards <marco@gnu.org>
31032
31033 * bus/pci.c: New file.
31034
31035 * include/grub/pci.h: Likewise.
31036
31037 * include/grub/i386/pc/pci.h: Likewise.
31038
31039 * commands/lspci.c: Likewise.
31040
31041 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
31042 `lspci.mod'.
31043 (pci_mod_SOURCES): New variable.
31044 (pci_mod_CFLAGS): Likewise.
31045 (pci_mod_LDFLAGS): Likewise.
31046 (lspci_mod_SOURCES): Likewise.
31047 (lspci_mod_CFLAGS): Likewise.
31048 (lspci_mod_LDFLAGS): Likewise.
31049
31050 2008-02-02 Bean <bean123ch@gmail.com>
31051
31052 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
31053 (grub_ufs_get_file_block): Fix indirect block calculation problem.
31054
31055 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
31056 (grub_xfs_btree_node): New structure.
31057 (grub_xfs_btree_root): New structure.
31058 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31059 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31060 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31061 (GRUB_XFS_EXTENT_SIZE): Likewise.
31062 (grub_xfs_read_block): Support btree format type.
31063 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31064 Use directory block as basic unit.
31065
31066 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31067
31068 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31069 __attribute__ ((__regparm__ (1))).
31070
31071 2008-02-01 Robert Millan <rmh@aybabtu.com>
31072
31073 Correct a mistake in previous commit.
31074
31075 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31076 top.
31077 (normal/command.c_DEPENDENCIES): New variable.
31078
31079 2008-02-01 Robert Millan <rmh@aybabtu.com>
31080
31081 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31082 top.
31083 (normal/command.c_DEPENDENCIES): New variable.
31084 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31085 * conf/i386-ieee1275.rmk: Likewise.
31086 * conf/i386-linuxbios.rmk: Likewise.
31087 * conf/i386-pc.rmk: Likewise.
31088 * conf/sparc64-ieee1275.rmk: Likewise.
31089 * conf/powerpc-ieee1275.rmk: Likewise.
31090 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31091
31092 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31093
31094 2008-02-01 Robert Millan <rmh@aybabtu.com>
31095
31096 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31097 call at beginning of function.
31098
31099 2008-01-31 Pavel Roskin <proski@gnu.org>
31100
31101 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31102 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31103 (grub_mkrescue_SOURCES): Likewise.
31104 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31105
31106 2008-01-30 Robert Millan <rmh@aybabtu.com>
31107
31108 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31109 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31110 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31111 (grub_probe_SOURCES): ... to here.
31112
31113 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31114 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31115 * conf/i386-ieee1275.rmk: Likewise.
31116 * conf/i386-linuxbios.rmk: Likewise.
31117 * conf/powerpc-ieee1275.rmk: Likewise.
31118
31119 2008-01-30 Tristan Gingold <gingold@free.fr>
31120
31121 * kern/rescue.c: Silently accept empty lines.
31122
31123 2008-01-29 Bean <bean123ch@gmail.com>
31124
31125 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31126 (real_code_2): Code cleanup and change comment style.
31127 (move_memory): Avoid using 32-bit address mode.
31128
31129 2008-01-29 Bean <bean123ch@gmail.com>
31130
31131 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31132 (png_mod_SOURCES): New variable.
31133 (png_mod_CFLAGS): Likewise.
31134 (png_mod_LDFLAGS): Likewise.
31135
31136 * video/readers/png.c: New file.
31137
31138 2008-01-28 Robert Millan <rmh@aybabtu.com>
31139
31140 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31141 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31142 `ifndef GRUB_MOD_GAP' hack.
31143 * util/elf/grub-mkimage.c (add_segments): Likewise.
31144
31145 2008-01-27 Robert Millan <rmh@aybabtu.com>
31146
31147 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31148 `GRUB_MOD_GAP' for platforms in which it's not defined.
31149 * util/elf/grub-mkimage.c (add_segments): Likewise.
31150
31151 2008-01-27 Robert Millan <rmh@aybabtu.com>
31152
31153 Get grub-emu to build again (including parallel builds).
31154
31155 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31156 Split into ...
31157 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31158 (normal/execute.c_DEPENDENCIES): ... this, ...
31159 (grub-emu_DEPENDENCIES): ... and this.
31160
31161 * conf/i386-efi.rmk: Likewise.
31162 * conf/i386-linuxbios.rmk: Likewise.
31163 * conf/i386-ieee1275.rmk: Likewise.
31164 * conf/powerpc-ieee1275.rmk: Likewise.
31165 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31166
31167 2008-01-27 Robert Millan <rmh@aybabtu.com>
31168
31169 * NEWS: Add a few items.
31170
31171 2008-01-27 Robert Millan <rmh@aybabtu.com>
31172
31173 Fix parallel builds with grub-emu. Based on earlier commit for
31174 grub-probe and grub-setup.
31175
31176 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31177 (util/grub-emu.c_DEPENDENCIES): ... this.
31178 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31179 (util/grub-emu.c_DEPENDENCIES): ... this.
31180 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31181 (util/grub-emu.c_DEPENDENCIES): ... this.
31182 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31183 (util/grub-emu.c_DEPENDENCIES): ... this.
31184 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31185 (util/grub-emu.c_DEPENDENCIES): ... this.
31186
31187 2008-01-27 Pavel Roskin <proski@gnu.org>
31188
31189 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31190 to create a gap between _end and the modules added to the image
31191 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31192 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31193 * util/elf/grub-mkimage.c (add_segments): Likewise.
31194
31195 2008-01-26 Pavel Roskin <proski@gnu.org>
31196
31197 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31198 just return an error.
31199
31200 2008-01-26 Bean <bean123ch@gmail.com>
31201
31202 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31203 (grub_reiserfs_get_item): Save offset of the next item.
31204 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31205
31206 2008-01-25 Robert Millan <rmh@aybabtu.com>
31207
31208 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31209 make all filesystem sources appear together (possibly fixing omissions
31210 while at it).
31211 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31212 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31213 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31214 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31215
31216 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31217 add `kern/file.c'.
31218 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31219 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31220 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31221 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31222
31223 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31224 (probe): Add a sanity check to make sure of our ability to read
31225 requested files when probing for filesystem type.
31226
31227 * genmk.rb: Update copyright year (2007).
31228
31229 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31230 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31231 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31232 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31233 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31234 : Remove function prototypes.
31235
31236 2008-01-25 Robert Millan <rmh@aybabtu.com>
31237
31238 Revert my previous commits (based on wrong assumption of how grub_errno
31239 works).
31240
31241 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31242 * kern/file.c (grub_file_open): Likewise.
31243
31244 2008-01-24 Pavel Roskin <proski@gnu.org>
31245
31246 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31247 that hang if GRUB tries to setup colors.
31248 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31249 colors for firmwares that don't support it.
31250 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31251 Recognize Open Hack'Ware, set flags to work around its
31252 limitations.
31253
31254 2008-01-24 Robert Millan <rmh@aybabtu.com>
31255
31256 * kern/file.c (grub_file_open): Do not account previous failures of
31257 unrelated functions when grub_errno is checked for.
31258 Reported by Oleg Strikov.
31259
31260 2008-01-24 Bean <bean123ch@gmail.com>
31261
31262 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31263 (grub_ufs_sblock): New member volume name.
31264 (grub_ufs_find_file): Fix string copy bug.
31265 (grub_ufs_label): Implement this function properly.
31266
31267 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31268 (grub_hfs_iterate_records): Use the correct file number for extents
31269 and catalog file. Fix problem in next index calculation.
31270 (grub_hfs_find_node): Replace recursive function call with loop.
31271 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31272
31273 2008-01-23 Robert Millan <rmh@aybabtu.com>
31274
31275 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31276 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31277 (grub_multiboot2_real_boot): New function prototype.
31278
31279 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31280 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31281
31282 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31283 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31284
31285 2008-01-23 Robert Millan <rmh@aybabtu.com>
31286
31287 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31288 #ifdef'ed out grub_printf().
31289
31290 2008-01-23 Robert Millan <rmh@aybabtu.com>
31291
31292 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31293 grub_dprintf calls, since they make "debug=all" mode unusable.
31294 (grub_console_checkkey): Likewise.
31295
31296 2008-01-23 Robert Millan <rmh@aybabtu.com>
31297
31298 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31299 `term/i386/pc/at_keyboard.c'.
31300 (pkglib_MODULES): Add `serial.mod'.
31301 (serial_mod_SOURCES): New variable.
31302 (serial_mod_CFLAGS): Likewise.
31303 (serial_mod_LDFLAGS): Likewise.
31304
31305 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31306 `<grub/powerpc/ieee1275/console.h>'.
31307 (grub_keyboard_controller_init): New function prototype.
31308 (grub_console_checkkey): Likewise.
31309 (grub_console_getkey): Likewise.
31310
31311 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31312 keyboard on i386.
31313
31314 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31315 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31316
31317 2008-01-23 Robert Millan <rmh@aybabtu.com>
31318
31319 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31320 present, "(memdisk)/boot/grub" becomes the default prefix.
31321
31322 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31323 a memdisk tarball with all the modules. Add --overlay=DIR option that
31324 allows users to overlay additional files into the image.
31325
31326 2008-01-23 Robert Millan <rmh@aybabtu.com>
31327
31328 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31329 and `machine/memory.h'.
31330 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31331 (_multiboot_mod_SOURCES): New variable.
31332 (_multiboot_mod_CFLAGS): Likewise.
31333 (_multiboot_mod_LDFLAGS): Likewise.
31334 (multiboot_mod_SOURCES): Likewise.
31335 (multiboot_mod_CFLAGS): Likewise.
31336 (multiboot_mod_LDFLAGS): Likewise.
31337
31338 * include/grub/i386/ieee1275/loader.h: New file.
31339
31340 * include/grub/i386/ieee1275/machine.h: Likewise.
31341
31342 * include/grub/i386/ieee1275/memory.h: Likewise.
31343
31344 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31345 variable declaration.
31346 (grub_os_area_size): Likewise.
31347
31348 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31349 (grub_lower_mem, grub_upper_mem): New variables.
31350 (grub_stop_floppy): New function (just to make
31351 grub_multiboot2_real_boot() happy).
31352
31353 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31354 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31355 (grub_stop): New function.
31356 Include `"../realmode.S"' and `"../loader.S"'.
31357
31358 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31359 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31360
31361 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31362 rely on grub_multiboot2_real_boot() for final boot.
31363
31364 2008-01-22 Robert Millan <rmh@aybabtu.com>
31365
31366 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31367 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31368 device that doesn't look like an SD card.
31369 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31370 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31371 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31372 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31373 found.
31374
31375 2008-01-22 Robert Millan <rmh@aybabtu.com>
31376
31377 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31378 avoid claiming over our own code.
31379
31380 2008-01-22 Bean <bean123ch@gmail.com>
31381
31382 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31383 (jpeg_mod_SOURCES): New variable.
31384 (jpeg_mod_CFLAGS): Likewise.
31385 (jpeg_mod_LDFLAGS): Likewise.
31386
31387 * video/readers/jpeg.c : New file.
31388
31389 2008-01-22 Bean <bean123ch@gmail.com>
31390
31391 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31392 there are no more items.
31393
31394 2008-01-21 Robert Millan <rmh@aybabtu.com>
31395
31396 * kern/mm.c (grub_mm_init_region): Improve debug message.
31397
31398 2008-01-21 Robert Millan <rmh@aybabtu.com>
31399
31400 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31401 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31402 address.
31403 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31404 a C macro.
31405 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31406 Indicates start of upper memory.
31407 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31408 (generate_image): Abort when image size is big enough to corrupt
31409 upper memory.
31410
31411 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31412 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31413 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31414 instead of hardcoding 0xA0000.
31415 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31416 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31417 instead of hardcoding 0xA0000.
31418
31419 2008-01-21 Robert Millan <rmh@aybabtu.com>
31420
31421 * disk/memdisk.c (memdisk_size): New variable.
31422 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31423 `memdisk_size'.
31424 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31425 image to dynamic memory.
31426 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31427 `memdisk_size'. Free memdisk block.
31428
31429 2008-01-21 Robert Millan <rmh@aybabtu.com>
31430
31431 Fix detection of very small filesystems (like tar).
31432
31433 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31434 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31435 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31436 a problem with this disk).
31437
31438 2008-01-21 Robert Millan <rmh@aybabtu.com>
31439
31440 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31441 on grub_biosdisk_rw_standard() error.
31442
31443 2008-01-21 Robert Millan <rmh@aybabtu.com>
31444
31445 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31446 recent changes.
31447 * kern/elf.c: Likewise.
31448 * kern/ieee1275/ieee1275.c: Likewise.
31449 * kern/powerpc/ieee1275/openfw.c: Likewise.
31450 * term/ieee1275/ofconsole.c: Likewise.
31451
31452 2008-01-21 Robert Millan <rmh@aybabtu.com>
31453
31454 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31455
31456 * include/grub/kernel.h (grub_arch_memdisk_addr)
31457 (grub_arch_memdisk_size): Moved from here ...
31458
31459 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31460 (grub_arch_memdisk_size): ... to here.
31461
31462 2008-01-21 Robert Millan <rmh@aybabtu.com>
31463
31464 Mostly based on bugfix from Bean.
31465
31466 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31467 attribute with hook() parameter.
31468 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31469 declaration.
31470 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31471 attribute with hook() parameter.
31472 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31473 declaration.
31474
31475 2008-01-21 Robert Millan <rmh@aybabtu.com>
31476
31477 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31478 (pkglib_MODULES): Add `memdisk.mod'.
31479 (memdisk_mod_SOURCES): New variable.
31480 (memdisk_mod_CFLAGS): Likewise.
31481 (memdisk_mod_LDFLAGS): Likewise.
31482
31483 * disk/memdisk.c: New file.
31484
31485 * include/grub/disk.h (grub_disk_dev_id): Add
31486 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31487
31488 * include/grub/i386/pc/kernel.h
31489 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31490 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31491 (grub_kernel_image_size): New variable declaration.
31492 (grub_total_module_size): Likewise.
31493 (grub_memdisk_image_size): Likewise.
31494
31495 * include/grub/i386/pc/memory.h
31496 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31497
31498 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31499 (grub_arch_memdisk_addr): New variable declaration.
31500 (grub_arch_memdisk_size): Likewise.
31501
31502 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31503 (grub_arch_memdisk_size): Likewise.
31504
31505 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31506 (codestart): Replace hardcoded `0x100000' with
31507 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31508
31509 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31510 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31511 not NULL, append the contents of the file it refers to, at the end of
31512 the compressed kernel image. Initialize `grub_memdisk_image_size'
31513 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31514 (options): Add "memdisk"|'m' option.
31515 (main): Parse --memdisk|-m option, and pass user-provided path as
31516 parameter to generate_image().
31517
31518 2008-01-20 Robert Millan <rmh@aybabtu.com>
31519
31520 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31521 grub_dprintf() calls from here ...
31522 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31523
31524 2008-01-20 Robert Millan <rmh@aybabtu.com>
31525
31526 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31527
31528 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31529 declaration.
31530 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31531 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31532 `GRUB_IEEE1275_FLAG_REAL_MODE'.
31533 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
31534 property).
31535 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31536 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31537
31538 2008-01-19 Robert Millan <rmh@aybabtu.com>
31539
31540 Get rid of confusing function (superseded by
31541 `grub_ieee1275_get_integer_property')
31542 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31543 prototype.
31544 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31545 function.
31546 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31547 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
31548 in native endianness from grub_ieee1275_get_integer_property().
31549
31550 2008-01-19 Robert Millan <rmh@aybabtu.com>
31551
31552 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31553 command after "shut-down", since implementations differ on which
31554 the command for halt is.
31555
31556 2008-01-19 Robert Millan <rmh@aybabtu.com>
31557
31558 * include/grub/i386/linuxbios/console.h: Add header protection.
31559 (grub_keyboard_controller_init): New function prototype.
31560 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31561 (KEYBOARD_COMMAND_READ): Likewise.
31562 (KEYBOARD_COMMAND_WRITE): Likewise.
31563 (KEYBOARD_SCANCODE_SET1): Likewise.
31564 (grub_keyboard_controller_write): New function.
31565 (grub_keyboard_controller_read): Likewise.
31566 (grub_keyboard_controller_init): Likewise.
31567
31568 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31569 (grub_console_init): On coreboot/LinuxBIOS, call
31570 grub_keyboard_controller_init().
31571
31572 2008-01-19 Robert Millan <rmh@aybabtu.com>
31573
31574 PowerPC changes provided by Pavel Roskin.
31575
31576 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31577 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31578 don't rely on cmain() doing it.
31579 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31580 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31581
31582 2008-01-16 Robert Millan <rmh@aybabtu.com>
31583
31584 * include/grub/i386/linuxbios/memory.h
31585 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31586 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31587 receive `table_header' as argument. Instead, probe for it in the
31588 known memory ranges where it can be present.
31589 (grub_available_iterate): Do not pass a fixed `table_header' address
31590 to grub_linuxbios_table_iterate().
31591
31592 2008-01-15 Robert Millan <rmh@aybabtu.com>
31593
31594 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31595 * conf/i386-ieee1275.rmk: New file.
31596 * include/grub/i386/ieee1275/console.h: Likewise.
31597 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31598 * include/grub/i386/ieee1275/kernel.h: Likewise.
31599 * include/grub/i386/ieee1275/time.h: Likewise.
31600 * kern/i386/ieee1275/init.c: Likewise.
31601 * kern/i386/ieee1275/startup.S: Likewise.
31602
31603 2008-01-15 Robert Millan <rmh@aybabtu.com>
31604
31605 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31606 when pointers are 32-bit (but still do set it to one when they are
31607 64-bit).
31608
31609 2008-01-15 Robert Millan <rmh@aybabtu.com>
31610
31611 * include/grub/ieee1275/ieee1275.h
31612 (grub_ieee1275_get_integer_property): New function prototype.
31613
31614 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31615 (grub_ieee1275_get_integer_property): New function. Wraps around
31616 grub_ieee1275_get_property() to handle endianness.
31617
31618 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31619 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
31620 where appropriate.
31621 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31622 (grub_map): Likewise.
31623 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31624
31625 2008-01-15 Bean <bean123ch@gmail.com>
31626
31627 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31628 (grub_script_execute_cmdline): Reset grub_errno.
31629
31630 * normal/main.c (read_config_file): Reset grub_errno.
31631
31632 * normal/parse.y (script_init): New.
31633 (script): Move function and menuentry here.
31634 (delimiter): New.
31635 (command): Add delimiter at the end of command.
31636 (commands): Adjust to match the new command.
31637 (commandblock): Remove grub_script_lexer_record_start.
31638 (menuentry): Add grub_script_lexer_record_start, use the new commands.
31639 (if): Use the new commands.
31640
31641 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31642
31643 2008-01-15 Robert Millan <rmh@aybabtu.com>
31644
31645 * normal/menu.c (run_menu): Move timeout message from here ...
31646 (print_timeout): ... to here.
31647 (run_menu): Use print_timeout() once during initial draw to print
31648 the whole message, and again in every clock tick to update only
31649 the number of seconds.
31650
31651 2008-01-15 Robert Millan <rmh@aybabtu.com>
31652
31653 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31654 actual size of `available' from grub_ieee1275_get_property(), and
31655 restrict parsing to that bound.
31656
31657 2008-01-15 Christian Franke <franke@computer.org>
31658
31659 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31660 (argp_program_version): Remove variable.
31661 (argp_program_bug_address): Likewise.
31662 (options): Convert from struct argp_option to struct option.
31663 (struct arguments): Remove.
31664 (parse_opt): Remove.
31665 (usage): New function.
31666 (main): Replace struct args members by simple variables.
31667 Replace argp_parse() by getopt_long().
31668 Add switch to evaluate options.
31669 Add missing "(...)" around root_dev in prefix string.
31670
31671 2008-01-14 Robert Millan <rmh@aybabtu.com>
31672
31673 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31674 for grub_ieee1275_exit(), in order to improve portability.
31675
31676 2008-01-14 Robert Millan <rmh@aybabtu.com>
31677
31678 * util/grub.d/10_linux.in (prefix): Define.
31679 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31680
31681 2008-01-13 Pavel Roskin <proski@gnu.org>
31682
31683 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31684 grub_errno if no errors have been detected.
31685
31686 2008-01-12 Robert Millan <rmh@aybabtu.com>
31687
31688 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31689 (grub_util_get_dev_abstraction): New function prototype.
31690
31691 * util/getroot.c: Include `<grub/util/getroot.h>'
31692 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31693 (grub_util_get_dev_abstraction): ... here (new function).
31694
31695 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31696 `PRINT_ABSTRACTION'.
31697 (probe): Probe for abstraction type when requested.
31698 (main): Understand `--target=abstraction'.
31699
31700 * util/i386/efi/grub-install.in: Add abstraction module to core
31701 image when it is found to be necessary.
31702 * util/i386/pc/grub-install.in: Likewise.
31703 * util/powerpc/ieee1275/grub-install.in: Likewise.
31704
31705 * util/update-grub_lib.in (font_path): Return system path without
31706 converting to GRUB path.
31707 * util/update-grub.in: Convert system path returned by font_path()
31708 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31709 abstraction module is needed for loading fonts (if any). Export
31710 that as `GRUB_PRELOAD_MODULES'.
31711 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31712 insmod commands).
31713
31714 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31715
31716 Remove some unused code from reiserfs.
31717
31718 * fs/reiserfs.c (struct grub_reiserfs_key)
31719 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31720 (struct grub_reiserfs_node_body): Removed.
31721 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31722 Likewise.
31723 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31724 Likewise.
31725 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31726 Likewise.
31727 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31728 Likewise.
31729 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31730 Likewise.
31731 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31732 Likewise.
31733 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31734 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31735 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31736
31737 2008-01-10 Robert Millan <rmh@aybabtu.com>
31738
31739 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
31740 Determines if a file is garbage left by packaging systems, etc.
31741 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
31742 for processing /etc/grub.d scripts.
31743 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
31744 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
31745 as a condition for processing Linux images.
31746
31747 2008-01-10 Pavel Roskin <proski@gnu.org>
31748
31749 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
31750 to compile reiserfs.c on PowerPC.
31751
31752 2008-01-10 Robert Millan <rmh@aybabtu.com>
31753
31754 * kern/device.c (grub_device_iterate): Do not abort device iteration
31755 when one of the devices cannot be opened.
31756 * kern/disk.c (grub_disk_open): Do not account previous failures of
31757 unrelated functions when grub_errno is checked for.
31758
31759 2008-01-08 Robert Millan <rmh@aybabtu.com>
31760
31761 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
31762 `! grub_linux_is_bzimage', change order of address comparison to make
31763 it more intuitive, and improve "too big zImage" error message.
31764
31765 2008-01-08 Robert Millan <rmh@aybabtu.com>
31766
31767 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
31768 `$(update-grub_DATA)'.
31769 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
31770 targets.
31771
31772 2008-01-07 Robert Millan <rmh@aybabtu.com>
31773
31774 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
31775 which instruction is modified by grub-setup during installation
31776 (since it wasn't obvious by only looking at this file).
31777
31778 2008-01-07 Robert Millan <rmh@aybabtu.com>
31779
31780 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
31781 listing actual TODO items.
31782
31783 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31784
31785 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
31786 correctly.
31787 (grub_reiserfs_get_key_offset): Likewise.
31788 (grub_reiserfs_set_key_offset): Likewise.
31789 (grub_reiserfs_set_key_type): Likewise.
31790 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
31791
31792 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
31793 better to remove the bitfield version completely.
31794
31795 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31796
31797 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
31798 allocated from the heap, due to the fshelp implementation.
31799 (grub_reiserfs_dir): Free NODE, due to the same reason.
31800
31801 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31802
31803 Mostly from Vincent Pelletier:
31804
31805 * fs/reiserfs.c: New file.
31806
31807 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
31808 (reiserfs_mod_SOURCES): New variable.
31809 (reiserfs_mod_CFLAGS): Likewise.
31810 (reiserfs_mod_LDFLAGS): Likewise.
31811
31812 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
31813 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
31814 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
31815 normal/color.c.
31816
31817 2008-01-06 Robert Millan <rmh@aybabtu.com>
31818
31819 * normal/color.c: Remove `<grub/env.h>'.
31820
31821 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
31822
31823 * include/grub/normal.h: Include <grub/env.h>.
31824
31825 2008-01-05 Robert Millan <rmh@aybabtu.com>
31826
31827 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
31828 usage example with `(hd0,1)'.
31829 Reported by Samuel Thibault.
31830
31831 2008-01-05 Robert Millan <rmh@aybabtu.com>
31832
31833 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
31834 (grub_linux_boot_zimage): Rename to ...
31835 (grub_linux_boot): ... this.
31836 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
31837 (grub_linux_boot_zimage): Conditionalize zImage copy.
31838
31839 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
31840 (grub_linux_boot_bzimage): Remove prototype.
31841 (grub_linux_boot_zimage): Rename to ...
31842 (grub_linux_boot): ... this.
31843
31844 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
31845 (grub_linux_boot): Remove function.
31846
31847 2008-01-05 Robert Millan <rmh@aybabtu.com>
31848
31849 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
31850 (grub_env_write_color_highlight): Likewise.
31851 (grub_wait_after_message): Likewise.
31852
31853 * normal/color.c: New file.
31854
31855 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31856 (normal_mod_DEPENDENCIES): Likewise.
31857
31858 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31859 (normal_mod_DEPENDENCIES): Likewise.
31860
31861 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31862 (normal_mod_DEPENDENCIES): Likewise.
31863
31864 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31865 (normal_mod_DEPENDENCIES): Likewise.
31866
31867 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
31868 for waiting after a message is printed.
31869 * normal/main.c (read_config_file): Likewise.
31870 (grub_normal_init): Register grub_env_write_color_normal() and
31871 grub_env_write_color_highlight() hooks. Mark `color_normal' and
31872 `color_highlight' variables as global.
31873
31874 * normal/menu.c (grub_wait_after_message): New function.
31875 (grub_color_menu_normal): New variable. Replaces ...
31876 (GRUB_COLOR_MENU_NORMAL): ... this macro.
31877 (grub_color_menu_highlight): New variable. Replaces ...
31878 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
31879 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
31880 `GRUB_TERM_COLOR_STANDARD'.
31881 (print_message): Use `grub_setcolorstate' to reload colors. Rename
31882 `normal_code' and `highlight_code' to `old_color_normal' and
31883 `old_color_highlight', respectively.
31884 (grub_menu_init_page): Update colors when drawing the menu, based on
31885 `menu_color_normal' and `menu_color_highlight' variables.
31886 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
31887 a message is printed.
31888
31889 2008-01-05 Robert Millan <rmh@aybabtu.com>
31890
31891 * kern/env.c (grub_env_context_open): Propagate hooks for global
31892 variables to new context.
31893
31894 * kern/main.c (grub_set_root_dev): Export `root' variable.
31895
31896 2008-01-05 Robert Millan <rmh@aybabtu.com>
31897
31898 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
31899 discs unconditionally, since udev and others have options to provide
31900 them.
31901
31902 2008-01-05 Robert Millan <rmh@aybabtu.com>
31903
31904 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
31905
31906 2008-01-04 Christian Franke <franke@computer.org>
31907
31908 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
31909 of eisa_mmap.
31910
31911 2008-01-03 Pavel Roskin <proski@gnu.org>
31912
31913 * kern/i386/linuxbios/init.c: Put "void" to all function
31914 declarations with no arguments.
31915 * kern/powerpc/ieee1275/init.c: Likewise.
31916 * term/i386/pc/at_keyboard.c: Likewise.
31917 * term/i386/pc/vga_text.c: Likewise.
31918 * util/grub-mkdevicemap.c: Likewise.
31919
31920 2008-01-02 Robert Millan <rmh@aybabtu.com>
31921
31922 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
31923 message when loaded image is out of bounds.
31924 (grub_multiboot_load_elf64): Likewise.
31925
31926 2008-01-02 Pavel Roskin <proski@gnu.org>
31927
31928 * util/grub.d/10_linux.in: Try version without ".old" when
31929 looking for initrd. It's better to use initrd from the newer
31930 kernel of the same version than no initrd at all.
31931
31932 2008-01-01 Robert Millan <rmh@aybabtu.com>
31933
31934 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
31935
31936 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
31937
31938 * include/grub/video.h: Added grub_video_unmap_color and
31939 grub_video_get_active_render_target.
31940 (grub_video_adapter): Added unmap_color and get_active_render_target.
31941
31942 * video/video.c: Added grub_video_unmap_color and
31943 grub_video_get_active_render_target.
31944 (grub_video_get_info): Changed method to accept NULL pointer as an
31945 argument to allow detection of active video adapter.
31946
31947 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
31948 grub_video_vbe_unmap_color_int.
31949 Added grub_video_vbe_unmap_color and
31950 grub_video_vbe_get_active_render_target.
31951 (grub_video_vbe_adapter): Added unmap_color and
31952 get_active_render_target.
31953
31954 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
31955 with grub_video_vbe_unmap_color_int.
31956
31957 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
31958 (DEFAULT_NORMAL_COLOR): Likewise.
31959 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
31960 (DEFAULT_FG_COLOR): Removed.
31961 (DEFAULT_BG_COLOR): Likewise.
31962 (DEFAULT_CURSOR_COLOR): Changed value.
31963 (grub_virtual_screen): Added standard_color_setting,
31964 normal_color_setting, highlight_color_setting and term_color.
31965 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
31966 (bitmap_width): Added.
31967 (bitmap_height): Likewise.
31968 (bitmap): Likewise.
31969 (set_term_color): Likewise.
31970 (grub_virtual_screen_setup): Changed to use new terminal coloring
31971 settings.
31972 (grub_gfxterm_init): Added init for bitmap.
31973 (grub_gfxterm_fini): Added destroy for bitmap.
31974 (redraw_screen_rect): Updated to use background bitmap and new
31975 terminal coloring.
31976 (scroll_up): Added optimization for case when there is no bitmap.
31977 (grub_gfxterm_cls): Fixed to use correct background color.
31978 (grub_virtual_screen_setcolorstate): Changed to use new terminal
31979 coloring.
31980 (grub_virtual_screen_setcolor): Likewise.
31981 (grub_virtual_screen_getcolor): Added.
31982 (grub_gfxterm_background_image_cmd): Likewise.
31983 (grub_video_term): Added setcolor and getcolor.
31984 (MOD_INIT): Added registration of background_image command.
31985 (MOD_TERM): Added unregistration for background_image command.
31986
31987 2007-12-30 Pavel Roskin <proski@gnu.org>
31988
31989 * loader/multiboot_loader.c: Fix multiboot command
31990 unregistration. Fix all typos in the word "multiboot".
31991
31992 2007-12-29 Pavel Roskin <proski@gnu.org>
31993
31994 * util/grub.d/10_linux.in: Refactor search for initrd. Add
31995 support for initrd names used in Fedora.
31996
31997 2007-12-26 Bean <bean123ch@gmail.com>
31998
31999 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
32000 (cpio_mod_SOURCES): New variable.
32001 (cpio_mod_CFLAGS): Likewise.
32002 (cpio_mod_LDFLAGS): Likewise.
32003
32004 * fs/cpio.c: New file.
32005
32006 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
32007
32008 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32009
32010 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
32011
32012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32013
32014 2007-12-25 Robert Millan <rmh@aybabtu.com>
32015
32016 * include/grub/term.h (struct grub_term): Add `getcolor' function.
32017 (grub_getcolor): New function.
32018
32019 * kern/term.c (grub_getcolor): New function.
32020 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
32021 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
32022 (print_entry): Set normal and highlight colors to
32023 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
32024 respectively, before printing and restore them to old
32025 values afterwards.
32026 (grub_menu_init_page): Likewise. Fill an additional colored space
32027 that would otherwise be left blank.
32028
32029 * term/efi/console.c (grub_console_getcolor): New function.
32030 (struct grub_console_term.getcolor): New variable.
32031 * term/i386/pc/console.c (grub_console_getcolor): New function.
32032 (struct grub_console_term.getcolor): New variable.
32033 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
32034 (struct grub_console_term.getcolor): New variable.
32035
32036 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
32037 (struct grub_console_term.setcolor): Remove variable.
32038 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
32039 (struct grub_console_term.setcolor): Remove variable.
32040 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
32041 (struct grub_console_term.setcolor): Remove variable.
32042 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
32043 (struct grub_console_term.setcolor): Remove variable.
32044
32045 2007-12-25 Robert Millan <rmh@aybabtu.com>
32046
32047 * configure.ac: Search for possible unifont.hex locations, and
32048 define UNIFONT_HEX if found.
32049
32050 * Makefile.in (UNIFONT_HEX): Define variable.
32051 (DATA): Rename to ...
32052 (PKGLIB): ... this. Update all users.
32053 (PKGDATA): New variable.
32054 (pkgdata_IMAGES): Rename to ...
32055 (pkglib_IMAGES): ... this. Update all users.
32056 (pkgdata_MODULES): Rename to ...
32057 (pkglib_MODULES): ... this. Update all users.
32058 (pkgdata_PROGRAMS): Rename to ...
32059 (pkglib_PROGRAMS): ... this. Update all users.
32060 (pkgdata_DATA): Rename to ...
32061 (pkglib_DATA): ... this. Update all users.
32062 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32063 (unicode.pff, ascii.pff): New rules.
32064 (all-local): Add `$(PKGDATA)' dependency.
32065 (install-local): Process `$(PKGDATA)'.
32066
32067 * util/update-grub_lib.in (font_path): Search for *.pff files in
32068 a few more locations, including `${pkgdata}'.
32069
32070 2007-12-23 Robert Millan <rmh@aybabtu.com>
32071
32072 Patch from Bean <bean123ch@gmail.com>:
32073 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32074 `size'.
32075
32076 2007-12-21 Bean <bean123ch@gmail.com>
32077
32078 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32079 (ntfscomp_mod_SOURCES): New variable.
32080 (ntfscomp_mod_CFLAGS): Likewise.
32081 (ntfscomp_mod_LDFLAGS): Likewise.
32082
32083 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32084 (grub_probe_SOURCES): Likewise.
32085 (grub_emu_SOURCES): Likewise.
32086
32087 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32088 (grub_emu_SOURCES): Likewise.
32089
32090 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32091 (grub_emu_SOURCES): Likewise.
32092
32093 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32094 (grub_emu_SOURCES): Likewise.
32095
32096 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32097 (read_run_list): Renamed to grub_ntfs_read_run_list.
32098 (decomp_nextvcn): Moved to ntfscomp.c.
32099 (decomp_getch): Likewise.
32100 (decomp_get16): Likewise.
32101 (decomp_block): Likewise.
32102 (read_block): Likewise.
32103 (read_data): Partially moved to ntfscomp.c.
32104 (fixup): Change unsigned to grub_uint16_t.
32105 (read_mft): Change unsigned long to grub_uint32_t.
32106 (read_attr): Likewise.
32107 (read_data): Likewise.
32108 (read_run_data): Likewise.
32109 (read_run_list): Likewise.
32110 (read_mft): Likewise.
32111
32112 * fs/ntfscomp.c: New file.
32113
32114 * include/grub/ntfs.h: New file.
32115
32116 2007-12-16 Robert Millan <rmh@aybabtu.com>
32117
32118 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32119 IDE disk check, since Linux is known to support 20 IDE disks.
32120 Reported by Colin Watson.
32121
32122 2007-12-15 Bean <bean123ch@gmail.com>
32123
32124 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32125 (lnxboot_img_SOURCES): New variable.
32126 (lnxboot_img_ASFLAGS): Likewise.
32127 (lnxboot_img_LDFLAGS): Likewise.
32128
32129 * boot/i386/pc/lnxboot.S: New file.
32130
32131 2007-11-24 Pavel Roskin <proski@gnu.org>
32132
32133 * configure.ac: Test if '--build-id=none' is supported by the
32134 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32135 objcopy to generate incorrect binary files (binutils
32136 2.17.50.0.18-1 as shipped by Fedora 8).
32137 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32138 linking, so that build ID doesn't break the test.
32139
32140 2007-11-24 Pavel Roskin <proski@gnu.org>
32141
32142 * include/grub/i386/time.h: use "void" in the argument list
32143 of grub_cpu_idle().
32144 * include/grub/powerpc/time.h: Likewise.
32145 * include/grub/sparc64/time.h: Likewise.
32146
32147 2007-11-18 Christian Franke <franke@computer.org>
32148
32149 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32150 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32151 This fixes the problem that function keys did not work in grub-emu.
32152
32153 2007-11-18 Christian Franke <franke@computer.org>
32154
32155 * disk/host.c (grub_host_open): Remove attribute unused from
32156 name parameter. Add check for "host". This fixes the problem
32157 that grub-emu does not find partitions.
32158
32159 2007-11-18 Christian Franke <franke@computer.org>
32160
32161 * util/hostfs.c (is_dir): New function.
32162 (grub_hostfs_dir): Handle missing dirent.d_type case.
32163 (grub_hostfs_read): Add missing fseek().
32164 (grub_hostfs_label): Clear label pointer. This fixes a crash
32165 of grub-emu on "ls (host)".
32166
32167 2007-11-18 Christian Franke <franke@computer.org>
32168
32169 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32170 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32171 to 64 bit boundary by default.
32172
32173 2007-11-18 Bean <bean123ch@gmail.com>
32174
32175 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32176 (hexdump_mod_SOURCES): New variable.
32177 (hexdump_mod_CFLAGS): Likewise.
32178 (hexdump_mod_LDFLAGS): Likewise.
32179
32180 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32181
32182 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32183
32184 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32185
32186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32187
32188 * include/grub/hexdump.h: New file.
32189
32190 * commands/hexdump.c: New file.
32191
32192 2007-11-10 Robert Millan <rmh@aybabtu.com>
32193
32194 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32195 in grub_outb() calls.
32196 (beep_on): Likewise.
32197
32198 2007-11-10 Christian Franke <franke@computer.org>
32199
32200 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32201 (grub_menu_run): Likewise.
32202
32203 2007-11-10 Robert Millan <rmh@aybabtu.com>
32204
32205 * include/grub/i386/efi/machine.h: New file.
32206 * include/grub/i386/linuxbios/machine.h: Likewise.
32207 * include/grub/i386/pc/machine.h: Likewise.
32208 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32209 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32210
32211 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32212 (serial_hw_io_addr): New variable.
32213 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32214 instead of `(unsigned short *) 0x400'.
32215
32216 2007-11-10 Bean <bean123ch@gmail.com>
32217
32218 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32219
32220 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32221
32222 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32223 (vga_mod_SOURCES): Added.
32224 (vga_mod_CFLAGS): Likewise.
32225 (vga_mod_LDFLAGS): Likewise.
32226
32227 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32228 grub_outb() calls.
32229 (set_map_mask): Likewise.
32230 (set_read_map): Likewise.
32231 (set_read_address): Likewise.
32232 (vga_font): Removed variable.
32233 (get_vga_glyph): Removed function.
32234 (invalidate_char): Likewise.
32235 (write_char): Changed to use grub_font_get_glyph() for font
32236 information.
32237 (grub_vga_putchar): Likewise.
32238 (grub_vga_getcharwidth): Likewise.
32239
32240 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32241
32242 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32243 flags.
32244 (pxeboot_img_LDFLAGS): Likewise.
32245 (diskboot_img_LDFLAGS): Likewise.
32246 (kernel_img_LDFLAGS): Likewise.
32247
32248 2007-11-06 Robert Millan <rmh@aybabtu.com>
32249
32250 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32251 in grub_outb() calls.
32252 (serial_hw_init): Likewise.
32253
32254 2007-11-05 Robert Millan <rmh@aybabtu.com>
32255
32256 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32257 spaces. Skip non-regular files.
32258
32259 2007-11-05 Robert Millan <rmh@aybabtu.com>
32260
32261 * kern/disk.c (grub_disk_firmware_fini)
32262 (grub_disk_firmware_is_tainted): New variables.
32263
32264 * include/grub/disk.h (grub_disk_firmware_fini)
32265 (grub_disk_firmware_is_tainted): Likewise.
32266
32267 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32268 (grub_disk_biosdisk_fini): ... to here.
32269 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32270 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32271 is set. Register grub_disk_biosdisk_fini() in
32272 `grub_disk_firmware_fini'.
32273
32274 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32275 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32276 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32277 to finish existing firmware disk interface.
32278
32279 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32280 (ata_mod_SOURCES): New variable.
32281 (ata_mod_CFLAGS): Likewise.
32282 (ata_mod_LDFLAGS): Likewise.
32283
32284 2007-11-05 Robert Millan <rmh@aybabtu.com>
32285
32286 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32287 (grub_ata_wait): Reimplement using grub_millisleep().
32288
32289 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32290 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32291
32292 2007-11-03 Marco Gerards <marco@gnu.org>
32293
32294 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32295 (CRTC_ADDR_PORT): New macro.
32296 (CRTC_DATA_PORT): Likewise.
32297 (CRTC_CURSOR): Likewise.
32298 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32299 (CRTC_CURSOR_ADDR_LOW): Likewise.
32300 (update_cursor): New function.
32301 (grub_console_real_putchar): Call `update_cursor'.
32302 (grub_console_gotoxy): Likewise.
32303 (grub_console_cls): Set the default color when clearing the
32304 screen.
32305 (grub_console_setcursor): Implemented.
32306
32307 2007-11-03 Marco Gerards <marco@gnu.org>
32308
32309 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32310 become activate.
32311 (grub_ata_pio_write): Likewise.
32312
32313 (grub_atapi_identify): Wait after issuing an ATA command.
32314 (grub_atapi_packet): Likewise.
32315 (grub_ata_identify): Likewise.
32316 (grub_ata_readwrite): Likewise.
32317
32318 2007-11-03 Marco Gerards <marco@gnu.org>
32319
32320 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32321 (grub_ata_pio_write): Likewise.
32322 (grub_ata_readwrite): Use `grub_error', instead of
32323 returning `grub_errno'.
32324
32325 2007-11-03 Marco Gerards <marco@gnu.org>
32326
32327 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32328 grub_ata_pio_write once for every single sector, instead of for
32329 multiple sectors.
32330
32331 2007-10-31 Robert Millan <rmh@aybabtu.com>
32332
32333 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32334
32335 * conf/i386-linuxbios.rmk: New file.
32336
32337 * kern/i386/pc/hardware.c: Likewise.
32338 * term/i386/pc/at_keyboard.c: Likewise.
32339 * term/i386/pc/vga_text.c: Likewise.
32340
32341 * include/grub/i386/linuxbios/boot.h: Likewise.
32342 * include/grub/i386/linuxbios/console.h: Likewise.
32343 * include/grub/i386/linuxbios/init.h: Likewise.
32344 * include/grub/i386/linuxbios/kernel.h: Likewise.
32345 * include/grub/i386/linuxbios/loader.h: Likewise.
32346 * include/grub/i386/linuxbios/memory.h: Likewise.
32347 * include/grub/i386/linuxbios/serial.h: Likewise.
32348 * include/grub/i386/linuxbios/time.h: Likewise.
32349
32350 * kern/i386/linuxbios/init.c: Likewise.
32351 * kern/i386/linuxbios/startup.S: Likewise.
32352 * kern/i386/linuxbios/table.c: Likewise.
32353
32354 2007-10-31 Marco Gerards <marco@gnu.org>
32355
32356 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32357 (ata_mod_SOURCES): New variable.
32358 (ata_mod_CFLAGS): Likewise.
32359 (ata_mod_LDFLAGS): Likewise.
32360
32361 * disk/ata.c: New file.
32362
32363 * include/grub/disk.h (grub_disk_dev_id): Add
32364 `GRUB_DISK_DEV_ATA_ID'.
32365
32366 2007-10-31 Robert Millan <rmh@aybabtu.com>
32367
32368 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32369 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32370
32371 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32372 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32373
32374 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32375 `<grub/types.h>'.
32376
32377 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32378
32379 2007-10-27 Robert Millan <rmh@aybabtu.com>
32380
32381 * include/grub/types.h (ULONG_MAX): Define macro.
32382
32383 2007-10-22 Robert Millan <rmh@aybabtu.com>
32384
32385 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32386 `"../realmode.S"'.
32387 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32388
32389 2007-10-22 Robert Millan <rmh@aybabtu.com>
32390
32391 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32392 (pkgdata_MODULES): Add `biosdisk.mod'.
32393 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32394 variables.
32395
32396 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32397 (grub_biosdisk_init): Replace with ...
32398 (GRUB_MOD_INIT(biosdisk)): ... this.
32399 (grub_biosdisk_fini): Replace with ...
32400 (GRUB_MOD_FINI(biosdisk)): ... this.
32401
32402 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32403 (grub_machine_init): Remove call to grub_biosdisk_init().
32404 (grub_machine_fini): Remove call to grub_machine_fini().
32405
32406 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32407
32408 2007-10-22 Robert Millan <rmh@aybabtu.com>
32409
32410 * include/grub/time.h: New file.
32411 * include/grub/i386/time.h: Likewise.
32412 * include/grub/powerpc/time.h: Likewise.
32413 * include/grub/sparc64/time.h: Likewise.
32414
32415 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32416 instances to ...
32417 (KERNEL_MACHINE_TIME_HEADER): ... this.
32418 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32419 instances to ...
32420 (KERNEL_MACHINE_TIME_HEADER): ... this.
32421 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32422 instances to ...
32423 (KERNEL_MACHINE_TIME_HEADER): ... this.
32424
32425 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32426 (grub_millisleep): New function.
32427 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32428 (grub_millisleep): New function.
32429 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32430 Remove `grub/machine/time.h' include.
32431 (grub_millisleep): New function.
32432 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32433 Remove `grub/machine/time.h' include.
32434 (grub_millisleep): New function.
32435
32436 * include/grub/misc.h (grub_div_roundup): New function.
32437
32438 * kern/misc.c: Include `<grub/time.h>'.
32439 (grub_millisleep_generic): New function.
32440
32441 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32442 Add `time.h'.
32443 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32444 Add `time.h'.
32445 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32446 `machine/time.h'. Add `time.h'.
32447 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32448
32449 2007-10-21 Robert Millan <rmh@aybabtu.com>
32450
32451 * include/grub/misc.h (grub_max): New function.
32452
32453 2007-10-21 Robert Millan <rmh@aybabtu.com>
32454
32455 * util/misc.c (grub_util_info): Call fflush() before returning.
32456
32457 2007-10-20 Robert Millan <rmh@aybabtu.com>
32458
32459 * genmk.rb (Image): Copy `extra_flags' from here ...
32460 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32461
32462 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32463 to `argc' and `args' arguments.
32464
32465 2007-10-17 Robert Millan <rmh@aybabtu.com>
32466
32467 * kern/i386/loader.S: New file.
32468
32469 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32470 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32471 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32472 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32473 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32474 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32475 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32476 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32477 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32478 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32479 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32480 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32481 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32482 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32483
32484 * kern/i386/realmode.S: New file.
32485
32486 * kern/i386/pc/startup.S (protstack): Moved from here ...
32487 * kern/i386/realmode.S (protstack)... to here.
32488 * kern/i386/pc/startup.S (gdt): Moved from here ...
32489 * kern/i386/realmode.S (gdt)... to here.
32490 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32491 * kern/i386/realmode.S (prot_to_real)... to here.
32492
32493 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32494 `kern/i386/realmode.S'.
32495
32496 2007-10-17 Robert Millan <rmh@aybabtu.com>
32497
32498 * include/grub/i386/loader.h: New file.
32499
32500 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32501 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32502 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32503 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32504 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32505 * include/grub/i386/loader.h (grub_linux_prot_size)
32506 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32507 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32508 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32509 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32510
32511 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32512
32513 2007-10-15 Robert Millan <rmh@aybabtu.com>
32514
32515 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32516 filesystem when dev->disk is unset.
32517 Do probe for filesystem even when dev->disk->has_partitions is set.
32518 In case a filesystem is found, always report it.
32519 In case it isn't, if dev->disk->has_partitions is set, report that
32520 a partition table was found instead of reporting that no filesystem
32521 could be identified.
32522
32523 2007-10-12 Robert Millan <rmh@aybabtu.com>
32524
32525 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32526 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32527
32528 * include/grub/types.h (grub_host_to_target16): New macro.
32529 (grub_host_to_target32): Likewise.
32530 (grub_host_to_target64): Likewise.
32531 (grub_target_to_host16): Likewise.
32532 (grub_target_to_host32): Likewise.
32533 (grub_target_to_host64): Likewise.
32534
32535 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32536 Renamed from to ...
32537 (GRUB_MOD_ALIGN): ...this. Update all users.
32538
32539 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32540 grub_host_to_target32.
32541 Replace grub_be_to_cpu32 with grub_target_to_host32.
32542 (load_modules): Likewise.
32543 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32544 Replace grub_be_to_cpu32 with grub_target_to_host32.
32545 Replace grub_cpu_to_be16 with grub_host_to_target16.
32546 Replace grub_cpu_to_be32 grub_host_to_target32.
32547
32548 2007-10-12 Robert Millan <rmh@aybabtu.com>
32549
32550 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32551 * util/elf/grub-mkimage.c: ... here.
32552
32553 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32554 `util/powerpc/ieee1275/grub-mkimage.c'.
32555
32556 2007-10-07 Robert Millan <rmh@aybabtu.com>
32557
32558 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32559 and make it easier to figure out.
32560 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32561 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32562 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32563 leave us with less than HEAP_MIN_SIZE total heap.
32564 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
32565
32566 2007-10-03 Robert Millan <rmh@aybabtu.com>
32567
32568 * include/grub/i386/io.h: New file.
32569 * commands/i386/pc/play.c (inb): Removed.
32570 (outb): Removed.
32571 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32572 with grub_outb().
32573 * term/i386/pc/serial.c (inb): Removed.
32574 (outb): Removed.
32575 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32576 with grub_outb().
32577 * term/i386/pc/vga.c (inb): Removed.
32578 (outb): Removed.
32579 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32580 with grub_outb().
32581
32582 2007-10-02 Robert Millan <rmh@aybabtu.com>
32583
32584 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32585 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32586 Reported by Marcin Kurek.
32587
32588 2007-09-07 Robert Millan <rmh@aybabtu.com>
32589
32590 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32591 SmartFirmware version updates (as released by Sven Luther), and avoid
32592 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32593 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32594 known broken.
32595
32596 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32597
32598 From Hitoshi Ozeki:
32599 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32600 when merging two regions.
32601
32602 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32603
32604 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32605 * normal/completion.c (grub_normal_do_completion): Likewise.
32606 Reported by Hitoshi Ozeki.
32607
32608 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32609
32610 Do not use devices at boot in chainloading.
32611
32612 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32613 (boot_part_addr): Likewise.
32614 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32615 with BOOT_DRIVE and BOOT_PART_ADDR.
32616 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32617 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32618
32619 2007-08-29 Robert Millan <rmh@aybabtu.com>
32620
32621 Patch from Simon Peter <dn.tlp@gmx.net>:
32622 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32623 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32624 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32625 util/i386/pc/grub-setup.c_DEPENDENCIES.
32626 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32627 util/grub-probe.c_DEPENDENCIES.
32628 * conf/powerpc-ieee1275.rmk: Likewise.
32629
32630 2007-08-28 Robert Millan <rmh@aybabtu.com>
32631
32632 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32633 to tell grub-mkdevicemap how to name devices.
32634 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32635 feature).
32636
32637 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32638 util/i386/get_disk_name.c.
32639 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32640 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32641 util/ieee1275/get_disk_name.c.
32642
32643 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32644
32645 * DISTLIST: Add util/i386/get_disk_name.c and
32646 util/ieee1275/get_disk_name.c.
32647
32648 * util/grub-mkdevicemap.c: Replace device naming logic with
32649 grub_util_get_disk_name() calls.
32650
32651 2007-08-20 Robert Millan <rmh@aybabtu.com>
32652
32653 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32654 (so that it works for both plural and singular quantities).
32655
32656 2007-08-05 Robert Millan <rmh@aybabtu.com>
32657
32658 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32659 so that [xz] isn't taken into account when determining order.
32660
32661 2007-08-02 Marco Gerards <marco@gnu.org>
32662
32663 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32664 `include/multiboot2.h', `include/grub/elfload.h',
32665 `include/multiboot.h', `include/grub/multiboot.h',
32666 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32667 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32668 `kern/elf.c', `loader/multiboot_loader.c',
32669 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32670 `loader/i386/pc/multiboot2.c',
32671 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32672 `util/i386/pc/grub-mkrescue.in'. Remove
32673 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32674 `include/grub/i386/pc/util/biosdisk.h' and
32675 `include/grub/powerpc/ieee1275/multiboot.h'.
32676
32677 2007-08-02 Bean <bean123ch@gmail.com>
32678
32679 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32680 (ntfs_mod_SOURCES): New variable.
32681 (ntfs_mod_CFLAGS): Likewise.
32682 (ntfs_mod_LDFLAGS): Likewise.
32683
32684 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32685 (grub_probe_SOURCES): Likewise.
32686 (grub_emu_SOURCES): Likewise.
32687
32688 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32689 (grub_emu_SOURCES): Likewise.
32690
32691 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32692 (grub_emu_SOURCES): Likewise.
32693
32694 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32695
32696 * fs/ntfs.c: New file.
32697
32698 2007-08-02 Bean <bean123ch@gmail.com>
32699
32700 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32701
32702 * file.h (grub_file): Likewise.
32703
32704 * fshelp.h (grub_fshelp_read_file): Likewise.
32705
32706 * util/i386/pc/grub-setup.c (setup): Likewise.
32707 (save_first_sector): Likewise.
32708 (save_blocklists): Likewise.
32709
32710 * fs/affs.c (grub_affs_read_file): Likewise.
32711
32712 * fs/ext2.c (grub_ext2_read_file): Likewise.
32713
32714 * fs/fat.c (grub_fat_read_data): Likewise.
32715
32716 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32717
32718 * fs/hfs.c (grub_hfs_read_file): Likewise.
32719
32720 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32721
32722 * fs/jfs.c (grub_jfs_read_file): Likewise.
32723
32724 * fs/minix.c (grub_minix_read_file): Likewise.
32725
32726 * fs/sfs.c (grub_sfs_read_file): Likewise.
32727
32728 * fs/ufs.c (grub_ufs_read_file): Likewise.
32729
32730 * fs/xfs.c (grub_xfs_read_file): Likewise.
32731
32732 * command/blocklist.c (read_blocklist): Likewise.
32733 (print_blocklist): Likewise.
32734
32735 2007-08-02 Marco Gerards <marco@gnu.org>
32736
32737 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
32738 `util/hostfs.c'.
32739
32740 * disk/host.c: New file.
32741
32742 * util/hostfs.c: Likewise.
32743
32744 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
32745 return `GRUB_ERR_BAD_FS'.
32746 * fs/sfs.c (grub_sfs_mount): Likewise.
32747 * fs/xfs.c (grub_xfs_mount): Likewise.
32748
32749 * include/grub/disk.h (enum grub_disk_dev_id): Add
32750 `GRUB_DISK_DEVICE_HOST_ID'.
32751
32752 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
32753
32754 2007-07-24 Jerone Young <jerone@gmail.com>
32755
32756 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
32757 modules for compilation.
32758 * conf/powerpc-ieee1275.rmk: Likewise.
32759
32760 * include/multiboot.h: Move multiboot definitions to one file. Rename
32761 many definitions to not get grub specific.
32762 * include/multiboot2.h: Create header with multiboot 2 definitions.
32763 * include/grub/multiboot.h: Header for grub specific function
32764 prototypes and definitions.
32765 * include/grub/multiboot2.h: Likewise.
32766 * include/grub/multiboot_loader.h: Likewise.
32767 * include/grub/i386/pc/multiboot.h: Removed.
32768 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
32769
32770 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
32771 and 2 to allow for one multiboot and module commands.
32772 * loader/multiboot2.c: Add multiboot2 functionality.
32773 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
32774 and definition names.
32775 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
32776 2 functions.
32777 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
32778 ieee1275 specific multiboot2 code.
32779
32780 * kern/i386/pc/startup.S: Change headers and definition names for
32781 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
32782
32783 2007-07-22 Robert Millan <rmh@aybabtu.com>
32784
32785 * geninitheader.sh: Process file specified in first parameter rather
32786 than hardcoding grub_modules_init.lst.
32787 * geninit.sh: Likewise. Also, construct header name dynamically rather
32788 than hardcoding grub_modules_init.h.
32789
32790 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
32791 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
32792 grub_probe_init.[ch] and grub_setup_init.[ch].
32793
32794 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
32795 grub_modules_init.h with grub_emu_init.h.
32796 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
32797 grub_probe_init.[ch] files.
32798 * conf/i386-efi.rmk: Likewise.
32799 * conf/i386-pc.rmk: Likewise.
32800 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
32801 grub_setup_init.[ch] files.
32802
32803 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
32804 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
32805 to initialize modules rather than a list of hardcoded functions.
32806 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
32807 grub_init_all() to initialize modules rather than a list of hardcoded
32808 functions.
32809
32810 2007-07-22 Robert Millan <rmh@aybabtu.com>
32811
32812 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
32813 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
32814
32815 2007-07-22 Robert Millan <rmh@aybabtu.com>
32816
32817 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32818 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
32819 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
32820 flag when running on SmartFirmware.
32821 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
32822 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
32823 was set.
32824
32825 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32826 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
32827 rather than decreasing it.
32828
32829 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
32830 there's not enough space to do it, fail in the same way as when it
32831 can't be done because there are no partitions.
32832
32833 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
32834 when nvsetenv failed.
32835
32836 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32837
32838 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
32839 because this rule is automatically generated.
32840 (grub-mkrescue): Removed for the same reason as above.
32841
32842 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32843
32844 Migrate to GNU General Public License Version 3.
32845
32846 * COPYING: Replaced with the plain text version of GPLv3.
32847
32848 * config.guess: Updated from gnulib.
32849 * config.sub: Likewise.
32850
32851 * geninit.sh: Output a GPLv3 copyright notice.
32852 * geninitheader.sh: Likewise.
32853 * genmodsrc.sh: Likewise.
32854 * gensymlist.sh.in: Likewise.
32855
32856 * boot/i386/pc/boot.S: Upgraded to GPLv3.
32857 * boot/i386/pc/diskboot.S: Likewise.
32858 * boot/i386/pc/pxeboot.S: Likewise.
32859 * commands/blocklist.c: Likewise.
32860 * commands/boot.c: Likewise.
32861 * commands/cat.c: Likewise.
32862 * commands/cmp.c: Likewise.
32863 * commands/configfile.c: Likewise.
32864 * commands/echo.c: Likewise.
32865 * commands/help.c: Likewise.
32866 * commands/ls.c: Likewise.
32867 * commands/search.c: Likewise.
32868 * commands/terminal.c: Likewise.
32869 * commands/test.c: Likewise.
32870 * commands/videotest.c: Likewise.
32871 * commands/i386/cpuid.c: Likewise.
32872 * commands/i386/pc/halt.c: Likewise.
32873 * commands/i386/pc/play.c: Likewise.
32874 * commands/i386/pc/reboot.c: Likewise.
32875 * commands/i386/pc/vbeinfo.c: Likewise.
32876 * commands/i386/pc/vbetest.c: Likewise.
32877 * commands/ieee1275/halt.c: Likewise.
32878 * commands/ieee1275/reboot.c: Likewise.
32879 * commands/ieee1275/suspend.c: Likewise.
32880 * disk/loopback.c: Likewise.
32881 * disk/lvm.c: Likewise.
32882 * disk/raid.c: Likewise.
32883 * disk/efi/efidisk.c: Likewise.
32884 * disk/i386/pc/biosdisk.c: Likewise.
32885 * disk/ieee1275/ofdisk.c: Likewise.
32886 * font/manager.c: Likewise.
32887 * fs/affs.c: Likewise.
32888 * fs/ext2.c: Likewise.
32889 * fs/fat.c: Likewise.
32890 * fs/fshelp.c: Likewise.
32891 * fs/hfs.c: Likewise.
32892 * fs/hfsplus.c: Likewise.
32893 * fs/iso9660.c: Likewise.
32894 * fs/jfs.c: Likewise.
32895 * fs/minix.c: Likewise.
32896 * fs/sfs.c: Likewise.
32897 * fs/ufs.c: Likewise.
32898 * fs/xfs.c: Likewise.
32899 * hello/hello.c: Likewise.
32900 * include/grub/acorn_filecore.h: Likewise.
32901 * include/grub/arg.h: Likewise.
32902 * include/grub/bitmap.h: Likewise.
32903 * include/grub/boot.h: Likewise.
32904 * include/grub/cache.h: Likewise.
32905 * include/grub/device.h: Likewise.
32906 * include/grub/disk.h: Likewise.
32907 * include/grub/dl.h: Likewise.
32908 * include/grub/elfload.h: Likewise.
32909 * include/grub/env.h: Likewise.
32910 * include/grub/err.h: Likewise.
32911 * include/grub/file.h: Likewise.
32912 * include/grub/font.h: Likewise.
32913 * include/grub/fs.h: Likewise.
32914 * include/grub/fshelp.h: Likewise.
32915 * include/grub/gzio.h: Likewise.
32916 * include/grub/hfs.h: Likewise.
32917 * include/grub/kernel.h: Likewise.
32918 * include/grub/loader.h: Likewise.
32919 * include/grub/lvm.h: Likewise.
32920 * include/grub/misc.h: Likewise.
32921 * include/grub/mm.h: Likewise.
32922 * include/grub/net.h: Likewise.
32923 * include/grub/normal.h: Likewise.
32924 * include/grub/parser.h: Likewise.
32925 * include/grub/partition.h: Likewise.
32926 * include/grub/pc_partition.h: Likewise.
32927 * include/grub/raid.h: Likewise.
32928 * include/grub/rescue.h: Likewise.
32929 * include/grub/script.h: Likewise.
32930 * include/grub/setjmp.h: Likewise.
32931 * include/grub/symbol.h: Likewise.
32932 * include/grub/term.h: Likewise.
32933 * include/grub/terminfo.h: Likewise.
32934 * include/grub/tparm.h: Likewise.
32935 * include/grub/types.h: Likewise.
32936 * include/grub/video.h: Likewise.
32937 * include/grub/efi/api.h: Likewise.
32938 * include/grub/efi/chainloader.h: Likewise.
32939 * include/grub/efi/console.h: Likewise.
32940 * include/grub/efi/console_control.h: Likewise.
32941 * include/grub/efi/disk.h: Likewise.
32942 * include/grub/efi/efi.h: Likewise.
32943 * include/grub/efi/pe32.h: Likewise.
32944 * include/grub/efi/time.h: Likewise.
32945 * include/grub/i386/linux.h: Likewise.
32946 * include/grub/i386/setjmp.h: Likewise.
32947 * include/grub/i386/types.h: Likewise.
32948 * include/grub/i386/efi/kernel.h: Likewise.
32949 * include/grub/i386/efi/loader.h: Likewise.
32950 * include/grub/i386/efi/time.h: Likewise.
32951 * include/grub/i386/pc/biosdisk.h: Likewise.
32952 * include/grub/i386/pc/boot.h: Likewise.
32953 * include/grub/i386/pc/chainloader.h: Likewise.
32954 * include/grub/i386/pc/console.h: Likewise.
32955 * include/grub/i386/pc/init.h: Likewise.
32956 * include/grub/i386/pc/kernel.h: Likewise.
32957 * include/grub/i386/pc/loader.h: Likewise.
32958 * include/grub/i386/pc/memory.h: Likewise.
32959 * include/grub/i386/pc/multiboot.h: Likewise.
32960 * include/grub/i386/pc/serial.h: Likewise.
32961 * include/grub/i386/pc/time.h: Likewise.
32962 * include/grub/i386/pc/vbe.h: Likewise.
32963 * include/grub/i386/pc/vbeblit.h: Likewise.
32964 * include/grub/i386/pc/vbefill.h: Likewise.
32965 * include/grub/i386/pc/vbeutil.h: Likewise.
32966 * include/grub/i386/pc/vga.h: Likewise.
32967 * include/grub/ieee1275/ieee1275.h: Likewise.
32968 * include/grub/ieee1275/ofdisk.h: Likewise.
32969 * include/grub/powerpc/libgcc.h: Likewise.
32970 * include/grub/powerpc/setjmp.h: Likewise.
32971 * include/grub/powerpc/types.h: Likewise.
32972 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
32973 * include/grub/powerpc/ieee1275/console.h: Likewise.
32974 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
32975 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32976 * include/grub/powerpc/ieee1275/loader.h: Likewise.
32977 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
32978 * include/grub/powerpc/ieee1275/time.h: Likewise.
32979 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
32980 * include/grub/sparc64/libgcc.h: Likewise.
32981 * include/grub/sparc64/setjmp.h: Likewise.
32982 * include/grub/sparc64/types.h: Likewise.
32983 * include/grub/sparc64/ieee1275/console.h: Likewise.
32984 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32985 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32986 * include/grub/sparc64/ieee1275/time.h: Likewise.
32987 * include/grub/util/biosdisk.h: Likewise.
32988 * include/grub/util/getroot.h: Likewise.
32989 * include/grub/util/lvm.h: Likewise.
32990 * include/grub/util/misc.h: Likewise.
32991 * include/grub/util/raid.h: Likewise.
32992 * include/grub/util/resolve.h: Likewise.
32993 * io/gzio.c: Likewise.
32994 * kern/device.c: Likewise.
32995 * kern/disk.c: Likewise.
32996 * kern/dl.c: Likewise.
32997 * kern/elf.c: Likewise.
32998 * kern/env.c: Likewise.
32999 * kern/err.c: Likewise.
33000 * kern/file.c: Likewise.
33001 * kern/fs.c: Likewise.
33002 * kern/loader.c: Likewise.
33003 * kern/main.c: Likewise.
33004 * kern/misc.c: Likewise.
33005 * kern/mm.c: Likewise.
33006 * kern/parser.c: Likewise.
33007 * kern/partition.c: Likewise.
33008 * kern/rescue.c: Likewise.
33009 * kern/term.c: Likewise.
33010 * kern/efi/efi.c: Likewise.
33011 * kern/efi/init.c: Likewise.
33012 * kern/efi/mm.c: Likewise.
33013 * kern/i386/dl.c: Likewise.
33014 * kern/i386/efi/init.c: Likewise.
33015 * kern/i386/efi/startup.S: Likewise.
33016 * kern/i386/pc/init.c: Likewise.
33017 * kern/i386/pc/lzo1x.S: Likewise.
33018 * kern/i386/pc/startup.S: Likewise.
33019 * kern/ieee1275/ieee1275.c: Likewise.
33020 * kern/powerpc/cache.S: Likewise.
33021 * kern/powerpc/dl.c: Likewise.
33022 * kern/powerpc/ieee1275/cmain.c: Likewise.
33023 * kern/powerpc/ieee1275/crt0.S: Likewise.
33024 * kern/powerpc/ieee1275/init.c: Likewise.
33025 * kern/powerpc/ieee1275/openfw.c: Likewise.
33026 * kern/sparc64/cache.S: Likewise.
33027 * kern/sparc64/dl.c: Likewise.
33028 * kern/sparc64/ieee1275/init.c: Likewise.
33029 * kern/sparc64/ieee1275/openfw.c: Likewise.
33030 * loader/efi/chainloader.c: Likewise.
33031 * loader/efi/chainloader_normal.c: Likewise.
33032 * loader/i386/efi/linux.c: Likewise.
33033 * loader/i386/efi/linux_normal.c: Likewise.
33034 * loader/i386/pc/chainloader.c: Likewise.
33035 * loader/i386/pc/chainloader_normal.c: Likewise.
33036 * loader/i386/pc/linux.c: Likewise.
33037 * loader/i386/pc/linux_normal.c: Likewise.
33038 * loader/i386/pc/multiboot.c: Likewise.
33039 * loader/i386/pc/multiboot_normal.c: Likewise.
33040 * loader/powerpc/ieee1275/linux.c: Likewise.
33041 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
33042 * normal/arg.c: Likewise.
33043 * normal/cmdline.c: Likewise.
33044 * normal/command.c: Likewise.
33045 * normal/completion.c: Likewise.
33046 * normal/execute.c: Likewise.
33047 * normal/function.c: Likewise.
33048 * normal/lexer.c: Likewise.
33049 * normal/main.c: Likewise.
33050 * normal/menu.c: Likewise.
33051 * normal/menu_entry.c: Likewise.
33052 * normal/misc.c: Likewise.
33053 * normal/parser.y: Likewise.
33054 * normal/script.c: Likewise.
33055 * normal/i386/setjmp.S: Likewise.
33056 * normal/powerpc/setjmp.S: Likewise.
33057 * normal/sparc64/setjmp.S: Likewise.
33058 * partmap/acorn.c: Likewise.
33059 * partmap/amiga.c: Likewise.
33060 * partmap/apple.c: Likewise.
33061 * partmap/gpt.c: Likewise.
33062 * partmap/pc.c: Likewise.
33063 * partmap/sun.c: Likewise.
33064 * term/gfxterm.c: Likewise.
33065 * term/terminfo.c: Likewise.
33066 * term/efi/console.c: Likewise.
33067 * term/i386/pc/console.c: Likewise.
33068 * term/i386/pc/serial.c: Likewise.
33069 * term/i386/pc/vesafb.c: Likewise.
33070 * term/i386/pc/vga.c: Likewise.
33071 * term/ieee1275/ofconsole.c: Likewise.
33072 * util/biosdisk.c: Likewise.
33073 * util/console.c: Likewise.
33074 * util/genmoddep.c: Likewise.
33075 * util/getroot.c: Likewise.
33076 * util/grub-emu.c: Likewise.
33077 * util/grub-mkdevicemap.c: Likewise.
33078 * util/grub-probe.c: Likewise.
33079 * util/lvm.c: Likewise.
33080 * util/misc.c: Likewise.
33081 * util/raid.c: Likewise.
33082 * util/resolve.c: Likewise.
33083 * util/update-grub.in: Likewise.
33084 * util/update-grub_lib.in: Likewise.
33085 * util/grub.d/00_header.in: Likewise.
33086 * util/grub.d/10_hurd.in: Likewise.
33087 * util/grub.d/10_linux.in: Likewise.
33088 * util/i386/efi/grub-install.in: Likewise.
33089 * util/i386/efi/grub-mkimage.c: Likewise.
33090 * util/i386/pc/grub-install.in: Likewise.
33091 * util/i386/pc/grub-mkimage.c: Likewise.
33092 * util/i386/pc/grub-mkrescue.in: Likewise.
33093 * util/i386/pc/grub-setup.c: Likewise.
33094 * util/i386/pc/misc.c: Likewise.
33095 * util/powerpc/ieee1275/grub-install.in: Likewise.
33096 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33097 * util/powerpc/ieee1275/misc.c: Likewise.
33098 * video/bitmap.c: Likewise.
33099 * video/video.c: Likewise.
33100 * video/i386/pc/vbe.c: Likewise.
33101 * video/i386/pc/vbeblit.c: Likewise.
33102 * video/i386/pc/vbefill.c: Likewise.
33103 * video/i386/pc/vbeutil.c: Likewise.
33104 * video/readers/tga.c: Likewise.
33105
33106 2007-07-02 Robert Millan <rmh@aybabtu.com>
33107
33108 * conf/i386-efi.rmk: Replace obsolete reference to
33109 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33110 with util/getroot.c.
33111 * conf/powerpc-ieee1275.rmk: Likewise.
33112 * conf/sparc64-ieee1275.rmk: Likewise.
33113
33114 * util/grub-emu.c (main): Fix unchecked pointer handling.
33115
33116 2007-07-02 Robert Millan <rmh@aybabtu.com>
33117
33118 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33119 invocation to fail, in order to support partition-less media.
33120
33121 * util/i386/pc/grub-install.in: Likewise.
33122
33123 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33124 which fs or partmap modules are needed (akin to its sister scripts).
33125
33126 Also use grub-probe to get rid of unportable /proc/mounts check.
33127
33128 Print the same informational message that the other scripts do, before
33129 exiting.
33130
33131 2007-06-23 Robert Millan <rmh@aybabtu.com>
33132
33133 * util/update-grub_lib.in (font_path): New function. Determine whether
33134 a font file can be found and, if so, echo the GRUB path to it.
33135
33136 * util/update-grub.in: Handle multiple terminals depending on user
33137 input, platform availability and font file presence. Propagate
33138 variables of our findings to /etc/grub.d/ children.
33139
33140 * util/grub.d/00_header.in: Handle multiple terminals, based on
33141 environment setup by update-grub.
33142
33143 2007-06-23 Robert Millan <rmh@aybabtu.com>
33144
33145 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33146
33147 2007-06-21 Robert Millan <rmh@aybabtu.com>
33148
33149 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33150 indicate end of data section in kernel image.
33151 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33152 GRUB_KERNEL_MACHINE_DATA_END.
33153
33154 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33155 space for it.
33156 * kern/i386/efi/startup.S: Likewise.
33157
33158 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33159 during image generation. Implement --prefix option to override this
33160 patch.
33161 * util/i386/efi/grub-mkimage.c: Likewise.
33162
33163 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33164 code to make path relative to its root into a separate function.
33165
33166 * util/i386/pc/grub-install.in: Use newly provided
33167 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33168 pass the result to grub-install --prefix.
33169
33170 2007-06-13 Robert Millan <rmh@aybabtu.com>
33171
33172 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33173 DEFAULT_DEVICE_MAP.
33174 * util/grub-emu.c: Use above definitions from misc.h instead of
33175 defining them.
33176 * util/grub-mkdevicemap.c: Likewise.
33177 * util/i386/pc/grub-setup.c: Likewise.
33178 * util/grub-probe.c: Likewise.
33179 (probe): Abort with grub_util_error() when either
33180 grub_guess_root_device or grub_util_get_grub_dev fails.
33181
33182 2007-06-12 Robert Millan <rmh@aybabtu.com>
33183
33184 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33185 "pager" assignment.
33186 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33187 "pcdata".
33188 * util/grub-probe.c (probe): Likewise for "drive_name".
33189
33190 2007-06-11 Robert Millan <rmh@aybabtu.com>
33191
33192 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33193 not just the cdrom one.
33194
33195 2007-06-11 Robert Millan <rmh@aybabtu.com>
33196
33197 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33198 Add --pkglibdir=DIR option to override pkglibdir.
33199 Mention --image-type=TYPE in help output.
33200 Fix --grub-mkimage (it was a no-op).
33201 Abort gracefully when no parameter is given.
33202
33203 2007-06-11 Robert Millan <rmh@aybabtu.com>
33204
33205 * util/i386/pc/grub-mkrescue.in: New file.
33206 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33207 * Makefile.in: Handle bin_SCRIPTS.
33208
33209 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33210
33211 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33212 list of video modes.
33213
33214 2007-06-06 Robert Millan <rmh@aybabtu.com>
33215
33216 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33217 file doesn't exist, or if it is in a filesystem grub can't read.
33218
33219 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33220 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33221 header comment to fit in 80 columns when the variables are resolved.
33222
33223 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33224 could be identified by update-grub. Remove redundant check for
33225 unifont.pff existence (since convert_system_path_to_grub_path now
33226 handles that).
33227
33228 2007-06-04 Robert Millan <rmh@aybabtu.com>
33229
33230 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33231
33232 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33233
33234 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33235
33236 2007-06-04 Robert Millan <rmh@aybabtu.com>
33237
33238 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33239
33240 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33241 grub_apple_partition_map_fini.
33242
33243 * util/biosdisk.c
33244 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33245 to access >2 TiB disks).
33246
33247 Print disk->total_sectors with %llu instead of %lu, since this
33248 variable is always 64-bit (prevents wrong disk size from being displayed
33249 on either >2 TiB disk or big-endian CPU).
33250
33251 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33252 into a generic case that supports all (sane) partition maps.
33253
33254 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33255 breaks big-endian.
33256
33257 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33258 and grub_apple_partition_map_fini() after that.
33259
33260 2007-06-01 Robert Millan <rmh@aybabtu.com>
33261
33262 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33263
33264 * util/grub.d/00_header.in: Only enable gfxterm when
33265 convert_system_path_to_grub_path() succeeds.
33266
33267 2007-05-20 Robert Millan <rmh@aybabtu.com>
33268
33269 * util/update-grub_lib.in: New file.
33270 * DISTLIST: Add update-grub_lib.in.
33271 * conf/common.rmk: Generate update-grub_lib and install it in
33272 $(lib_DATA).
33273 * Makefile.in: Add install routine for $(lib_DATA).
33274
33275 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33276 function provided by update-grub_lib to support arbitrary paths of
33277 unifont.pff.
33278 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33279 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33280
33281 2007-05-19 Robert Millan <rmh@aybabtu.com>
33282
33283 * commands/i386/cpuid.c: New module.
33284 * DISTLIST: Add it.
33285 * conf/i386-efi.rmk: Enable cpuid.mod.
33286 * conf/i386-pc.rmk: Likewise.
33287
33288 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33289
33290 * kern/disk.c (grub_disk_read): Check return value of
33291 grub_realloc().
33292
33293 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33294
33295 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33296 arrays.
33297 * disk/raid.c (grub_raid_open): Likewise.
33298
33299 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33300
33301 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33302 stack instead of on the heap.
33303
33304 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33305 before doing a read on it.
33306
33307 * configure.ac: Only use -fno-stack-protector for the target
33308 environment.
33309
33310 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33311
33312 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33313 __attribute_ ((unused)) to mode_type argument.
33314
33315 * util/getroot.c (grub_guess_root_device): Fix #endif.
33316
33317 * kern/misc.c (memcmp): Fix prototype.
33318
33319 * include/grub/partition.h [GRUB_UTIL]
33320 (grub_gpt_partition_map_init): Add prototype.
33321 (grub_gpt_partition_map_fini): Likewise.
33322
33323 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33324 at the right place.
33325
33326 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33327 (grub_fat_read_data): Likewise.
33328 (grub_fat_find_dir): Likewise.
33329
33330 * font/manager.c (find_glyph): Make table a const.
33331 (grub_font_get_glyph): Remove bitmap from if statement.
33332
33333 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33334
33335 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33336 code, first search for device in /dev/mapper, then in /dev.
33337 (grub_util_get_grub_dev): New function.
33338 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33339 prototype.
33340 * util/grub-probe.c (probe): Remove check for RAID, call
33341 grub_util_get_grub_dev() instead of
33342 grub_util_biosdisk_get_grub_dev().
33343 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33344 grub_util_biosdisk_get_grub_dev().
33345 * util/i386/pc/grub-setup.c (main): Likewise.
33346
33347 2007-05-16 Robert Millan <rmh@aybabtu.com>
33348
33349 * DISTLIST: Update for the latest changes.
33350 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33351 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33352 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33353 grub/util/biosdisk.h.
33354 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33355 grub/util/biosdisk.h.
33356
33357 2007-05-16 Robert Millan <rmh@aybabtu.com>
33358
33359 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33360
33361 2007-05-16 Robert Millan <rmh@aybabtu.com>
33362
33363 * util/i386/efi/grub-install.in: New.
33364 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33365 newly added grub-install.
33366 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33367 include.
33368 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33369 grub/util/biosdisk.h.
33370 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33371 grub/util/biosdisk.h.
33372
33373 2007-05-16 Robert Millan <rmh@aybabtu.com>
33374
33375 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33376 * include/grub/util/biosdisk.h: ... here.
33377 * util/i386/pc/biosdisk.c: Moved to ...
33378 * util/biosdisk.c: ... here.
33379 * util/i386/pc/getroot.c: Moved to ...
33380 * util/getroot.c: ... here.
33381 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33382 * util/grub-mkdevicemap.c: ... here.
33383 * util/i386/pc/grub-probe.c: Moved to ...
33384 * util/grub-probe.c: ... here.
33385
33386 2007-05-15 Robert Millan <rmh@aybabtu.com>
33387
33388 * util/update-grub.in: Remove duplicated line in grub.cfg header
33389 message.
33390
33391 2007-05-13 Robert Millan <rmh@aybabtu.com>
33392
33393 * util/update-grub.in: Fix a few assumptions about the devices holding
33394 /, /boot and /boot/grub being the same.
33395 * util/grub.d/00_header.in: Likewise.
33396 * util/grub.d/10_hurd.in: Likewise.
33397 * util/grub.d/10_linux.in: Likewise.
33398
33399 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33400 patterns. Use that to define the `.old' suffix as older than `'.
33401
33402 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33403
33404 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33405 the grub.cfg header message.
33406
33407 2007-05-11 Robert Millan <rmh@aybabtu.com>
33408
33409 * util/update-grub.in: Create device.map if it doesn't already exist,
33410 before attempting to run grub-probe.
33411 Check for grub-probe and grub-mkdevicemap with the same code
33412 grub-install is using.
33413 Remove test mode.
33414
33415 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33416
33417 * Makefile.in: Add the datarootdir autoconf variable.
33418
33419 2007-05-09 Robert Millan <rmh@aybabtu.com>
33420
33421 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
33422 fail gracefully if dev->disk->partition == NULL.
33423
33424 2007-05-07 Robert Millan <rmh@aybabtu.com>
33425
33426 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33427 determine partition map module.
33428 * util/i386/pc/grub-install.in: Use this feature to decide which
33429 partition module to load, instead of hardcoding pc and gpt.
33430
33431 2007-05-07 Robert Millan <rmh@aybabtu.com>
33432
33433 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33434 source directory differs from build directory.
33435
33436 2007-05-05 Robert Millan <rmh@aybabtu.com>
33437
33438 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33439 initialisation.
33440
33441 2007-05-05 Robert Millan <rmh@aybabtu.com>
33442
33443 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33444
33445 2007-05-05 Robert Millan <rmh@aybabtu.com>
33446
33447 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33448 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33449
33450 2007-05-05 Robert Millan <rmh@aybabtu.com>
33451
33452 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33453 (grub_probe_SOURCES): Likewise.
33454 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33455 GPT and initialize dos_part and bsd_part accordingly.
33456 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33457 install_bsd_part.
33458 (main): Activate gpt module for use during partition identification,
33459 and deactivate it afterwards.
33460 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33461 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33462 partition identification, and deactivate it afterwards.
33463
33464 2007-05-05 Robert Millan <rmh@aybabtu.com>
33465
33466 * term/i386/pc/console.c (grub_console_fini): Call
33467 grub_term_set_current() before grub_term_unregister().
33468
33469 2007-05-04 Robert Millan <rmh@aybabtu.com>
33470
33471 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33472 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33473 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33474 and update-grub_DATA.
33475 * conf/common.rmk: Build and install update-grub components.
33476 * conf/common.mk: Regenerate.
33477 * util/update-grub.in: New. Core of update-grub.
33478 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33479 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33480 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33481 * util/grub.d/README: New. Document grub.d directory layout.
33482
33483 2007-05-01 Robert Millan <rmh@aybabtu.com>
33484
33485 * util/grub-emu.c: Move initialization functions
33486 grub_util_biosdisk_init() and grub_init_all() before
33487 grub_util_biosdisk_get_grub_dev(), which relies on them.
33488
33489 2007-04-19 Robert Millan <rmh@aybabtu.com>
33490
33491 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33492 it is used later.
33493
33494 2007-04-18 Jerone Young <jerone@gmail.com>
33495
33496 * kernel/elf.c: Add missing parenthesis for conditional statement
33497 stanza.
33498
33499 2007-04-10 Jerone Young <jerone@gmail.com>
33500
33501 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33502 continue on and look for device node with real device name.
33503
33504 2007-04-10 Jerone Young <jerone@gmail.com>
33505
33506 * configure.ac: Add argument for autoconf to use transformation
33507 ability.
33508 * Makefile.in: Add autoconf package transformation code.
33509 * util/i386/pc/grub-install.in: Likewise.
33510 * util/powerpc/ieee1275/grub-install.in: Likewise.
33511
33512 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33513
33514 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33515 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33516 (EXT2_REVISION): Likewise.
33517 (EXT2_INODE_SIZE): Likewise.
33518 (struct grub_ext2_block_group): Added a missing member
33519 "used_dirs".
33520 (grub_ext2_read_inode): Divide by the inode size in a superblock
33521 instead of 128 to obtain INODES_PER_BLOCK.
33522 Use the macro EXT2_INODE_SIZE instead of directly using
33523 SBLOCK->INODE_SIZE.
33524
33525 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33526
33527 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33528 superblock instead of the structure size to compute an
33529 offset. This fixes the problem that GRUB could not read a
33530 filesystem when inode size is different from 128-byte.
33531
33532 2007-03-05 Marco Gerards <marco@gnu.org>
33533
33534 * normal/main.c (read_config_file): When "menu" is not set, create
33535 an initial context.
33536
33537 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33538
33539 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33540 (HEAP_LIMIT): New macro.
33541 (grub_claim_heap): Claim memory up to `heaplimit'.
33542
33543 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33544
33545 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33546 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33547 (_start): Likewise.
33548 (grub_arch_modules_addr): Return address after `_end'.
33549 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33550 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33551 (add_segments): Calculate `_end' from phdr size and location.
33552 (ALIGN_UP): Moved to ...
33553 * include/grub/misc.h: here.
33554 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33555 New macro.
33556 (GRUB_IEEE1275_MODULE_BASE): Removed.
33557
33558 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33559
33560 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33561 loop boundary.
33562
33563 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33564
33565 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33566 All users updated.
33567 (grub_elf64_load_hook_t): Likewise.
33568 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33569 debug output.
33570
33571 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33572
33573 * kern/mm.c: Update copyright.
33574 (grub_mm_debug): Correct syntax error.
33575 (grub_mm_dump_free): New function.
33576 (grub_debug_free): Call `grub_free'.
33577 * include/grub/mm.h: Update copyright.
33578 (grub_mm_dump_free): Add declaration.
33579
33580 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33581
33582 * include/grub/ieee1275/ieee1275.h: Update copyright.
33583 * kern/powerpc/ieee1275/init.c: Likewise.
33584 * kern/powerpc/ieee1275/openfw.c: Likewise.
33585
33586 * loader/powerpc/ieee1275/linux.c: Likewise.
33587 * include/grub/elfload.h: Likewise.
33588 * kern/elf.c: Likewise.
33589 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33590 callers.
33591 (grub_elf64_load): Likewise.
33592 (grub_elf32_load_segment): Move to a nested function.
33593 (grub_elf64_load_segment): Likewise.
33594
33595 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33596
33597 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33598 prototype.
33599 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33600 (grub_heap_len): Likewise.
33601 (HEAP_SIZE): New macro.
33602 (grub_claim_heap): New function.
33603 (grub_machine_init): Don't claim heap directly. Call
33604 `grub_claim_heap'.
33605 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33606 (grub_available_iterate): New function.
33607
33608 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33609
33610 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33611 * configure.ac: Use it for testing the HOST and TARGET compilers.
33612
33613 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33614
33615 * Makefile.in (enable_grub_emu): New variable.
33616 * configure.ac (--enable-grub-emu): New option.
33617 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33618 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33619 * conf/i386-pc.rmk: Likewise.
33620 * conf/powerpc-ieee1275.rmk: Likewise.
33621 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33622
33623 2006-12-12 Marco Gerards <marco@gnu.org>
33624
33625 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33626
33627 * kern/env.c (grub_env_unset): Don't free the member `value' when
33628 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33629 pointer.
33630
33631 * normal/main.c (current_menu): Removed.
33632 (free_menu): Unset the `menu' environment variable.
33633 (grub_normal_menu_addentry): Make use of the environment variable
33634 `menu', instead of using the global `current_menu'. Allocate
33635 memory for the sourcecode of this entry.
33636 (read_config_file): New argument `nested', changed all callers.
33637 Only in the case of a new context, initialize a new menu. Set the
33638 `menu' environment variable.
33639 (grub_normal_execute): Don't set and unset the environment
33640 variable `menu' here anymore. Only free the menu when leaving the
33641 context.
33642
33643 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33644 leak.
33645
33646 2006-12-11 Marco Gerards <marco@gnu.org>
33647
33648 * normal/menu_entry.c (run): Fix off by one bug so the last line
33649 is executed. Move the loader check to outside the loop.
33650
33651 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33652
33653 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33654
33655 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33656
33657 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33658 the number of sectors. Reported by Andrey Shuvikov
33659 <mr_hyro@yahoo.com>.
33660
33661 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33662
33663 * kern/disk.c (grub_disk_read): When there is a read error, always
33664 try to read only the necessary data.
33665
33666 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33667 disk/raid.c.
33668 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33669 prototype.
33670 [GRUB_UTIL] (grub_raid_fini): Likewise.
33671 [GRUB_UTIL] (grub_lvm_init): Likewise.
33672 [GRUB_UTIL] (grub_lvm_fini): Likewise.
33673 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33674 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33675 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33676 and grub_raid_fini().
33677
33678 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33679
33680 * include/grub/types.h (__unused): Rename to UNUSED.
33681 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33682 (grub_elf64_size): Likewise.
33683
33684 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33685
33686 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33687 grub_error_push and grub_error_pop in the error-handling path.
33688 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33689 length.
33690
33691 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33692
33693 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33694 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33696 (kernel_elf_SOURCES): Likewise.
33697 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33698 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33699 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33700 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33701 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33702 (elf_mod_SOURCES): New variable.
33703 (elf_mod_CFLAGS): Likewise.
33704 (elf_mod_LDFLAGS): Likewise.
33705 * include/grub/types.h (__unused): New macro.
33706 * include/grub/elfload.h: New file.
33707 * kern/elf.c: Likewise.
33708 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33709 (ELF32_LOADMASK): New macro.
33710 (ELF64_LOADMASK): Likewise.
33711 (vmlinux): Removed.
33712 (grub_linux_load32): New function.
33713 (grub_linux_load64): Likewise.
33714 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33715 Use grub_elf_t instead of grub_file_t.
33716
33717 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33718
33719 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33720 `catch_result' to struct set_color_args.
33721
33722 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33723
33724 * normal/menu.c: Include grub/script.h.
33725 * normal/menu_entry.c: Likewise.
33726 * include/grub/normal.h: Do not include grub/script.h.
33727
33728 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33729
33730 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33731
33732 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33733
33734 * kern/disk.c (grub_disk_open): Print debug messages when opening a
33735 disk.
33736 (grub_disk_close): Print debug messages when closing a disk.
33737 (grub_disk_read): Print debug messages when disk read fails.
33738 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
33739 filesystem type.
33740 * kern/partition.c: Include misc.h.
33741 (grub_partition_iterate): Print debug messages when detecting
33742 partition type.
33743
33744 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33745
33746 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
33747 is negative.
33748 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
33749
33750 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
33751
33752 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33753 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
33754
33755 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
33756
33757 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
33758 instead of sizeof(lv). Patch by Michael Guntsche.
33759
33760 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
33761
33762 * disk/lvm.c: Rename VGS to VG_LIST.
33763 (grub_lvm_iterate): Change VGS->LV to VG-LV.
33764 (grub_lvm_open): Likewise.
33765 Thanks to Michael Guntsche for finding this bug.
33766
33767 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33768
33769 * configure.ac (AC_INIT): Bumped to 1.95.
33770
33771 2006-10-14 Robert Millan <rmh@aybabtu.com>
33772
33773 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
33774 with "/dev/.static/dev/md".
33775
33776 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33777
33778 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
33779 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
33780 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
33781 DRIVE_NAME are always freed.
33782
33783 * util/i386/pc/biosdisk.c (make_device_name): Add one into
33784 DOS_PART, as a DOS partition is counted from one instead of zero
33785 now. Reported by Robert Millan.
33786
33787 2006-10-14 Robert Millan <rmh@aybabtu.com>
33788
33789 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
33790 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
33791 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
33792 string returned by grub_guess_root_device.
33793 * util/i386/pc/grub-setup.c: Likewise.
33794 * util/i386/pc/grub-probefs.c: Likewise.
33795
33796 * util/i386/pc/grub-probefs.c: Rename to ...
33797 * util/i386/pc/grub-probe.c: ... this.
33798 * DISTLIST: Remove grub-probefs, add grub-probe.
33799 * conf/i386-efi.rmk: Likewise.
33800 * conf/i386-pc.rmk: Likewise.
33801 * util/i386/pc/grub-install.in: Likewise.
33802
33803 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
33804 choose which information we want to print.
33805
33806 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33807
33808 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
33809 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
33810 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
33811 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
33812 video/readers/tga.c and video/i386/pc/vbeutil.c.
33813
33814 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
33815
33816 Added support for RAID and LVM.
33817
33818 * disk/lvm.c: New file.
33819 * disk/raid.c: Likewise.
33820 * include/grub/lvm.h: Likewise.
33821 * include/grub/raid.h: Likewise.
33822 * include/grub/util/lvm.h: Likewise.
33823 * include/grub/util/raid.h: Likewise.
33824 * util/lvm.c: Likewise.
33825 * util/raid.c: Likewise.
33826
33827 * include/grub/disk.h (grub_disk_dev_id): Add
33828 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
33829 (grub_disk_get_size): New prototype.
33830 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
33831 returns a partition.
33832 (grub_disk_get_size): New function.
33833
33834 * kern/i386/pc/init.c (make_install_device): Copy the prefix
33835 verbatim if grub_install_dos_part is -2.
33836
33837 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
33838 and LVM devices.
33839
33840 * util/i386/pc/grub-setup.c (setup): New argument
33841 MUST_EMBED. Force embedding of GRUB when the argument is
33842 true. Close FILE before returning.
33843 (main): Add support for RAID and LVM.
33844
33845 * conf/common.rmk: Add RAID and LVM modules.
33846 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
33847 util/lvm.c.
33848 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
33849
33850 * kern/misc.c (grub_strstr): New function.
33851 * include/grub/misc.h (grub_strstr): New prototype.
33852
33853 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
33854
33855 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
33856
33857 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
33858
33859 * kern/misc.c (grub_strtoull): Guess the base only if not
33860 specified.
33861
33862 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33863
33864 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
33865 PowerMac support.
33866
33867 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33868
33869 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
33870
33871 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
33872 Remove `flags' argument. All callers changed.
33873 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
33874 (IEEE1275_IHANDLE_INVALID): New variable.
33875 (IEEE1275_CELL_INVALID): New variable.
33876 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33877 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
33878 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
33879 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
33880 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
33881 codes from Open Firmware. All callers updated.
33882 (grub_ieee1275_next_property): Directly return Open Firmware return
33883 code.
33884 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33885 Standardize error checking from `grub_ieee1275_get_property'.
33886 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
33887 `devalias' to `aliases'. Correct comments. Consolidate error paths.
33888
33889 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33890
33891 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
33892 `instance_to_package_args' to `instance_to_path_args'.
33893
33894 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
33895 `grub_ieee1275_chosen'.
33896
33897 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
33898 `grub_ieee1275_interpret'.
33899
33900 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
33901
33902 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
33903
33904 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
33905
33906 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
33907 (__cmpdi): Likewise.
33908
33909 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
33910 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
33911 `grub_ssize_t'.
33912
33913 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
33914
33915 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
33916 to type `grub_ssize_t'.
33917 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
33918
33919 2006-09-22 Marco Gerards <marco@gnu.org>
33920
33921 * normal/script.c (grub_script_create_cmdmenu): Skip leading
33922 newlines.
33923
33924 2006-09-22 Marco Gerards <marco@gnu.org>
33925
33926 * commands/echo.c: New file.
33927
33928 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
33929
33930 * conf/common.rmk (echo_mod_SOURCES): New variable.
33931 (echo_mod_CFLAGS): Likewise.
33932 (echo_mod_LDFLAGS): Likewise.
33933
33934 2006-09-22 Marco Gerards <marco@gnu.org>
33935
33936 * normal/main.c (get_line): Malloc memory instead of using
33937 preallocated memory. Removed the arguments `cmdline' and
33938 `max_len'. Updated all callers.
33939
33940 2006-09-22 Marco Gerards <marco@gnu.org>
33941
33942 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
33943 (normal_mod_DEPENDENCIES): Likewise.
33944
33945 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
33946 (normal_mod_DEPENDENCIES): Likewise.
33947
33948 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
33949
33950 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
33951
33952 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
33953 programs.
33954 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
33955 (normal_mod_DEPENDENCIES): Likewise.
33956 * conf/i386-pc.mk: Regenerate.
33957 * conf/i386-efi.mk: Likewise
33958 * conf/common.mk: Likewise.
33959 * conf/powerpc-ieee1275.mk: Likewise.
33960 * conf/sparc64-ieee1275.mk: Likewise.
33961
33962 2006-09-22 Robert Millan <rmh@aybabtu.com>
33963
33964 Sync with i386 version.
33965 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
33966 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
33967
33968 2006-09-21 Robert Millan <rmh@aybabtu.com>
33969
33970 Import from GRUB Legacy (lib/device.c):
33971 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
33972 (init_device_map) [__linux__]: Add support for I2O devices.
33973
33974 2006-09-14 Marco Gerards <marco@gnu.org>
33975
33976 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
33977 `-melf_i386'.
33978
33979 2006-09-14 Robert Millan <rmh@aybabtu.com>
33980
33981 * util/i386/pc/grub-install.in: Skip menu.lst when removing
33982 /boot/grub/*.lst.
33983
33984 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
33985
33986 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
33987 before adding it to device.map.
33988
33989 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
33990
33991 * genmk.rb: Let GCC generate dependencies the first time it
33992 compiles a file; using the -MD option.
33993 * conf/common.mk: Regenerate.
33994 * conf/i386-pc.mk: Likewise.
33995 * conf/i386-efi.mk: Likewise.
33996 * conf/powerpc-ieee1275.mk: Likewise.
33997 * conf/sparc64-ieee1275.mk: Likewise.
33998
33999 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
34000
34001 Move the prototypes of grub_setjmp and grub_longjmp to
34002 cpu/setjmp.h, so that each architecture may specify different
34003 attributes.
34004
34005 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
34006 (grub_longjmp): Likewise.
34007 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
34008 (grub_longjmp): Likewise.
34009 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
34010 (grub_longjmp): Likewise.
34011
34012 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
34013 [!GRUB_UTIL] (grub_longjmp): Removed.
34014
34015 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
34016
34017 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
34018 "color!" method does not return any value.
34019
34020 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34021
34022 * include/grub/bitmap.h: New file.
34023
34024 * include/grub/i386/pc/vbeutil.h: Likewise.
34025
34026 * video/bitmap.c: Likewise.
34027
34028 * video/readers/tga.c: Likewise.
34029
34030 * video/i386/pc/vbeutil.c: Likewise.
34031
34032 * commands/videotest.c: Code cleanup and updated to reflect to new
34033 video API.
34034
34035 * term/gfxterm.c: Likewise.
34036
34037 * video/video.c: Likewise.
34038
34039 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
34040 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
34041 (bitmap_mod_SOURCES): New entry.
34042 (bitmap_mod_CFLAGS): Likewise.
34043 (bitmap_mod_LDFLAGS): Likewise.
34044 (tga_mod_SOURCES): Likewise.
34045 (tga_mod_CFLAGS): Likewise.
34046 (tga_mod_LDFLAGS): Likewise.
34047
34048 * include/grub/video.h (grub_video_blit_operators): New enum type.
34049 (grub_video_render_target): Changed as forward declaration and moved
34050 actual definition to be video driver specific.
34051 (grub_video_adapter.blit_bitmap): Added blitting operator.
34052 (grub_video_adapter.blit_render_target): Likewise.
34053 (grub_video_blit_bitmap): Likewise.
34054 (grub_video_blit_render_target): Likewise.
34055
34056 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
34057 driver specific render target definition.
34058 (grub_video_vbe_map_rgba): Added driver internal helper.
34059 (grub_video_vbe_unmap_color): Updated to use
34060 grub_video_i386_vbeblit_info.
34061 (grub_video_vbe_get_video_ptr): Likewise.
34062
34063 * include/grub/i386/pc/vbeblit.h
34064 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34065 grub_video_i386_vbeblit_info.
34066 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34067 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34068 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34069 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34070 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34071 (grub_video_i386_vbeblit_index_index): Likewise.
34072 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34073 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34074 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34075 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34076 operator.
34077 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34078 operator.
34079
34080 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34081 include/grub/i386/pc/vbeblit.h.
34082
34083 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34084 Updated to use grub_video_i386_vbeblit_info.
34085 (grub_video_i386_vbefill_R8G8B8): Likewise.
34086 (grub_video_i386_vbefill_index): Likewise.
34087 (grub_video_i386_vbefill): Added generic filler.
34088
34089 * video/i386/pc/vbefill.c: Updated to reflect changes on
34090 include/grub/i386/pc/vbefill.h.
34091
34092 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34093 grub_video_i386_vbeblit_info.
34094 (grub_video_vbe_unmap_color): Likewise.
34095 (grub_video_vbe_blit_glyph): Likewise.
34096 (grub_video_vbe_scroll): Likewise.
34097 (grub_video_vbe_draw_pixel): Removed function.
34098 (grub_video_vbe_get_pixel): Likewise.
34099 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34100 updated code to use it.
34101 (common_blitter): Added common blitter for render target and bitmap.
34102 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34103 (grub_video_vbe_blit_render_target): Likewise.
34104
34105 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34106
34107 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34108 is in text mode if there is no console control protocol instance
34109 available.
34110
34111 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34112
34113 * include/grub/video.h: Code cleanup.
34114
34115 * include/grub/i386/pc/vbe.h: Likewise.
34116
34117 * video/i386/pc/vbe.c: Likewise.
34118
34119 * video/i386/pc/vbeblit.c: Likewise.
34120
34121 * video/i386/pc/vbefill.c: Likewise.
34122
34123 * video/video.c: Likewise. Also added more comments.
34124
34125 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34126
34127 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34128 (struct grub_biosdisk_dap): Likewise.
34129
34130 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34131 linkage settings for all functions.
34132
34133 2006-07-12 Marco Gerards <marco@gnu.org>
34134
34135 * configure.ac (--enable-mm-debug): Fix typo.
34136
34137 * genkernsyms.sh.in: Use proper quoting for `CC'.
34138
34139 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34140
34141 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34142 (normal_mod_ASFLAGS): Remove "-m32".
34143
34144 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34145
34146 * util/misc.c: Include config.h.
34147 [!HAVE_MEMALIGN]: Do not include malloc.h.
34148 (grub_memalign): Use posix_memalign, if present. Then, use
34149 memalign, if present. Otherwise, emit an error.
34150
34151 * util/grub-emu.c: Do not include malloc.h.
34152
34153 * include/grub/util/misc.h: Include unistd.h. This is required for
34154 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34155 D. Eades III <hde@foobar-qux.org>.
34156
34157 * configure.ac (AC_GNU_SOURCE): Added.
34158 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34159 type.
34160
34161 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34162
34163 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34164 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34165
34166 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34167
34168 * include/grub/types.h (grub_host_addr_t): Rename to
34169 grub_target_addr_t.
34170 (grub_host_off_t): Rename to grub_target_off_t.
34171 (grub_host_size_t): Rename to grub_target_size_t.
34172 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34173 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34174
34175 * include/grub/kernel.h (struct grub_module_header): Change type
34176 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34177 (grub_module_info): Likewise.
34178
34179 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34180
34181 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34182 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34183 Velazquez <jesus.velazquez@gmail.com>.
34184
34185 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34186
34187 Count partitions from 1 instead of 0 in the string representation
34188 of partitions. Still use 0-based internally.
34189
34190 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34191 (sun_partition_map_iterate): Use grub_partition_t instead of
34192 struct grub_partition *. Cast DESC->START_CYLINDER to
34193 grub_uint64_t after converting the endian.
34194 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34195 (sun_partition_map_get_name): Add 1 to P->INDEX.
34196
34197 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34198 PCDATA->DOS_PART.
34199 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34200
34201 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34202 zero instead of one.
34203 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34204 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34205
34206 * partmap/apple.c (apple_partition_map_iterate): Change the type
34207 of POS to unsigned.
34208 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34209 (apple_partition_map_get_name): Add 1 into P->INDEX.
34210
34211 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34212 of POS to unsigned.
34213 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34214 calculate the offset of a partition.
34215 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34216 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34217
34218 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34219 SECTOR to grub_disk_addr_t.
34220 (acorn_partition_map_iterate): Likewise.
34221 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34222 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34223 top.
34224 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34225
34226 * kern/i386/pc/init.c (make_install_device): Add 1 into
34227 GRUB_INSTALL_DOS_PART.
34228
34229 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34230 conditional.
34231
34232 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34233
34234 Clean up the code to support 64-bit addressing in disks and
34235 files. This change is not enough for filesystems yet.
34236
34237 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34238 type of "start" to grub_uint64_t.
34239 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34240 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34241 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34242 convert addresses.
34243
34244 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34245 to grub_disk_addr_t.
34246
34247 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34248 string.
34249
34250 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34251
34252 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34253 to char *.
34254
34255 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34256
34257 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34258
34259 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34260
34261 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34262 to grub_off_t, to detect an error from grub_file_seek.
34263 (grub_multiboot_load_elf32): Likewise.
34264
34265 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34266 maximum unsigned long value when an overflow is detected.
34267 (grub_strtoull): New function.
34268 (grub_divmod64): Likewise.
34269 (grub_lltoa): use grub_divmod64.
34270
34271 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34272 grub_disk_addr_t.
34273 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34274 the pointer to next character. Use grub_strtoull instead of
34275 grub_strtoul.
34276 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34277 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34278 respectively.
34279
34280 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
34281 return value is signed.
34282 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34283 test if OFFSET is less than zero, as OFFSET is unsigned now.
34284
34285 * kern/disk.c (struct grub_disk_cache): Change the type of
34286 "sector" to grub_disk_addr_t.
34287 (grub_disk_cache_get_index): Change the type of SECTOR to
34288 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34289 unsigned after shifting.
34290 (grub_disk_cache_invalidate): Change the type of SECTOR to
34291 grub_disk_addr_t.
34292 (grub_disk_cache_unlock): Likewise.
34293 (grub_disk_cache_store): Likewise.
34294 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34295 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34296 grub_disk_addr_t and grub_uint64_t, respectively.
34297 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34298 body, as the value of OFFSET is tweaked by
34299 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34300 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34301 respectively.
34302 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34303 body, as the value of OFFSET is tweaked by
34304 grub_disk_check_range. Change the types of LEN and N to
34305 grub_size_t.
34306
34307 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34308 and "saved_offset" to grub_off_t.
34309 (test_header): Cast BUF to char *.
34310 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34311 to char *.
34312 (grub_gzio_read): Change the types of OFFSET and SIZE to
34313 grub_off_t and grub_size_t, respectively.
34314
34315 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34316 Removed.
34317 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34318 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34319 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34320 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34321 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34322
34323 * include/grub/types.h (grub_off_t): Unconditionally set to
34324 grub_uint64_t.
34325 (grub_disk_addr_t): Changed to grub_uint64_t.
34326
34327 * include/grub/partition.h (struct grub_partition): Change the
34328 types of "start", "len" and "offset" to grub_disk_addr_t,
34329 grub_uint64_t and grub_disk_addr_t, respectively.
34330 (grub_partition_get_start): Return grub_disk_addr_t.
34331 (grub_partition_get_len): Return grub_uint64_t.
34332
34333 * include/grub/misc.h (grub_strtoull): New prototype.
34334 (grub_divmod64): Likewise.
34335
34336 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34337 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34338 grub_off_t, respectively.
34339 All callers and references changed.
34340
34341 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34342 grub_size_t in "read".
34343 All callers and references changed.
34344
34345 * include/grub/file.h (struct grub_file): Change the types of
34346 "offset" and "size" to grub_off_t and grub_off_t,
34347 respectively. Change the type of SECTOR to grub_disk_addr_t in
34348 "read_hook".
34349 (grub_file_read): Change the type of LEN to grub_size_t.
34350 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34351 grub_off_t.
34352 (grub_file_size): Return grub_off_t.
34353 (grub_file_tell): Likewise.
34354 All callers and references changed.
34355
34356 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34357 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34358 "write".
34359 (struct grub_disk): Change the type of "total_sectors" to
34360 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
34361 "read_hook".
34362 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34363 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34364 (grub_disk_write): Likewise.
34365 All callers and references changed.
34366
34367 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34368 char * for grub_strncmp to silence gcc.
34369 (grub_iso9660_mount): Likewise.
34370 (grub_iso9660_mount): Likewise.
34371 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34372 return statement.
34373 (grub_iso9660_iterate_dir): Likewise.
34374 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34375
34376 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34377 LEN to grub_disk_addr_t and grub_size_t, respectively.
34378
34379 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34380
34381 * fs/jfs.c (grub_jfs_read_file): Likewise.
34382
34383 * fs/minix.c (grub_jfs_read_file): Likewise.
34384
34385 * fs/sfs.c (grub_jfs_read_file): Likewise.
34386
34387 * fs/ufs.c (grub_jfs_read_file): Likewise.
34388
34389 * fs/xfs.c (grub_jfs_read_file): Likewise.
34390
34391 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34392 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34393 respectively.
34394
34395 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34396 BLKNR to -1 instead of returning GRUB_ERRNO.
34397 (grub_ext2_read_file): Change the types of SECTOR and
34398 LEN to grub_disk_addr_t and grub_size_t, respectively.
34399
34400 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34401 LEN to grub_disk_addr_t and grub_size_t, respectively.
34402
34403 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34404 grub_file_read.
34405
34406 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34407 string. Do not cast SECTOR explicitly.
34408
34409 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34410 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34411 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34412 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34413 over 2TB and LBA mode is not supported, raise an error.
34414 (get_safe_sectors): New function.
34415 (grub_biosdisk_read): Use get_safe_sectors.
34416 (grub_biosdisk_write): Likewise.
34417
34418 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34419 (grub_efidisk_write): Likewise.
34420
34421 * disk/loopback.c (delete_loopback): Cosmetic changes.
34422 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34423 correctly.
34424 (grub_loopback_open): Likewise.
34425 (grub_loopback_read): Likewise. Also, change the type of POS to
34426 grub_off_t, and fix the usage of grub_memset.
34427
34428 * commands/i386/pc/play.c: Include grub/machine/time.h.
34429
34430 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34431 print FILE->SIZE.
34432
34433 * commands/configfile.c: Include grub/env.h.
34434
34435 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34436 GRUB_ERRNO directly instead. Change the type of POS to
34437 grub_off_t. Follow the coding standard.
34438
34439 * commands/blocklist.c: Include grub/partition.h.
34440 (grub_cmd_blocklist): Return an error if the underlying device is
34441 not a disk. Take the starting sector of a partition into account,
34442 if a partition is used.
34443
34444 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34445 a length field.
34446 (lba_mode): Support 64-bit addresses.
34447 (chs_mode): Likewise.
34448 (copy_buffer): Adapted to the new offsets of a length field and a
34449 segment field.
34450 (blocklist_default_start): Allocate 64-bit space.
34451
34452 * boot/i386/pc/boot.S (force_lba): Removed.
34453 (boot_drive): Moved to under KERNEL_SECTOR.
34454 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
34455 space.
34456 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34457 is useless.
34458 (lba_mode): Refactored to support a 64-bit address. More size
34459 optimization.
34460 (setup_sectors): Likewise.
34461
34462 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34463
34464 * DISTLIST: Added include/grub/i386/linux.h. Removed
34465 include/grub/i386/pc/linux.h
34466
34467 * configure.ac (AC_INIT): Bumped to 1.94.
34468
34469 * config.guess: Updated from gnulib.
34470 * config.sub: Likewise.
34471 * install-sh: Likewise.
34472 * mkinstalldirs: Likewise.
34473
34474 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34475
34476 * conf/common.rmk (grub_modules_init.lst): Depended on
34477 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34478 MODSRCFILES.
34479
34480 * genmk.rb (PModule::rule): Reverted the previous change.
34481
34482 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34483
34484 * conf/common.rmk (grub_modules_init.lst): Depends on
34485 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34486 that the target does not exist before producing.
34487 (grub_modules_init.h): Remove the target before generating.
34488 (grub_emu_init.c): Likewise.
34489
34490 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34491
34492 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34493
34494 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34495 for the target-specific tests. Make sure that we also have the
34496 up-to-date target variables for those tests.
34497
34498 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34499
34500 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34501 (PModule::rule): Likewise.
34502
34503 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34504
34505 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34506 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34507 target-specific flags should be prefixed.
34508 (PModule::rule): Likewise.
34509
34510 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34511
34512 * configure.ac (CMP): Check if cmp is available explicitly.
34513
34514 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34515
34516 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34517 (target_cpu): New variable.
34518 (pkglibdir): Use target_cpu instead of host_cpu.
34519
34520 * util/i386/pc/grub-install.in (host_cpu): Removed.
34521 (target_cpu): New variable.
34522 (pkglibdir): Use target_cpu instead of host_cpu.
34523
34524 * util/genmoddep.c: Removed.
34525
34526 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34527 instead of GRUB_HOST_SIZEOF_VOID_P.
34528 * kern/dl.c: Likewise.
34529
34530 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34531 ...
34532 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34533 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34534 (GRUB_TARGET_SIZEOF_LONG): ... this.
34535 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34536 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34537 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34538 to ...
34539 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34540 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34541 (GRUB_TARGET_SIZEOF_LONG): ... this.
34542 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34543 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34544 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34545 to ...
34546 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34547 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34548 (GRUB_TARGET_SIZEOF_LONG): ... this.
34549 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34550 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34551
34552 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34553 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34554 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34555 instead of GRUB_HOST_SIZEOF_LONG.
34556 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34557 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34558 GRUB_CPU_WORDS_BIGENDIAN.
34559 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34560 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34561 grub_host_ssize_t.
34562
34563 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34564 (genmoddep_SOURCES): Likewise.
34565 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34566 (genmoddep_SOURCES): Likewise.
34567 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34568 (genmoddep_SOURCES): Likewise.
34569 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34570 Likewise.
34571 (genmoddep_SOURCES): Likewise.
34572
34573 * genmoddep.awk: New file.
34574
34575 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34576 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34577 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34578 (PModule::rule): Likewise.
34579 (Program::rule): Likewise.
34580 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34581 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34582 respectively.
34583
34584 * configure.ac: Rewritten intensively to use host and target
34585 instead of build and host, respectively.
34586
34587 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34588 (host_cpu): Removed.
34589 (target_cpu): New variable.
34590 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34591 (BUILD_CC): Removed.
34592 (BUILD_CFLAGS): Likewise.
34593 (BUILD_CPPFLAGS): Likewise.
34594 (TARGET_CC): New variable.
34595 (TARGET_CFLAGS): Likewise.
34596 (TARGET_CPPFLAGS): Likewise.
34597 (TARGET_LDFLAGS): Likewise.
34598 (AWK): Likewise.
34599 (include): Use target_cpu instead of host_cpu.
34600 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
34601
34602 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34603
34604 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34605
34606 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34607 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34608 field 'false' to 'exec_on_false'.
34609 (grub_script_create_cmdif): Renamed argument names to reflect above
34610 changes.
34611
34612 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34613
34614 * normal/script.c (grub_script_create_cmdif): Likewise.
34615
34616 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34617
34618 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34619 top.
34620 (grub_hfsplus_btree_recptr): Likewise.
34621 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34622 FILEBLOCK both to pass a block number and store next block
34623 number.
34624 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34625 overflow file correctly. Specify errors appropriately, because
34626 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34627 grub_hfsplus_btree_recptr to get the pointer to a found key.
34628 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34629 is found.
34630
34631 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34632 linux.mod.
34633 (_linux_mod_SOURCES): New variable.
34634 (_linux_mod_CFLAGS): Likewise.
34635 (_linux_mod_LDFLAGS): Likewise.
34636 (linux_mod_SOURCES): Likewise.
34637 (linux_mod_CFLAGS): Likewise.
34638 (linux_mod_LDFLAGS): Likewise.
34639
34640 * DISTLIST: Added loader/i386/efi/linux.c,
34641 loader/i386/efi/linux_normal.c and
34642 include/grub/i386/efi/loader.h.
34643
34644 * loader/i386/efi/linux.c: New file.
34645 * loader/i386/efi/linux_normal.c: Likewise.
34646 * include/grub/i386/efi/loader.h: Likewise.
34647
34648 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34649
34650 * commands/blocklist.c: New file.
34651
34652 * DISTLIST: Added commands/blocklist.c.
34653
34654 * term/efi/console.c (grub_console_highlight_color): Use a lighter
34655 color for the background, and a darker color for the foreground.
34656 (grub_console_checkkey): Return READ_KEY.
34657 (grub_console_cls): Set the background to
34658 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34659
34660 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34661
34662 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34663 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34664
34665 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34666 prototype.
34667
34668 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34669 BG. The spec is wrong again.
34670
34671 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34672 prototype.
34673 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34674
34675 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34676 commands/blocklist.c.
34677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34678
34679 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34680 (blocklist_mod_SOURCES): New variable.
34681 (blocklist_mod_CFLAGS): Likewise.
34682 (blocklist_mod_LDFLAGS): Likewise.
34683
34684 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34685
34686 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34687 duplication.
34688 (lba_mode): Use %eax more intensively to reduce the code size.
34689
34690 2006-05-20 Marco Gerards <marco@gnu.org>
34691
34692 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34693
34694 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34695 for `menuentry'.
34696 (script): Accept leading newlines.
34697 (newlines): New rule to describe 0 or more newlines.
34698 (commands): Accept `command' with trailing newline. Fixed the
34699 order in which arguments were passed to `grub_script_add_cmd'.
34700 Accept commands separated by newlines.
34701 (function): Changed to accept newlines.
34702 (menuentry) Rewritten.
34703
34704 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34705 front of the list, instead of to the end.
34706
34707 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34708
34709 * util/i386/pc/grub-install.in (bindir): New variable.
34710 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34711 Shaver <lbgwjl@gmail.com>.
34712
34713 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34714
34715 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34716 grub/machine/linux.h
34717 * loader/i386/pc/linux.c: Likewise.
34718
34719 * include/grub/i386/pc/linux.h: Moved to ...
34720 * include/grub/i386/linux.h: ... here.
34721
34722 * include/grub/i386/linux.h (struct linux_kernel_params): New
34723 struct.
34724
34725 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34726
34727 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34728 checking.
34729 (grub_video_vbe_blit_glyph): Likewise.
34730 (grub_video_vbe_blit_bitmap): Likewise.
34731 (grub_video_vbe_blit_render_target): Likewise.
34732
34733 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
34734
34735 * configure.ac (--with-platform): Properly quote the square
34736 brackets.
34737
34738 2006-05-08 Marco Gerards <marco@gnu.org>
34739
34740 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
34741 this...
34742 (kernel_elf_HEADERS): ...to this. Updated all users.
34743 (grubof_symlist.c): Renamed from this...
34744 (kernel_elf_symlist.c): ...to this. Updated all users.
34745 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34746 (grubof_SOURCES): Renamed from this...
34747 (kernel_elf_SOURCES): ...to this.
34748 (grubof_HEADERS): Renamed from this...
34749 (kernel_elf_HEADERS): ...to this.
34750 (grubof_CFLAGS): Renamed from this...
34751 (kernel_elf_CFLAGS): ...to this.
34752 (grubof_ASFLAGS): Renamed from this...
34753 (kernel_elf_ASFLAGS): ...to this.
34754 (grubof_LDFLAGS): Renamed from this...
34755 (kernel_elf_LDFLAGS): ...to this.
34756
34757 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
34758 this...
34759 (kernel_elf_HEADERS): ...to this. Updated all users.
34760 (grubof_symlist.c): Renamed from this...
34761 (kernel_elf_symlist.c): ...to this. Updated all users.
34762 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34763 (grubof_SOURCES): Renamed from this...
34764 (kernel_elf_SOURCES): ...to this.
34765 (grubof_HEADERS): Renamed from this...
34766 (kernel_elf_HEADERS): ...to this.
34767 (grubof_CFLAGS): Renamed from this...
34768 (kernel_elf_CFLAGS): ...to this.
34769 (grubof_ASFLAGS): Renamed from this...
34770 (kernel_elf_ASFLAGS): ...to this.
34771 (grubof_LDFLAGS): Renamed from this...
34772 (kernel_elf_LDFLAGS): ...to this.
34773
34774 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
34775 `kernel.elf' instead of `grubof'.
34776
34777 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
34778
34779 Add --with-platform to configure. Use pkglibdir instead of
34780 pkgdatadir. This is reported by Roger Leigh.
34781
34782 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
34783 (host_vendor): Likewise.
34784 (host_os): Likewise.
34785 (pkgdatadir): Likewise.
34786 (platform): New variable.
34787 (pkglibdir): Likewise.
34788 Use PKGLIBDIR instead of PKGDATADIR.
34789
34790 * util/i386/pc/grub-install.in (datadir): Removed.
34791 (host_vendor): Likewise.
34792 (host_os): Likewise.
34793 (pkgdatadir): Likewise.
34794 (platform): New variable.
34795 (pkglibdir): Likewise.
34796 Use PKGLIBDIR instead of PKGDATADIR.
34797
34798 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
34799 instead of GRUB_DATADIR.
34800 (main): Likewise.
34801 * util/i386/pc/grub-mkimage.c (usage): Likewise.
34802 (main): Likewise.
34803 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34804 (main): Likewise.
34805
34806 * configure.ac (--with-platform): New option.
34807 Use PLATFORM instead of HOST_VENDOR to specify a platform.
34808
34809 * Makefile.in: Include a makefile based on PLATFORM instead of
34810 HOST_VENDOR.
34811 (pkgdatadir): Not appended by the machine type.
34812 (pkglibdir): Appended by the machine type.
34813 (host_vendor): Removed.
34814 (platform): New variable.
34815 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
34816 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
34817 (uninstall): Likewise.
34818
34819 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
34820
34821 Use the environment context in the menu. Remove the commands
34822 "default" and "timeout", and use variables instead.
34823
34824 * normal/menu.c: Include grub/env.h.
34825 (print_entry): Cast TITLE to silence gcc.
34826 (get_timeout): New function.
34827 (set_timeout): Likewise.
34828 (get_entry_number): Likewise.
34829 (run_menu): Use a default entry, a fallback entry and a timeout
34830 in the environment variables "default", "fallback" and
34831 "timeout". Also, tweak the default entry if it is not within the
34832 current menu entries.
34833 (grub_menu_run): Use a fallback entry in the environment variable
34834 "fallback".
34835
34836 * normal/main.c (read_config_file): Do not initialize
34837 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
34838 NEWMENU->TIMEOUT.
34839 (grub_normal_execute): Use a data slot to store the menu.
34840
34841 * include/grub/normal.h (struct grub_menu): Removed default_entry,
34842 fallback_entry and timeout.
34843 (struct grub_menu_list): Removed.
34844 (grub_menu_list_t): Likewise.
34845 (struct grub_context): Likewise.
34846 (grub_context_t): Likewise.
34847 (grub_context_get): Likewise.
34848 (grub_context_get_current_menu): Likewise.
34849 (grub_context_push_menu): Likewise.
34850 (grub_context_pop_menu): Likewise.
34851 (grub_default_init): Likewise.
34852 (grub_default_fini): Likewise.
34853 (grub_timeout_init): Likewise.
34854 (grub_timeout_fini): Likewise.
34855
34856 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
34857 and timeout.mod.
34858 (normal_mod_SOURCES): Removed normal/context.c.
34859
34860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
34861 commands/default.c, commands/timeout.c and normal/context.c.
34862 (normal_mod_SOURCES): Removed normal/context.c.
34863
34864 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
34865 commands/timeout.c and normal/context.c.
34866 (normal_mod_SOURCES): Removed normal/context.c.
34867
34868 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
34869 commands/default.c, commands/timeout.c and normal/context.c.
34870 (normal_mod_SOURCES): Removed normal/context.c.
34871
34872 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
34873 timeout.mod.
34874 (default_mod_SOURCES): Removed.
34875 (default_mod_CFLAGS): Likewise.
34876 (default_mod_LDFLAGS): Likewise.
34877 (timeout_mod_SOURCES): Removed.
34878 (timeout_mod_CFLAGS): Likewise.
34879 (timeout_mod_LDFLAGS): Likewise.
34880
34881 * DISTLIST: Removed commands/default.c, commands/timeout.c and
34882 normal/context.c.
34883
34884 * commands/default.c: Removed.
34885 * commands/timeout.c: Likewise.
34886 * normal/context.c: Likewise.
34887
34888 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
34889
34890 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
34891
34892 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
34893
34894 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
34895 "next" to "prev" for readability.
34896 (struct grub_env_sorted_var): New struct.
34897 (grub_env_context): Renamed to ...
34898 (initial_context): ... this.
34899 (grub_env_var_context): Renamed to ...
34900 (current_context): ... this.
34901 (grub_env_find): Look only at CURRENT_CONTEXT.
34902 (grub_env_context_open): Rewritten to copy exported variables from
34903 previous context.
34904 (grub_env_context_close): Rewritten according to the new
34905 scheme. Also, add an assertion to prevent the initial context from
34906 removed.
34907 (grub_env_insert): Removed the code for the sorted list.
34908 (grub_env_remove): Likewise.
34909 (grub_env_export): Simply mark the variable with
34910 GRUB_ENV_VAR_GLOBAL.
34911 (grub_env_set): A cosmetic change for naming consistency.
34912 (grub_env_get): Likewise.
34913 (grub_env_unset): Likewise.
34914 (grub_env_iterate): Rewritten to sort variables within this
34915 function.
34916 (grub_register_variable_hook): Fixed for naming consistency. Call
34917 grub_env_find again, only if NAME is not found at the first time.
34918 (mangle_data_slot_name): New function.
34919 (grub_env_set_data_slot): Likewise.
34920 (grub_env_get_data_slot): Likewise.
34921 (grub_env_unset_data_slot): Likewise.
34922
34923 * include/grub/env.h (grub_env_var_type): New enum.
34924 (GRUB_ENV_VAR_LOCAL): New constant.
34925 (GRUB_ENV_VAR_GLOBAL): Likewise.
34926 (GRUB_ENV_VAR_DATA): Likewise.
34927 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
34928 "type".
34929 (grub_env_set): Replace VAR with NAME for consistency.
34930 (grub_register_variable_hook): Likewise.
34931 (grub_env_export): Specify the name of the argument.
34932 (grub_env_set_data_slot): New prototype.
34933 (grub_env_get_data_slot): Likewise.
34934 (grub_env_unset_data_slot): Likewise.
34935
34936 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34937
34938 Extend the loader so that GRUB can accept a loader which comes
34939 back to GRUB when a loaded image exits. Also, this change adds
34940 support for a chainloader on EFI.
34941
34942 * term/efi/console.c: Include grub/misc.h.
34943 (grub_console_checkkey): Display a scan code on the top for
34944 debugging. This will be removed once the EFI port gets stable.
34945 Correct the scan code mapping.
34946
34947 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
34948 allocate memory from larger regions, in order to reduce the number
34949 of allocated regions. Otherwise, the MacOSX loader panics.
34950 (filter_memory_map): Avoid less than 1MB for compatibility with
34951 other loaders.
34952 (add_memory_regions): Allocate from the tail of a region, if
34953 possible, to avoid allocating a region near to 1MB, for the MacOSX
34954 loader.
34955
34956 * kern/efi/init.c (grub_efi_set_prefix): Specify
34957 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
34958
34959 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
34960 argument IMAGE_HANDLE and specify it to get a loaded image.
34961 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
34962 grub_efi_get_loaded_image.
34963 (grub_efi_get_filename): Divide the length by the size of
34964 grub_efi_char16_t.
34965 (grub_efi_get_device_path): New function.
34966 (grub_efi_print_device_path): Print End Device Path nodes. Divide
34967 the length by the size of grub_efi_char16_t for a file path device
34968 path node.
34969
34970 * kern/loader.c (grub_loader_noreturn): New variable.
34971 (grub_loader_set): Accept a new argument NORETURN. Set
34972 GRUB_LOADER_NORETURN to NORETURN.
34973 All callers changed.
34974 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
34975 grub_machine_fini.
34976
34977 * include/grub/efi/efi.h (grub_efi_get_device_path): New
34978 prototype.
34979 (grub_efi_get_loaded_image): Take an argument to specify an image
34980 handle.
34981
34982 * include/grub/loader.h (grub_loader_set): Added one more argument
34983 NORETURN.
34984
34985 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
34986 instead of grub_efi_open_protocol.
34987 (grub_efidisk_get_device_name): Likewise.
34988 (grub_efidisk_close): Print a newline.
34989 (grub_efidisk_get_device_handle): Fixed to use
34990 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
34991 GRUB_EFI_DEVICE_PATH_TYPE.
34992
34993 * disk/efi/efidisk.c (device_path_guid): Moved to ...
34994 * kern/efi/efi.c (device_path_guid): ... here.
34995
34996 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
34997 chain.mod.
34998 (kernel_mod_HEADERS): Added efi/disk.h.
34999 (_chain_mod_SOURCES): New variable.
35000 (_chain_mod_CFLAGS): Likewise.
35001 (_chain_mod_LDFLAGS): Likewise.
35002 (chain_mod_SOURCES): Likewise.
35003 (chain_mod_CFLAGS): Likewise.
35004 (chain_mod_LDFLAGS): Likewise.
35005
35006 * DISTLIST: Added include/grub/efi/chainloader.h,
35007 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
35008
35009 * include/grub/efi/chainloader.h: New file.
35010 * loader/efi/chainloader.c: Likewise.
35011 * loader/efi/chainloader_normal.c: Likewise.
35012
35013 2006-04-30 Marco Gerards <marco@gnu.org>
35014
35015 * commands/configfile.c (grub_cmd_source): New function.
35016 (GRUB_MOD_INIT): Register the commands `source' and `.'.
35017 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
35018
35019 2006-04-30 Marco Gerards <marco@gnu.org>
35020
35021 * normal/execute.c (grub_script_execute_cmd): Change the return
35022 type to `grub_err_t'. Correctly return the error.
35023 (grub_script_execute_cmdline): In case a command line is not a
35024 command or a function, try to interpret it as an assignment.
35025
35026 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
35027
35028 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
35029 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
35030 skip a node whose name is obviously invalid as UTF-16,
35031 i.e. contains a NUL character. Stop the iteration when the last
35032 directory entry is found. Instead of using the return value of
35033 grub_hfsplus_btree_iterate_node, store the value in RET and use
35034 it, because the iterator can be stopped by the last directory
35035 entry.
35036
35037 2006-04-30 Marco Gerards <marco@gnu.org>
35038
35039 * include/grub/env.h (grub_env_export): New prototype. Reported
35040 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
35041
35042 2006-04-30 Marco Gerards <marco@gnu.org>
35043
35044 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
35045 size of the extents in a catalog file record.
35046
35047 2006-04-29 Marco Gerards <marco@gnu.org>
35048
35049 * commands/configfile.c (grub_cmd_configfile): Execute the
35050 configfile within its own context.
35051
35052 * include/grub/env.h (grub_env_context_open): New prototype.
35053 (grub_env_context_close): Likewise.
35054
35055 * kern/env.c (grub_env): Removed.
35056 (grub_env_sorted): Likewise.
35057 (grub_env_context): New variable.
35058 (grub_env_var_context): Likewise.
35059 (grub_env_find): Search both the active context and the global
35060 context.
35061 (grub_env_context_open): New function.
35062 (grub_env_context_close): Likewise.
35063 (grub_env_insert): Likewise.
35064 (grub_env_remove): Likewise.
35065 (grub_env_export): Likewise.
35066 (grub_env_set): Changed to use helper functions to avoid code
35067 duplication.
35068 (grub_env_iterate): Rewritten so both the current context and the
35069 global context are being used.
35070
35071 * normal/command.c (export_command): New function.
35072 (grub_command_init): Register the `export' function.
35073
35074 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35075
35076 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35077 explicitly to suppress gcc's warnings.
35078 * fs/fat.c (grub_fat_find_dir): Likewise.
35079 (grub_fat_label): Likewise.
35080 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35081 (grub_xfs_mount): Likewise.
35082 (grub_xfs_label): Likewise.
35083 * fs/affs.c (grub_affs_mount): Likewise.
35084 (grub_affs_label): Likewise.
35085 (grub_affs_iterate_dir): Likewise.
35086 * fs/sfs.c (grub_sfs_mount): Likewise.
35087 (grub_sfs_iterate_dir): Likewise.
35088 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35089 * fs/hfs.c (grub_hfs_mount): Likewise.
35090 (grub_hfs_cmp_catkeys): Likewise.
35091 (grub_hfs_find_dir): Likewise.
35092 (grub_hfs_dir): Likewise.
35093 (grub_hfs_label): Likewise.
35094 * fs/jfs.c (grub_jfs_mount): Likewise.
35095 (grub_jfs_opendir): Likewise.
35096 (grub_jfs_getent): Likewise.
35097 (grub_jfs_lookup_symlink): Likewise.
35098 (grub_jfs_label): Likewise.
35099 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35100 (grub_hfsplus_iterate_dir): Likewise.
35101 (grub_hfsplus_btree_iterate_node): Made static.
35102
35103 * util/grub-emu.c (prefix): New variable.
35104 (grub_machine_set_prefix): New function.
35105 (main): Do not set the environment variable "prefix" here. Only
35106 set PREFIX, which is used later by grub_machine_set_prefix.
35107
35108 * include/grub/video.h: Do not include grub/symbol.h.
35109 (grub_video_register): Not exported. This symbol is not defined in
35110 the kernel.
35111 (grub_video_unregister): Likewise.
35112 (grub_video_iterate): Likewise.
35113 (grub_video_setup): Likewise.
35114 (grub_video_restore): Likewise.
35115 (grub_video_get_info): Likewise.
35116 (grub_video_get_blit_format): Likewise.
35117 (grub_video_set_palette): Likewise.
35118 (grub_video_get_palette): Likewise.
35119 (grub_video_set_viewport): Likewise.
35120 (grub_video_get_viewport): Likewise.
35121 (grub_video_map_color): Likewise.
35122 (grub_video_map_rgb): Likewise.
35123 (grub_video_map_rgba): Likewise.
35124 (grub_video_fill_rect): Likewise.
35125 (grub_video_blit_glyph): Likewise.
35126 (grub_video_blit_bitmap): Likewise.
35127 (grub_video_blit_render_target): Likewise.
35128 (grub_video_scroll): Likewise.
35129 (grub_video_swap_buffers): Likewise.
35130 (grub_video_create_render_target): Likewise.
35131 (grub_video_delete_render_target): Likewise.
35132 (grub_video_set_active_render_target): Likewise.
35133
35134 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35135 Undefined.
35136 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35137
35138 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35139 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35140 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35141 instead of $(srcdir)/genkernsyms.sh.
35142
35143 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35144 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35145 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35146 instead of $(srcdir)/genkernsyms.sh.
35147
35148 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35149 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35150 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35151 instead of $(srcdir)/genkernsyms.sh.
35152
35153 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35154 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35155 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35156 instead of $(srcdir)/genkernsyms.sh.
35157
35158 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35159 genkernsyms.sh.
35160
35161 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35162 genkernsyms.sh.
35163 (gensymlist.sh): New target.
35164 (genkernsyms.sh): Likewise.
35165
35166 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35167 genkernsyms.sh.in and gensymlist.sh.in.
35168
35169 * genkernsyms.sh: Removed.
35170 * gensymlist.sh: Likewise.
35171
35172 * genkernsyms.sh.in: New file.
35173 * gensymlist.sh.in: Likewise.
35174
35175 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35176
35177 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35178 clobber "prefix", since we may have already set it manually.
35179
35180 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35181
35182 * kern/misc.c (abort): New alias for grub_abort.
35183
35184 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35185
35186 A new machine-specific function "grub_machine_set_prefix" is
35187 defined. This is called after loading modules, so that a prefix
35188 initialization can use modules. Also, this change adds an
35189 intensive debugging feature for the memory manager via the
35190 configure option "--enable-mm-debug".
35191
35192 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35193 PART.LEN.
35194
35195 * kern/sparc64/ieee1275/init.c (abort): Removed.
35196 (grub_stop): Likewise.
35197 (grub_exit): New function.
35198 (grub_set_prefix): Renamed to ...
35199 (grub_machine_set_prefix): ... this.
35200 (grub_machine_init): Do not call grub_set_prefix.
35201
35202 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35203 (grub_machine_set_prefix): ... this.
35204 (grub_machine_init): Do not call grub_set_prefix.
35205
35206 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35207 (grub_machine_init): Do not set the prefix here.
35208
35209 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35210
35211 * kern/efi/init.c: Include grub/mm.h.
35212 (grub_efi_set_prefix): New function.
35213
35214 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35215 (grub_efi_get_filename): New function.
35216 (grub_print_device_path): Renamed to ...
35217 (grub_efi_print_device_path): ... this.
35218
35219 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35220 [MM_DEBUG] (grub_realloc): Likewise.
35221 [MM_DEBUG] (grub_free): Likewise.
35222 [MM_DEBUG] (grub_memalign): Likewise.
35223 [MM_DEBUG] (grub_mm_debug): New variable.
35224 [MM_DEBUG] (grub_debug_malloc): New function.
35225 [MM_DEBUG] (grub_debug_free): New function.
35226 [MM_DEBUG] (grub_debug_realloc): New function.
35227 [MM_DEBUG] (grub_debug_memalign): New function.
35228
35229 * kern/misc.c (grub_abort): Print a newline to distinguish
35230 the message.
35231
35232 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35233 grub_set_root_dev after loading modules. This is necessary when
35234 setting a prefix depends on modules.
35235
35236 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35237 (grub_efi_print_device_path): ... this.
35238 (grub_efi_get_filename): New prototype.
35239 (grub_efi_set_prefix): Likewise.
35240
35241 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35242 and grub/disk.h.
35243 (grub_efidisk_get_device_handle): New prototype.
35244 (grub_efidisk_get_device_name): Likewise.
35245
35246 * include/grub/mm.h: Include config.h.
35247 (MM_DEBUG): Removed.
35248 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35249 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35250 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35251 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35252 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35253 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35254 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35255 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35256 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35257
35258 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35259
35260 * disk/efi/efidisk.c: Include grub/partition.h.
35261 (iterate_child_devices): New function.
35262 (add_device): First, compare only last device path nodes, so that
35263 devices are sorted by the types.
35264 (grub_efidisk_get_device_handle): New function.
35265 (grub_efidisk_get_device_name): Likewise.
35266
35267 * configure.ac (--enable-mm-debug): New option to enable the
35268 memory manager debugging feature. This makes the binary much
35269 bigger, so is disabled by default.
35270
35271 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35272
35273 Use grub_abort instead of grub_stop, and grub_exit must be
35274 define in each architecture now. Also, this change adds support
35275 for EFI disks.
35276
35277 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35278 (grub_getkey): New function.
35279 (grub_term_get_current): Likewise.
35280
35281 * util/i386/pc/grub-setup.c: Include grub/term.h.
35282 (grub_getkey): New function.
35283 (grub_term_get_current): Likewise.
35284
35285 * util/misc.c (grub_stop): Renamed to ...
35286 (grub_exit): ... this.
35287
35288 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35289 (grub_exit): ... this.
35290 (grub_machine_init): Use grub_abort instead of abort.
35291 (grub_stop): Removed.
35292
35293 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35294 abort.
35295
35296 * kern/i386/pc/startup.S (grub_exit): New function.
35297 (cold_reboot): New label.
35298
35299 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35300 (grub_efi_init): Call grub_efidisk_init.
35301 (grub_efi_fini): Call grub_efidisk_fini.
35302
35303 * kern/efi/efi.c: Include grub/mm.h.
35304 (grub_efi_console_control_guid): Renamed to ...
35305 (console_control_guid): ... this.
35306 (grub_efi_loaded_image_guid): Renamed to ...
35307 (loaded_image_guid): ... this.
35308 (grub_efi_locate_handle): New function.
35309 (grub_efi_open_protocol): Likewise.
35310 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35311 GRUB_EFI_CONSOLE_CONTROL_GUID.
35312 (grub_efi_exit): Removed.
35313 (grub_stop): Likewise.
35314 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35315 (grub_exit): New function.
35316 (grub_print_device_path): Likewise.
35317
35318 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35319 (grub_enter_rescue_mode): Register "exit".
35320
35321 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35322 (grub_abort): New function.
35323
35324 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35325
35326 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35327
35328 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35329
35330 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35331 (grub_print_device_path): New prototype.
35332 (grub_efi_locate_handle): Likewise.
35333 (grub_efi_open_protocol): Likewise.
35334
35335 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35336 * disk/efi/efidisk.c: Likewise.
35337
35338 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35339
35340 * include/grub/efi/console_control.h
35341 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35342
35343 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35344 last 8 bytes as an array.
35345 (GRUB_EFI_DISK_IO_GUID): New macro.
35346 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35347 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35348 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35349 grub_uint8_t.
35350 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35351 (struct grub_efi_device_path): Rename the member "sub_type" to
35352 "subtype".
35353 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35354 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35355 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35356 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35357 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35358 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35359 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35360 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35361 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35362 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35363 (struct grub_efi_pci_device_path): New structure.
35364 (grub_efi_pci_device_path_t): New type.
35365 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35366 (struct grub_efi_pccard_device_path): New structure.
35367 (grub_efi_pccard_device_path_t): New type.
35368 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35369 (struct grub_efi_memory_mapped_device_path): New structure.
35370 (grub_efi_memory_mapped_device_path_t): New type.
35371 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35372 (struct grub_efi_vendor_device_path): New structure.
35373 (grub_efi_vendor_device_path_t): New type.
35374 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35375 (struct grub_efi_controller_device_path): New structure.
35376 (grub_efi_controller_device_path_t): New type.
35377 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35378 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35379 (struct grub_efi_acpi_device_path): New structure.
35380 (grub_efi_acpi_device_path_t): New type.
35381 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35382 (struct grub_efi_expanded_acpi_device_path): New structure.
35383 (grub_efi_expanded_acpi_device_path_t): New type.
35384 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35385 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35386 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35387 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35388 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35389 (struct grub_efi_atapi_device_path): New structure.
35390 (grub_efi_atapi_device_path_t): New type.
35391 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35392 (struct grub_efi_fibre_channel_device_path): New structure.
35393 (grub_efi_fibre_channel_device_path_t): New type.
35394 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35395 (struct grub_efi_1394_device_path): New structure.
35396 (grub_efi_1394_device_path_t): New type.
35397 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35398 (struct grub_efi_usb_device_path): New structure.
35399 (grub_efi_usb_device_path_t): New type.
35400 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35401 (struct grub_efi_usb_class_device_path): New structure.
35402 (grub_efi_usb_class_device_path_t): New type.
35403 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35404 (struct grub_efi_i2o_device_path): New structure.
35405 (grub_efi_i2o_device_path_t): New type.
35406 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35407 (struct grub_efi_mac_address_device_path): New structure.
35408 (grub_efi_mac_address_device_path_t): New type.
35409 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35410 (struct grub_efi_ipv4_device_path): New structure.
35411 (grub_efi_ipv4_device_path_t): New type.
35412 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35413 (struct grub_efi_ipv6_device_path): New structure.
35414 (grub_efi_ipv6_device_path_t): New type.
35415 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35416 (struct grub_efi_infiniband_device_path): New structure.
35417 (grub_efi_infiniband_device_path_t): New type.
35418 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35419 (struct grub_efi_uart_device_path): New structure.
35420 (grub_efi_uart_device_path_t): New type.
35421 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35422 (struct grub_efi_vendor_messaging_device_path): New structure.
35423 (grub_efi_vendor_messaging_device_path_t): New type.
35424 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35425 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35426 (struct grub_efi_hard_drive_device_path): New structure.
35427 (grub_efi_hard_drive_device_path_t): New type.
35428 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35429 (struct grub_efi_cdrom_device_path): New structure.
35430 (grub_efi_cdrom_device_path_t): New type.
35431 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35432 (struct grub_efi_vendor_media_device_path): New structure.
35433 (grub_efi_vendor_media_device_path_t): New type.
35434 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35435 (struct grub_efi_file_path_device_path): New structure.
35436 (grub_efi_file_path_device_path_t): New type.
35437 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35438 (struct grub_efi_protocol_device_path): New structure.
35439 (grub_efi_protocol_device_path_t): New type.
35440 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35441 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35442 (struct grub_efi_bios_device_path): New structure.
35443 (grub_efi_bios_device_path_t): New type.
35444 (struct grub_efi_disk_io): New structure.
35445 (grub_efi_disk_io_t): New type.
35446 (struct grub_efi_block_io_media): New structure.
35447 (grub_efi_block_io_media_t): New type.
35448 (struct grub_efi_block_io): New structure.
35449 (grub_efi_block_io_t): New type.
35450
35451 * include/grub/misc.h (grub_stop): Removed.
35452 (grub_exit): New prototype.
35453 (grub_abort): Likewise.
35454
35455 * include/grub/disk.h (enum grub_disk_dev_id): Added
35456 GRUB_DISK_DEVICE_EFIDISK_ID.
35457
35458 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35459 disk/efi/efidisk.c.
35460 (kernel_syms.lst): Remove the target if an error occurs.
35461
35462 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35463
35464 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35465 as it was simply too buggy.
35466
35467 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35468
35469 * kern/misc.c (grub_lltoa): New function.
35470 (grub_vsprintf): Added support for the long long suffix,
35471 i.e. "ll".
35472
35473 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35474
35475 * Makefile.in (LDFLAGS): Add variable.
35476 (LD): Remove variable.
35477 * configure.ac: Add -m32 to LDFLAGS.
35478 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35479 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35480 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35481 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35482 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35483 variables.
35484 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35485 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35486 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35487
35488 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35489
35490 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35491 length for unknown glyph.
35492
35493 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35494
35495 Add support for pre-loaded modules into the EFI port.
35496
35497 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35498 completely. Accept one more argument DIR. The caller has changed.
35499
35500 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35501
35502 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35503 (grub_efi_loaded_image_guid): New variable.
35504 (grub_efi_get_loaded_image): New function.
35505 (grub_arch_modules_addr): Likewise.
35506
35507 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35508 prototype.
35509
35510 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35511 (struct grub_efi_loaded_image): New structure.
35512 (grub_efi_loaded_image_t): New type.
35513
35514 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35515
35516 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35517 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35518 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35519
35520 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35521
35522 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35523
35524 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35525
35526 * DISTLIST: Added include/grub/efi/console.h,
35527 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35528 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35529
35530 * include/grub/efi/console.h: New file.
35531 * include/grub/efi/time.h: Likewise.
35532 * include/grub/i386/efi/kernel.h: Likewise.
35533 * kern/efi/init.c: Likewise.
35534 * kern/efi/mm.c: Likewise.
35535 * term/efi/console.c: Likewise.
35536
35537 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35538 (grub_stop): Removed.
35539 (grub_get_rtc): Likewise.
35540 (grub_machine_init): Simply call grub_efi_init.
35541 (grub_machine_fini): Call grub_efi_fini.
35542
35543 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35544 (grub_efi_output_string): Removed.
35545 (grub_efi_stall): New function.
35546 (grub_stop): Likewise.
35547 (grub_get_rtc): Likewise.
35548
35549 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35550 (grub_efi_stall): New prototype.
35551 (grub_efi_allocate_pages): Likewise.
35552 (grub_efi_free_pages): Likewise.
35553 (grub_efi_get_memory_map): Likewise.
35554 (grub_efi_mm_init): Likewise.
35555 (grub_efi_mm_fini): Likewise.
35556 (grub_efi_init): Likewise.
35557 (grub_efi_fini): Likewise.
35558
35559 * include/grub/i386/efi/time.h: Do not include
35560 grub/symbol.h. Include grub/efi/time.h.
35561 (GRUB_TICKS_PER_SECOND): Removed.
35562 (grub_get_rtc): Likewise.
35563
35564 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35565 Added padding. The EFI spec is buggy.
35566 (GRUB_EFI_BLACK): New macro.
35567 (GRUB_EFI_BLUE): Likewise.
35568 (GRUB_EFI_GREEN): Likewise.
35569 (GRUB_EFI_CYAN): Likewise.
35570 (GRUB_EFI_RED): Likewise.
35571 (GRUB_EFI_MAGENTA): Likewise.
35572 (GRUB_EFI_BROWN): Likewise.
35573 (GRUB_EFI_LIGHTGRAY): Likewise.
35574 (GRUB_EFI_BRIGHT): Likewise.
35575 (GRUB_EFI_DARKGRAY): Likewise.
35576 (GRUB_EFI_LIGHTBLUE): Likewise.
35577 (GRUB_EFI_LIGHTGREEN): Likewise.
35578 (GRUB_EFI_LIGHTCYAN): Likewise.
35579 (GRUB_EFI_LIGHTRED): Likewise.
35580 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35581 (GRUB_EFI_YELLOW): Likewise.
35582 (GRUB_EFI_WHITE): Likewise.
35583 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35584 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35585 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35586 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35587 (GRUB_EFI_BACKGROUND_RED): Likewise.
35588 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35589 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35590 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35591 (GRUB_EFI_TEXT_ATTR): Likewise.
35592
35593 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35594 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35595 (kernel_mod_HEADERS): Added efi/time.h.
35596
35597 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35598
35599 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35600 include/grub/efi/api.h, include/grub/efi/console_control.h,
35601 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35602 include/grub/i386/efi/time.h, kern/efi/efi.c,
35603 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35604 and util/i386/efi/grub-mkimage.c.
35605
35606 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35607
35608 * genmk.rb (PModule#rule): Do not export symbols if
35609 #{prefix}_EXPORTS is set to "no".
35610
35611 * conf/i386-efi.mk: New file.
35612 * conf/i386-efi.rmk: Likewise.
35613 * include/grub/efi/api.h: Likewise.
35614 * include/grub/efi/console_control.h: Likewise.
35615 * include/grub/efi/efi.h: Likewise.
35616 * include/grub/efi/pe32.h: Likewise.
35617 * include/grub/i386/efi/time.h: Likewise.
35618 * kern/efi/efi.c: Likewise.
35619 * kern/i386/efi/init.c: Likewise.
35620 * kern/i386/efi/startup.S: Likewise.
35621 * util/i386/efi/grub-mkimage.c: Likewise.
35622
35623 2006-04-17 Marco Gerards <marco@gnu.org>
35624
35625 * include/grub/script.h: Include <grub/parser.h> and
35626 "grub_script.tab.h".
35627 (struct grub_lexer_param): New struct.
35628 (struct grub_parser_param): Likewise.
35629 (grub_script_create_arglist): Pass the state in an argument.
35630 (grub_script_add_arglist): Likewise.
35631 (grub_script_create_cmdline): Likewise.
35632 (grub_script_create_cmdblock): Likewise.
35633 (grub_script_create_cmdif): Likewise.
35634 (grub_script_create_cmdmenu): Likewise.
35635 (grub_script_add_cmd): Likewise.
35636 (grub_script_arg_add): Likewise.
35637 (grub_script_lexer_ref): Likewise.
35638 (grub_script_lexer_deref): Likewise.
35639 (grub_script_lexer_record_start): Likewise.
35640 (grub_script_lexer_record_stop): Likewise.
35641 (grub_script_mem_record): Likewise.
35642 (grub_script_mem_record_stop): Likewise.
35643 (grub_script_malloc): Likewise.
35644 (grub_script_yylex): Likewise.
35645 (grub_script_yyparse): Likewise.
35646 (grub_script_yyerror): Likewise.
35647 (grub_script_yylex): Likewise.
35648 (grub_script_lexer_init): Return the state.
35649
35650 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35651 (grub_script_lexer_done): Likewise.
35652 (grub_script_lexer_getline): Likewise.
35653 (grub_script_lexer_refs): Likewise.
35654 (script): Likewise.
35655 (newscript): Likewise.
35656 (record): Likewise.
35657 (recording): Likewise.
35658 (recordpos): Likewise.
35659 (recordlen): Likewise.
35660 (grub_script_lexer_init): Return the state instead of setting
35661 global variables.
35662 (grub_script_lexer_ref): Use the newly added argument for state
35663 instead of globals.
35664 (grub_script_lexer_deref): Likewise.
35665 (grub_script_lexer_record_start): Likewise.
35666 (grub_script_lexer_record_stop): Likewise.
35667 (recordchar): Likewise.
35668 (nextchar): Likewise.
35669 (grub_script_yylex2): Likewise.
35670 (grub_script_yylex): Likewise.
35671 (grub_script_yyerror): Likewise.
35672
35673 * normal/parser.y (func_mem): Removed variable.
35674 (menu_entry): Likewise.
35675 (err): Likewise.
35676 (%lex-param): New parser option.
35677 (%parse-param): Likewise.
35678 (script): Always return the AST.
35679 (argument): Pass the state around.
35680 (arguments): Likewise.
35681 (grubcmd): Likewise.
35682 (commands): Likewise.
35683 (function): Likewise.
35684 (menuentry): Likewise.
35685 (if_statement): Likewise.
35686 (if): Likewise.
35687
35688 * normal/script.c (grub_script_memused): Removed variable.
35689 (grub_script_parsed): Likewise.
35690 (grub_script_malloc): Added a state argument. Use that instead of
35691 global variables.
35692 (grub_script_mem_record): Likewise.
35693 (grub_script_mem_record_stop): Likewise.
35694 (grub_script_arg_add): Likewise.
35695 (grub_script_add_arglist): Likewise.
35696 (grub_script_create_cmdline): Likewise.
35697 (grub_script_create_cmdif): Likewise.
35698 (grub_script_create_cmdmenu): Likewise.
35699 (grub_script_add_cmd): Likewise.
35700 (grub_script_parse): Setup the state before calling the parser.
35701
35702 2006-04-16 Marco Gerards <marco@gnu.org>
35703
35704 * normal/command.c (grub_command_init): Remove the title command.
35705
35706 * normal/lexer.c (grub_script_yylex): Renamed from this...
35707 (grub_script_yylex2): ... to this.
35708 (grub_script_yylex): New function. Temporary
35709 introduced to filter some tokens.
35710 (grub_script_yyerror): Print a newline.
35711
35712 * normal/main.c (read_config_file): Output information about the
35713 lines that contain errors. Wait for a key after all lines have
35714 been processed. Don't return an empty menu.
35715
35716 * normal/parser.y (func_mem): Don't initialize.
35717 (menu_entry): Likewise.
35718 (err): New variable.
35719 (script): Don't return anything when an error was encountered.
35720 (ws, returns): Removed rules.
35721 (argument): Disabled concatenated variable support.
35722 (arguments): Remove explicit separators.
35723 (grubcmd): Likewise.
35724 (function): Likewise.
35725 (menuentry): Likewise.
35726 (if): Likewise.
35727 (commands): Likewise. Add error handling.
35728
35729 * normal/script.c (grub_script_create_cmdline): If
35730 `grub_script_parsed' is 0, assume the parser encountered an error.
35731
35732 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35733
35734 * configure.ac: Add support for EFI. Fix the typo
35735 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
35736
35737 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35738
35739 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
35740 foreign multibyte characters should be shown correctly.
35741
35742 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35743
35744 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
35745 calculation.
35746 (read_config_file): Made it to close file before returning.
35747
35748 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
35749
35750 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
35751 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
35752 video/i386/pc/vbefill.c.
35753
35754 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
35755 video/i386/pc/vbefill.c.
35756
35757 * include/grub/video.h (grub_video_blit_format): New enum.
35758 (grub_video_mode_info): Added new member blit_format.
35759 (grub_video_get_blit_format): New function prototype.
35760
35761 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
35762 function prototype.
35763 (grub_video_vbe_map_rgb): Likewise.
35764 (grub_video_vbe_unmap_color): Likewise.
35765
35766 * include/grub/i386/pc/vbeblit.h: New file.
35767
35768 * include/grub/i386/pc/vbefill.h: New file.
35769
35770 * video/video.c (grub_video_get_blit_format): New function.
35771 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
35772 (grub_video_vbe_map_rgb): Likewise.
35773 (grub_video_vbe_unmap_color): Likewise.
35774
35775 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
35776 optimized fills.
35777 (grub_video_vbe_blit_render_target): Changed to use more optimized
35778 blits.
35779 (grub_video_vbe_setup): Added detection for optimized settings.
35780 (grub_video_vbe_create_render_target): Likewise.
35781
35782 * video/i386/pc/vbeblit.c: New file.
35783
35784 * video/i386/pc/vbefill.c: New file.
35785
35786 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
35787
35788 * font/manager.c (grub_font_get_glyph): Removed font fixup from
35789 here...
35790
35791 * util/unifont2pff.rb: ... and moved it to here. Improved argument
35792 parsing to support both hex and dec ranges. If filename was missing
35793 show usage information.
35794
35795 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
35796
35797 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
35798 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
35799
35800 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
35801 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
35802 (video_mod_SOURCES): Added.
35803 (video_mod_CFLAGS): Likewise.
35804 (video_mod_LDFLAGS): Likewise.
35805 (gfxterm_mod_SOURCES): Likewise.
35806 (gfxterm_mod_CFLAGS): Likewise.
35807 (gfxterm_mod_LDFLAGS): Likewise.
35808 (videotest_mod_SOURCES): Likewise.
35809 (videotest_mod_CFLAGS): Likewise.
35810 (videotest_mod_LDFLAGS): Likewise.
35811 (vesafb_mod_SOURCES): Removed.
35812 (vesafb_mod_CFLAGS): Likewise.
35813 (vesafb_mod_LDFLAGS): Likewise.
35814 (vga_mod_SOURCES): Likewise.
35815 (vga_mod_CFLAGS): Likewise.
35816 (vga_mod_LDFLAGS): Likewise.
35817
35818 * commands/videotest.c: New file.
35819
35820 * font/manager.c (fill_with_default_glyph): Modified to use
35821 grub_font_glyph.
35822 (grub_font_get_glyph): Likewise.
35823 (fontmanager): Renamed from this...
35824 (font_manager): ... to this.
35825
35826 * include/grub/font.h (grub_font_glyph): Added new structure.
35827 (grub_font_get_glyph): Modified to use grub_font_glyph.
35828
35829 * include/grub/misc.h (grub_abs): Added as inline function.
35830
35831 * include/grub/video.h: New file.
35832
35833 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
35834 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
35835 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
35836 (grub_vbe_get_controller_info): Renamed from this...
35837 (grub_vbe_bios_get_controller_info): ... to this.
35838 (grub_vbe_get_mode_info): Renamed from this...
35839 (grub_vbe_bios_get_mode_info): ... to this.
35840 (grub_vbe_set_mode): Renamed from this...
35841 (grub_vbe_bios_set_mode): ... to this.
35842 (grub_vbe_get_mode): Renamed from this...
35843 (grub_vbe_bios_get_mode): ... to this.
35844 (grub_vbe_set_memory_window): Renamed from this...
35845 (grub_vbe_bios_set_memory_window): ... to this.
35846 (grub_vbe_get_memory_window): Renamed from this...
35847 (grub_vbe_bios_get_memory_window): ... to this.
35848 (grub_vbe_set_scanline_length): Renamed from this...
35849 (grub_vbe_set_scanline_length): ... to this.
35850 (grub_vbe_get_scanline_length): Renamed from this...
35851 (grub_vbe_bios_get_scanline_length): ... to this.
35852 (grub_vbe_set_display_start): Renamed from this...
35853 (grub_vbe_bios_set_display_start): ... to this.
35854 (grub_vbe_get_display_start): Renamed from this...
35855 (grub_vbe_bios_get_display_start): ... to this.
35856 (grub_vbe_set_palette_data): Renamed from this...
35857 (grub_vbe_bios_set_palette_data): ... to this.
35858 (grub_vbe_set_pixel_rgb): Removed.
35859 (grub_vbe_set_pixel_index): Likewise.
35860
35861 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
35862 from this...
35863 (grub_vbe_bios_get_controller_info): ... to this.
35864 (grub_vbe_get_mode_info): Renamed from this...
35865 (grub_vbe_bios_get_mode_info): ... to this.
35866 (grub_vbe_set_mode): Renamed from this...
35867 (grub_vbe_bios_set_mode): ... to this.
35868 (grub_vbe_get_mode): Renamed from this...
35869 (grub_vbe_bios_get_mode): ... to this.
35870 (grub_vbe_set_memory_window): Renamed from this...
35871 (grub_vbe_bios_set_memory_window): ... to this.
35872 (grub_vbe_get_memory_window): Renamed from this...
35873 (grub_vbe_bios_get_memory_window): ... to this.
35874 (grub_vbe_set_scanline_length): Renamed from this...
35875 (grub_vbe_set_scanline_length): ... to this.
35876 (grub_vbe_get_scanline_length): Renamed from this...
35877 (grub_vbe_bios_get_scanline_length): ... to this.
35878 (grub_vbe_set_display_start): Renamed from this...
35879 (grub_vbe_bios_set_display_start): ... to this.
35880 (grub_vbe_get_display_start): Renamed from this...
35881 (grub_vbe_bios_get_display_start): ... to this.
35882 (grub_vbe_set_palette_data): Renamed from this...
35883 (grub_vbe_bios_set_palette_data): ... to this.
35884 (grub_vbe_bios_get_controller_info): Fixed problem with registers
35885 getting corrupted after calling it. Added more pushes and pops.
35886 (grub_vbe_bios_set_mode): Likewise.
35887 (grub_vbe_bios_get_mode): Likewise.
35888 (grub_vbe_bios_get_memory_window): Likewise.
35889 (grub_vbe_bios_set_scanline_length): Likewise.
35890 (grub_vbe_bios_get_scanline_length): Likewise.
35891 (grub_vbe_bios_get_display_start): Likewise.
35892 (grub_vbe_bios_set_palette_data): Likewise.
35893
35894 * normal/cmdline.c (cl_set_pos): Refresh the screen.
35895 (cl_insert): Likewise.
35896 (cl_delete): Likewise.
35897
35898 * term/gfxterm.c: New file.
35899
35900 * term/i386/pc/vesafb.c: Removed file.
35901
35902 * video/video.c: New file.
35903
35904 * video/i386/pc/vbe.c (real2pm): Added new function.
35905 (grub_video_vbe_draw_pixel): Likewise.
35906 (grub_video_vbe_get_video_ptr): Likewise.
35907 (grub_video_vbe_get_pixel): Likewise
35908 (grub_video_vbe_init): Likewise.
35909 (grub_video_vbe_fini): Likewise.
35910 (grub_video_vbe_setup): Likewise.
35911 (grub_video_vbe_get_info): Likewise.
35912 (grub_video_vbe_set_palette): Likewise.
35913 (grub_video_vbe_get_palette): Likewise.
35914 (grub_video_vbe_set_viewport): Likewise.
35915 (grub_video_vbe_get_viewport): Likewise.
35916 (grub_video_vbe_map_color): Likewise.
35917 (grub_video_vbe_map_rgb): Likewise.
35918 (grub_video_vbe_map_rgba): Likewise.
35919 (grub_video_vbe_unmap_color): Likewise.
35920 (grub_video_vbe_fill_rect): Likewise.
35921 (grub_video_vbe_blit_glyph): Likewise.
35922 (grub_video_vbe_blit_bitmap): Likewise.
35923 (grub_video_vbe_blit_render_target): Likewise.
35924 (grub_video_vbe_scroll): Likewise.
35925 (grub_video_vbe_swap_buffers): Likewise.
35926 (grub_video_vbe_create_render_target): Likewise.
35927 (grub_video_vbe_delete_render_target): Likewise.
35928 (grub_video_vbe_set_active_render_target): Likewise.
35929 (grub_vbe_set_pixel_rgb): Remove function.
35930 (grub_vbe_set_pixel_index): Likewise.
35931 (index_color_mode): Remove static variable.
35932 (active_mode): Likewise.
35933 (framebuffer): Likewise.
35934 (bytes_per_scan_line): Likewise.
35935 (grub_video_vbe_adapter): Added new static variable.
35936 (framebuffer): Likewise.
35937 (render_target): Likewise.
35938 (initial_mode): Likewise.
35939 (mode_in_use): Likewise.
35940 (mode_list): Likewise.
35941
35942 2006-03-10 Marco Gerards <marco@gnu.org>
35943
35944 * configure.ac (AC_INIT): Bumped to 1.93.
35945
35946 * DISTLIST: Added `include/grub/hfs.h'.
35947
35948 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
35949
35950 * boot/i386/pc/boot.S (general_error): Before looping, try INT
35951 18H, which might help the BIOS falling back to next boot media.
35952
35953 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
35954
35955 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
35956 Poe Chen <poe.poechen@gmail.com>.
35957
35958 2006-01-17 Marco Gerards <marco@gnu.org>
35959
35960 * include/grub/normal.h: Include <grub/script.h>.
35961 (grub_command_list): Removed struct.
35962 (grub_command_list_t): Removed type.
35963 (grub_menu_entry): Remove members `num' and `command_list'. Add
35964 members `commands' and `sourcecode'.
35965 * include/grub/script.h: Add inclusion guards.
35966 (grub_script_cmd_menuentry): New struct.
35967 (grub_script_execute_menuentry): New prototype.
35968 (grub_script_lexer_record_start): Likewise.
35969 (grub_script_lexer_record_stop): Likewise.
35970 * normal/execute.c (grub_script_execute_menuentry): New function.
35971 * normal/lexer.c (record, recording, recordpos, recordlen): New
35972 variables.
35973 (grub_script_lexer_record_start): New function.
35974 (grub_script_lexer_record_stop): Likewise.
35975 (recordchar): Likewise.
35976 (nextchar): Likewise.
35977 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
35978 2048 as the buffer size. Add the tokens `menuentry' and `@'.
35979 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
35980 (current_menu): New variable.
35981 (free_menu): Mainly rewritten.
35982 (grub_normal_menu_addentry): New function.
35983 (read_config_file): Rewritten.
35984 * normal/menu.c (run_menu_entry): Mainly rewritten.
35985 * normal/menu_entry.c (make_screen): Rewritten the code to insert
35986 the menu entry.
35987 (run): Mainly rewritten.
35988 * normal/parser.y (menu_entry): New variable.
35989 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
35990 (menuentry): New rule.
35991 (command): Add `menuentry'.
35992 (if_statement): Allow additional returns before `fi'.
35993 * normal/script.c (grub_script_create_cmdmenu): New function.
35994
35995 2006-01-03 Marco Gerards <marco@gnu.org>
35996
35997 * INSTALL: GNU Bison is required.
35998 * configure.ac: Rewritten the test to detect Bison.
35999 * Makefile.in (YACC): New variable. Reported by Xun Sun
36000 <xun.sun.cn@gmail.com>.
36001
36002 2006-01-03 Marco Gerards <marco@gnu.org>
36003
36004 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
36005 the HFS+ filesystem to filesystem blocks.
36006 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
36007 GCC warning is silenced.
36008
36009 2006-01-03 Marco Gerards <marco@gnu.org>
36010
36011 * partmap/apple.c (apple_partition_map_iterate): Convert the data
36012 read from disk from big endian to host byte order.
36013
36014 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
36015
36016 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
36017 documentation.
36018 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
36019 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
36020 embedded HFS+ filesystem.
36021 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
36022 (grub_hfs_sblock): Move from here...
36023 * include/grub/hfs.h: To here... New file.
36024 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
36025 documentation.
36026 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
36027 New macros.
36028 (grub_hfsplus_volheader): Change type of member `magic' to
36029 `grub_uint16_t'.
36030 (grub_hfsplus_data): Add new member `embedded_offset'.
36031 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
36032 returned block.
36033 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
36034 Calculate the offset.
36035
36036 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36037
36038 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
36039 Removed.
36040 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
36041
36042 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36043
36044 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
36045 ENV->NAME is NULL after allocating ENV->VALUE.
36046
36047 2005-12-25 Marco Gerards <marco@gnu.org>
36048
36049 * kern/env.c (grub_env_set): Rewritten the error handling code.
36050
36051 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36052
36053 * geninit.sh: Made more robust, and more portable.
36054
36055 2005-12-25 Marco Gerards <marco@gnu.org>
36056
36057 Add support for Apple HFS+ filesystems.
36058
36059 * fs/hfsplus.c: New file.
36060
36061 * DISTLIST: Added `fs/hfsplus.c'.
36062
36063 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36064 (hfsplus_mod_SOURCES): New variable.
36065 (hfsplus_mod_CFLAGS): Likewise.
36066 (hfsplus_mod_LDFLAGS): Likewise.
36067 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36068 (grub_setup_SOURCES): Likewise.
36069 (grub_mkdevicemap_SOURCES): Likewise.
36070 (grub_emu_SOURCES): Likewise.
36071 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36072
36073 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36074
36075 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36076
36077 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36078
36079 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36080 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36081 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36082 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36083 normal/lexer.c, normal/parser.y, normal/script.c, and
36084 partmap/gpt.c.
36085 Removed kern/sparc64/cache.c.
36086
36087 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36088 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36089 grub_emu_init.c.
36090
36091 * configure.ac (AC_INIT): Bumped to 1.92.
36092
36093 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36094
36095 * kern/err.c (grub_error_push): Added new function to support error
36096 stacks.
36097 (grub_error_pop): Likewise.
36098 (grub_error_stack_items): New local variable to support error stacks.
36099 (grub_error_stack_pos): Likewise.
36100 (grub_error_stack_assert): Likewise.
36101 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36102 stack depth.
36103 (grub_print_error): Added support to print errors from error stack.
36104
36105 * include/grub/err.h (grub_error_push): Added function prototype.
36106 (grub_error_pop): Likewise.
36107
36108 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36109
36110 * configure.ac: Accept `powerpc64' as host_cpu.
36111 (amd64): Rename to `biarch32'.
36112
36113 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36114 non-cacheline-aligned addresses.
36115
36116 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36117 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36118 if `size' is non-zero.
36119
36120 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36121
36122 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36123 and `cd' to make sure the filename is not prefixed with a
36124 directory name.
36125 (pkgdata_MODULES): Add `gpt.mod'.
36126 (gpt_mod_SOURCES): New variable.
36127 (gpt_mod_CFLAGS): Likewise.
36128 (gpt_mod_LDFLAGS): Likewise.
36129
36130 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36131
36132 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36133 New macro.
36134
36135 * partmap/gpt.c: New file.
36136
36137 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36138 GPT partition map is detected.
36139
36140 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36141
36142 * commands/i386/pc/play.c: New file.
36143 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36144 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36145 macros.
36146
36147 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36148
36149 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36150 ((unused))' to silence gcc warning.
36151
36152 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36153
36154 * configure.ac: Correct `AC_PROG_YACC' test.
36155
36156 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36157
36158 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36159 check before installing files.
36160
36161 2005-11-22 Mike Small <smallm@panix.com>
36162
36163 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36164 number regex so multidigit numbers are recognized correctly.
36165
36166 2005-11-22 Mike Small <smallm@panix.com>
36167
36168 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36169 debugging message before attempting to claim memory.
36170 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36171 multiple addresses in case of failure.
36172
36173 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36174
36175 * term/tparm.c (get_space): Remove empty `if' statement.
36176
36177 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36178
36179 * kern/parser.c (check_varstate): Rename `state' to 's'.
36180
36181 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36182
36183 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36184 variable definitions to the beginning of each function. Sort stack
36185 variables by size.
36186 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36187 `buf' argument to `char *'.
36188
36189 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36190
36191 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36192 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36193 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36194 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36195 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36196 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36197 configfile.mod, search.mod, gzio.mod and test.mod.
36198 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36199 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36200 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36201 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36202 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36203 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36204 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36205 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36206 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36207 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36208 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36209 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36210 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36211 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36212 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36213 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36214 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36215 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36216 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36217 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36218 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36219 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36220 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36221
36222 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36223 `grep --include'.
36224 (pkgdata_MODULES): Add test.mod.
36225
36226 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36227
36228 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36229 appending to variables with "+=".
36230 (PModule): Use full pathname to generate *.lst filenames.
36231
36232 * Makefile.in: Fixed list rules moved from genmk.rb.
36233 (.DELETE_ON_ERROR): New special target.
36234 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36235
36236 * conf/i386-pc.rmk: Include conf/common.mk.
36237 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36238 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36239 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36240 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36241 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36242 configfile.mod, search.mod, gzio.mod and test.mod.
36243 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36244 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36245 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36246 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36247 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36248 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36249 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36250 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36251 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36252 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36253 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36254 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36255 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36256 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36257 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36258 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36259 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36260 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36261 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36262 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36263 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36264 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36265 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36266 here...
36267 * conf/common.rmk: ... to here. New file.
36268
36269 * conf/common.mk: New file.
36270
36271 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36272
36273 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36274 (grub_script.tab.c): ... here.
36275
36276 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36277 (grub_script.tab.c): ... here.
36278
36279 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36280 (grub_script.tab.c): ... here.
36281
36282 * normal/command.c (grub_command_find): Fixed a memory leak of
36283 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36284
36285 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36286
36287 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36288 "@" which marks the start of a comment on ARM.
36289 (VARIABLE): Likewise.
36290
36291 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36292
36293 Add support for Linux/ADFS partition tables.
36294
36295 * partmap/acorn.c: New file.
36296
36297 * include/grub/acorn_filecore.h: Likewise.
36298
36299 * DISTLIST: Added `partmap/acorn.c' and
36300 `include/grub/acorn_filecore.h'.
36301
36302 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36303 `partmap/acorn.c'.
36304 (pkgdata_MODULES): Add `acorn.mod'.
36305 (acorn_mod_SOURCES): New variable.
36306 (acorn_mod_CFLAGS): Likewise.
36307
36308 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36309 `partmap/acorn.c'.
36310 (pkgdata_MODULES): Add `acorn.mod'.
36311 (acorn_mod_SOURCES): New variable.
36312 (acorn_mod_CFLAGS): Likewise.
36313
36314 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36315 (pkgdata_MODULES): Add `acorn.mod'.
36316 (acorn_mod_SOURCES): New variable.
36317 (acorn_mod_CFLAGS): Likewise.
36318 (acorn_mod_LDFLAGS): Likewise.
36319
36320 * include/types.h (grub_disk_addr_t): New typedef.
36321
36322 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
36323
36324 * geninit.sh: New file.
36325
36326 * geninitheader.sh: Likewise.
36327
36328 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36329 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36330 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36331 * commands/configfile.c (grub_configfile_init)
36332 (grub_configfile_fini): Likewise.
36333 * commands/default.c (grub_default_init, grub_default_fini):
36334 Likewise.
36335 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36336 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36337 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36338 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36339 Likewise.
36340 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36341 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36342 Likewise.
36343 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
36344 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
36345 Likewise.
36346 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36347 Likewise.
36348 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
36349 Likewise.
36350 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36351 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36352 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36353 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36354 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36355 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36356 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36357 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36358 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36359 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36360 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36361 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36362 * partmap/amiga.c (grub_amiga_partition_map_init)
36363 (grub_amiga_partition_map_fini): Likewise.
36364 * partmap/apple.c (grub_apple_partition_map_init)
36365 (grub_apple_partition_map_fini): Likewise.
36366 * partmap/pc.c (grub_pc_partition_map_init)
36367 (grub_pc_partition_map_fini): Likewise.
36368 * partmap/sun.c (grub_sun_partition_map_init,
36369 grub_sun_partition_map_fini): Likewise.
36370 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36371 Likewise.
36372
36373 * util/grub-emu.c: Include <grub_modules_init.h>.
36374 (main): Don't initialize and de-initialize any modules directly,
36375 use `grub_init_all' and `grub_fini_all' instead.
36376
36377 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36378 `grub_vesafb_mod_init'.
36379 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36380 all users.
36381 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36382 `grub_vga_mod_init'. Updated all users.
36383 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
36384
36385 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36386 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36387 rules.
36388
36389 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36390 Generate a function to initialize the module in utilities.
36391 Updated all callers.
36392 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36393 initialize the module in utilities. Updated all callers.
36394
36395 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36396
36397 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36398 escape sequence and a literal ^L to clear the screen.
36399
36400 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36401 when returning from Open Firmware.
36402
36403 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36404
36405 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36406 (grub_ofconsole_height): Likewise.
36407 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36408 manually insert a '\n'.
36409 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36410 `grub_ofconsole_height'. Return early if these are already set.
36411
36412 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36413
36414 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36415 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36416 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36417 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36418 and `normal/script.c'.
36419 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36420 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36421 (test_mod_SOURCES): New variable.
36422 (test_mod_CFLAGS): Likewise.
36423 (test_mod_LDFLAGS): Likewise.
36424 (pkgdata_MODULES): Add `test.mod'.
36425 (grub_script.tab.c): New rule.
36426 (grub_script.tab.h): Likewise.
36427
36428 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
36429
36430 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36431 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36432 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36433 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36434 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36435 (test_mod_SOURCES): New variable.
36436 (test_mod_CFLAGS): Likewise.
36437 (pkgdata_MODULES): Add `test.mod'.
36438 (grub_script.tab.c): New rule.
36439 (grub_script.tab.h): Likewise.
36440
36441 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
36442
36443 Add initial scripting support.
36444
36445 * commands/test.c: New file.
36446 * include/grub/script.h: Likewise.
36447 * normal/execute.c: Likewise.
36448 * normal/function.c: Likewise.
36449 * normal/lexer.c: Likewise.
36450 * normal/parser.y: Likewise.
36451 * normal/script.c: Likewise.
36452
36453 * configure.ac: Add `AC_PROG_YACC' test.
36454
36455 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36456 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36457 `normal/function.c' and `normal/script.c'.
36458 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36459 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36460 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36461 variables.
36462 (pkgdata_MODULES): Add `test.mod'.
36463 (grub_script.tab.c): New rule.
36464 (grub_script.tab.h): Likewise.
36465
36466 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36467
36468 * include/grub/normal.h (grub_test_init): New prototype.
36469 (grub_test_fini): Likewise.
36470
36471 * normal/command.c: Include <grub/script.h>.
36472 (grub_command_execute): Rewritten.
36473
36474 * util/grub-emu.c (main): Call `grub_test_init' and
36475 `grub_test_fini'.
36476
36477 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36478
36479 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36480 to 0.
36481 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36482 there are no pending characters.
36483
36484 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36485
36486 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36487 `grub_strndup' to drop device arguments. Replace unnecessary
36488 `grub_strndup' with `grub_strdup'.
36489
36490 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36491
36492 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36493 `debug' environment variable has been set.
36494
36495 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
36496
36497 * Makefile.in (install-local): Use $(DATA).
36498 (uninstall): Likewise.
36499 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36500 (sbin_UTILITIES): ... to here.
36501 (sbin_SCRIPTS): New variable.
36502 (grub_install_SOURCES): New variable.
36503 * util/powerpc/ieee1275/grub-install.in: New file.
36504 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36505 variable.
36506 (add_segments): Call `grub_util_get_path'.
36507
36508 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36509
36510 From Timothy Baldwin:
36511 * commands/ls.c (grub_ls_list_files): Close FILE with
36512 grub_file_close.
36513 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36514
36515 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
36516
36517 * include/grub/parser.h: New file.
36518
36519 * kern/parser.c: Likewise.
36520
36521 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36522 (grub_setup_SOURCES): Likewise.
36523 (grub_probefs_SOURCES): Likewise.
36524 (grub_emu_SOURCES): Likewise.
36525 (kernel_img_HEADERS): Add `parser.h'.
36526
36527 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36528 (grub_emu_SOURCES): Add `kern/parser.c'.
36529 (grubof_SOURCES): Likewise.
36530
36531 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36532 (grubof_SOURCES): Add `kern/parser.c'.
36533
36534 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36535
36536 * kern/misc.c (grub_split_cmdline): Removed function.
36537
36538 * kern/rescue.c: Include <grub/parser.h>.
36539 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36540 of `grub_split_cmdline'.
36541
36542 * normal/command.c: Include <grub/parser.h>.
36543 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36544 of `grub_split_cmdline'.
36545
36546 * normal/completion.c: Include <grub/parser.h>.
36547 (cmdline_state): New variable.
36548 (iterate_dir): End the filename with a quote depending on the
36549 command line state.
36550 (get_state): new function.
36551 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36552 split the arguments and determine the current argument. When the
36553 argument string is not quoted, escape all spaces.
36554
36555 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36556
36557 * normal/sparc64/setjmp.S: New file.
36558
36559 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36560
36561 * include/grub/sparc64/libgcc.h: New file.
36562 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36563 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36564 normal/sparc64/setjmp.c.
36565
36566 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36567
36568 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36569 * kern/sparc64/cache.S: New file.
36570 * kern/sparc64/cache.c: Removed.
36571 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36572 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36573 -mtune=ultrasparc.
36574 (COMMON_LDFLAGS): Add -melf64_sparc.
36575 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36576 (grubof_SOURCES): Use cache.S instead of cache.c.
36577 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36578 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36579 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36580 commented though.
36581 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36582 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36583 (linux_mod_CFLAGS): Commented out.
36584 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36585 out because module isn't built.
36586 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36587 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36588 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36589 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36590 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36591 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36592 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36593 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36594 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36595 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36596 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36597 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36598 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36599 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36600
36601 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36602
36603 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36604 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36605 longer, because HFS should not be used on PC.
36606
36607 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36608
36609 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36610 consistently within the loop.
36611
36612 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
36613
36614 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36615 directory can not be read.
36616
36617 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36618
36619 * configure.ac (AC_INIT): Increase the version number to 1.91.
36620
36621 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36622 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36623 term/i386/pc/serial.c.
36624
36625 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36626
36627 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36628 file size must be permitted.
36629
36630 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36631 between %ah and %al.
36632
36633 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36634
36635 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36636 grub_uint64_t.
36637 Call the hook with a NUL-terminated filename.
36638 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36639 grub_cpu_to_be32.
36640
36641 * kern/term.c (cursor_state): New variable.
36642 (grub_term_set_current): Reset the cursor state on a new
36643 terminal.
36644 (grub_setcursor): Rewritten to use CURSOR_STATE.
36645 (grub_getcursor): New function.
36646
36647 * include/grub/term.h (grub_getcursor): New prototype.
36648
36649 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36650 integers on ARM. Reported by Timothy Baldwin
36651 <T.E.Baldwin99@members.leeds.ac.uk>.
36652
36653 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
36654
36655 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36656 allocated.
36657 (grub_sfs_dir): Likewise.
36658
36659 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
36660
36661 Add support for the SFS filesystem.
36662
36663 * fs/sfs.c: New file.
36664
36665 * DISTLIST: Added `fs/sfs.c'.
36666
36667 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36668 (grub_probefs_SOURCES): Likewise.
36669 (grub_emu_SOURCES): Likewise.
36670 (pkgdata_MODULES): Add `sfs.mod'.
36671 (sfs_mod_SOURCES): New variable.
36672 (sfs_mod_CFLAGS): Likewise.
36673 (sfs_mod_LDFLAGS): Likewise.
36674
36675 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36676 (pkgdata_MODULES): Add `sfs.mod'.
36677 (sfs_mod_SOURCES): New variable.
36678 (sfs_mod_CFLAGS): Likewise.
36679
36680 * util/grub-emu.c (main): Call `grub_sfs_init' and
36681 `grub_sfs_fini'.
36682
36683 * include/grub/fs.h (grub_sfs_init): New prototype.
36684 (grub_sfs_fini): Likewise.
36685
36686 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
36687
36688 Add support for the AFFS filesystem.
36689
36690 * fs/affs.c: New file.
36691
36692 * DISTLIST: Added `fs/affs.c'.
36693
36694 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36695 (grub_probefs_SOURCES): Likewise.
36696 (grub_emu_SOURCES): Likewise.
36697 (pkgdata_MODULES): Add `affs.mod'.
36698 (affs_mod_SOURCES): New variable.
36699 (affs_mod_CFLAGS): Likewise.
36700 (affs_mod_LDFLAGS): Likewise.
36701
36702 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36703 (pkgdata_MODULES): Add `affs.mod'.
36704 (affs_mod_SOURCES): New variable.
36705 (affs_mod_CFLAGS): Likewise.
36706
36707 * util/grub-emu.c (main): Call `grub_affs_init' and
36708 `grub_affs_fini'.
36709
36710 * include/grub/fs.h (grub_affs_init): New prototype.
36711 (grub_affs_fini): Likewise.
36712
36713 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36714
36715 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36716
36717 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36718
36719 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36720 `-m32' to CFLAGS.
36721
36722 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36723 linking.
36724
36725 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36726 (COMMON_LDFLAGS): New variable.
36727 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36728 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36729 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36730 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36731 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36732 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36733 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
36734 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
36735 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
36736 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
36737 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36738 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36739 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
36740 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
36741 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
36742 variables.
36743 (normal_mod_ASFLAGS): Add `-m32'.
36744
36745 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
36746 (grub_host_size_t, grub_host_ssize_t): New types.
36747 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
36748 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
36749 `GRUB_HOST_SIZEOF_VOID_P'.
36750
36751 * include/grub/kernel.h (struct grub_module_header): Type of
36752 member offset changed to `grub_host_off_t'. Type of member size
36753 changed to `grub_host_size_t'.
36754 (struct grub_module_info): Type of member offset changed to
36755 `grub_host_off_t'. Type of member size changed to
36756 `grub_host_size_t'.
36757
36758 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
36759
36760 Make GRUB's kernel compliant to Multiboot Specification.
36761
36762 * kern/i386/pc/startup.S (multiboot_header): New label.
36763 (multiboot_entry): Likewise.
36764 (multiboot_trampoline): Likewise.
36765
36766 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36767 Increased to 0x4A0.
36768
36769 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
36770 put parentheses after a question mark.
36771 [!GRUB_UTIL] (my_mod): New variable.
36772
36773 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
36774
36775 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
36776
36777 Adds support for the XFS filesystem. Btrees are not supported
36778 yet.
36779
36780 * fs/xfs.c: New file.
36781
36782 * DISTLIST: Added `fs/xfs.c'.
36783
36784 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
36785 (grub_probefs_SOURCES): Likewise.
36786 (grub_emu_SOURCES): Likewise.
36787 (pkgdata_MODULES): Add `xfs.mod'.
36788 (xfs_mod_SOURCES): New variable.
36789 (xfs_mod_CFLAGS): Likewise.
36790
36791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
36792 (pkgdata_MODULES): Add `xfs.mod'.
36793 (xfs_mod_SOURCES): New variable.
36794 (xfs_mod_CFLAGS): Likewise.
36795
36796 * util/grub-emu.c (main): Call `grub_xfs_init' and
36797 `grub_xfs_fini'.
36798
36799 * include/grub/fs.h (grub_xfs_init): New prototype.
36800 (grub_xfs_fini): Likewise.
36801
36802
36803 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
36804
36805 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
36806 color modes, allow greater than 16 colors to be configured as
36807 a default palette.
36808
36809 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36810
36811 * normal/completion.c (complete_arguments): Add the qualifier
36812 const into OPTIONS.
36813
36814 From Omniflux <omniflux+lists@omniflux.com>:
36815 * include/grub/terminfo.h: New file.
36816 * include/grub/tparm.h: Likewise.
36817 * include/grub/i386/pc/serial.h: Likewise.
36818 * term/terminfo.c: Likewise.
36819 * term/tparm.c: Likewise.
36820 * term/i386/pc/serial.c: Likewise.
36821 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
36822 serial.mod.
36823 (terminfo_mod_SOURCES): New variable.
36824 (terminfo_mod_CFLAGS): Likewise.
36825 (serial_mod_SOURCES): Likewise.
36826 (serial_mod_CFLAGS): Likewise.
36827
36828 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
36829
36830 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
36831 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
36832 and kern/powerpc/ieee1275/cmain.c, respectively.
36833
36834 * boot/powerpc/ieee1275/crt0.S: Moved to ...
36835 * kern/powerpc/ieee1275/crt0.S: ... here.
36836
36837 * boot/powerpc/ieee1275/cmain.c: Moved to ...
36838 * kern/powerpc/ieee1275/cmain.c: ... here.
36839
36840 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
36841 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
36842 instead of boot/powerpc/ieee1275/crt0.S and
36843 boot/powerpc/ieee1275/cmain.c, respectively.
36844
36845 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
36846 sectors. It was not used anyway.
36847
36848 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36849
36850 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
36851 `unused parameter' warning.
36852
36853 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36854
36855 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
36856 function.
36857 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
36858 getcharwidth.
36859
36860 2005-08-28 Marco Gerards <metgerards@student.han.nl>
36861
36862 * include/grub/normal.h (enum grub_completion_type): Added
36863 `GRUB_COMPLETION_TYPE_ARGUMENT'.
36864
36865 * normal/cmdline.c (print_completion): Handle
36866 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
36867 * normal/menu_entry.c (store_completion): Likewise.
36868
36869 * normal/completion.c (complete_arguments): New function.
36870 (grub_normal_do_completion): Call `complete_arguments' when the
36871 current words start with a dash.
36872
36873 2005-08-27 Marco Gerards <metgerards@student.han.nl>
36874
36875 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
36876 `gzio.mod' instead of `io.mod').
36877
36878 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
36879
36880 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
36881 (DISTDIRS): Added io and video.
36882 Rewrite the search routine to make an output consistently.
36883
36884 * DISTLIST: Added conf/sparc64-ieee1275.mk,
36885 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
36886 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
36887 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
36888 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
36889 util/powerpc/ieee1275/misc.c.
36890
36891 * include/grub/gzio.h: New file.
36892 * io/gzio.c: Likewise.
36893
36894 * kern/file.c (grub_file_close): Call grub_device_close only if
36895 FILE->DEVICE is not NULL.
36896
36897 * include/grub/mm.h [!NULL] (NULL): New macro.
36898
36899 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
36900
36901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
36902 (pkgdata_MODULES): Added gzio.mod.
36903 (gzio_mod_SOURCES): New variable.
36904 (gzio_mod_CFLAGS): Likewise.
36905
36906 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
36907 (pkgdata_MODULES): Added gzio.mod.
36908 (gzio_mod_SOURCES): New variable.
36909 (gzio_mod_CFLAGS): Likewise.
36910
36911 * commands/cat.c: Include grub/gzio.h.
36912 (grub_cmd_cat): Use grub_gzfile_open instead of
36913 grub_file_open.
36914
36915 * commands/cmp.c: Include grub/gzio.h.
36916 (grub_cmd_cmp): Use grub_gzfile_open instead of
36917 grub_file_open.
36918
36919 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
36920 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
36921 grub_file_open.
36922 (grub_rescue_cmd_module): Likewise.
36923
36924 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36925
36926 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
36927 kern/sparc64/ieee1275/init.c because it contains _start.
36928 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
36929
36930 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36931
36932 * configure.ac: Add support for sparc64 host with ieee1275
36933 firmware.
36934 * configure: Generated from configure.ac.
36935 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
36936 instead of int.
36937 (grub_ofdisk_read): Likewise.
36938 (grub_ofdisk_open): Use %p to print pointer values, and cast the
36939 pointers as (void *) to remove a warning.
36940 (grub_ofdisk_close): Likewise.
36941 (grub_ofdisk_read): Likewise.
36942 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
36943 returns, so make it return void to remove a warning.
36944 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
36945 Corresponding prototype change.
36946 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
36947 values, and cast the pointers as (void *) to remove a warning.
36948 (grub_mm_dump): Likewise.
36949 * conf/sparc64-ieee1275.mk: New file.
36950 * conf/sparc64-ieee1275.rmk: Likewise.
36951 * include/grub/sparc64/setjmp.h: Likewise.
36952 * include/grub/sparc64/types.h: Likewise.
36953 * include/grub/sparc64/ieee1275/console.h: Likewise.
36954 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36955 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36956 * include/grub/sparc64/ieee1275/time.h: Likewise.
36957 * kern/sparc64/cache.c: Likewise.
36958 * kern/sparc64/dl.c: Likewise.
36959 * kern/sparc64/ieee1275/init.c: Likewise.
36960 * kern/sparc64/ieee1275/openfw.c: Likewise.
36961
36962 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36963
36964 * util/console.c (grub_ncurses_putchar): If C is greater than
36965 0x7f, set C to a question mark.
36966 (grub_ncurses_getcharwidth): New function.
36967 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
36968 getcharwidth.
36969
36970 * normal/menu.c (print_entry): Made aware of Unicode. First,
36971 convert TITLE to UCS-4, and predict the cursor position by
36972 grub_getcharwidth.
36973
36974 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
36975 const to SRC.
36976 * kern/misc.c (grub_utf16_to_utf8): Likewise.
36977
36978 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36979
36980 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
36981 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36982 grub_strcat.
36983
36984 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
36985 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36986 grub_strcpy and grub_strlen. Take it into account that a space
36987 character is inserted as a delimiter.
36988
36989 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36990
36991 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
36992 invalid magic in the error.
36993
36994 * commands/search.c: New file.
36995
36996 * util/grub-emu.c (main): Call grub_search_init and
36997 grub_search_fini.
36998
36999 * kern/rescue.c (grub_rescue_print_disks): Removed.
37000 (grub_rescue_print_devices): New function.
37001 (grub_rescue_cmd_ls): Use grub_device_iterate with
37002 grub_rescue_print_devices instead of grub_disk_dev_iterate with
37003 grub_rescue_print_disks.
37004
37005 * kern/partition.c (grub_partition_iterate): Return the result of
37006 PARTMAP->ITERATE instead of GRUB_ERRNO.
37007
37008 * kern/device.c: Include grub/partition.h.
37009 (grub_device_iterate): New function.
37010
37011 * include/grub/partition.h (grub_partition_iterate): Return int
37012 instead of grub_err_t.
37013
37014 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
37015 prototype.
37016 [GRUB_UTIL] (grub_search_fini): Likewise.
37017
37018 * include/grub/device.h (grub_device_iterate): New prototype.
37019
37020 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37021 commands/search.c.
37022 (pkgdata_MODULES): Added search.mod.
37023 (search_mod_SOURCES): New variable.
37024 (search_mod_CFLAGS): Likewise.
37025
37026 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
37027 (pkgdata_MODULES): Added search.mod.
37028 (search_mod_SOURCES): New variable.
37029 (search_mod_CFLAGS): Likewise.
37030
37031 * commands/ls.c (grub_ls_list_disks): Renamed to ...
37032 (grub_ls_list_devices): ... this, and use grub_device_iterate.
37033 All callers changed.
37034
37035 * DISTLIST: Added commands/search.c.
37036
37037 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
37038
37039 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
37040 conversion.
37041 (grub_getcharwidth): New function.
37042
37043 * kern/misc.c (grub_utf8_to_ucs4): New function.
37044
37045 * include/grub/term.h (struct grub_term): Added a new member
37046 "getcharwidth".
37047 (grub_getcharwidth): New prototype.
37048
37049 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
37050
37051 * term/i386/pc/console.c (map_char): New function. Segregated from
37052 grub_console_putchar.
37053 (grub_console_putchar): Use map_char.
37054 (grub_console_getcharwidth): New function.
37055 (grub_console_term): Specified grub_console_getcharwidth as
37056 getcharwidth.
37057
37058 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37059 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37060
37061 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37062 GRUB_ERRNO.
37063 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37064 on grub_strtoul completely.
37065 (write_char): Declare local variables in the beginning of the
37066 function.
37067 (grub_vesafb_getcharwidth): New function.
37068 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37069 getcharwidth.
37070
37071 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37072
37073 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37074 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37075 commands/i386/pc/vbetest.c.
37076
37077 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37078 call grub_vbe_get_controller_info again, because the returned
37079 information is volatile.
37080 (grub_vbe_set_video_mode): Mostly rewritten.
37081 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37082 grub_vbe_status_t correctly.
37083 (grub_vbe_get_video_mode_info): Likewise.
37084 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37085 several if statements.
37086
37087 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37088 * commands/i386/pc/vbeinfo.c: ... this.
37089
37090 * commands/i386/pc/vbe_test.c: Renamed to ...
37091 * commands/i386/pc/vbetest.c: ... this.
37092
37093 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37094 ...
37095 (grub_cmd_vbeinfo): ... this. Save video modes before
37096 iterating. Skip a video mode, if it is not available, not enough
37097 information is given or it is monochrome. Show the memory
37098 model. Leave the interpretation of MODEVAR to grub_strtoul
37099 completely.
37100 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37101 (GRUB_MOD_FINI): Likewise.
37102
37103 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37104 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37105 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37106 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37107 grub_strtoul completely.
37108 (real2pm): Removed.
37109 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37110 (GRUB_MOD_FINI): Likewise.
37111
37112 * normal/misc.c: Include grub/mm.h.
37113
37114 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37115 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37116 (vbe_list_modes_mod_SOURCES): Removed.
37117 (vbe_list_modes_mod_CFLAGS): Likewise.
37118 (vbe_test_mod_SOURCES): Likewise.
37119 (vbe_test_mod_CFLAGS): Likewise.
37120 (vbeinfo_mod_SOURCES): New variable.
37121 (vbeinfo_mod_CFLAGS): Likewise.
37122 (vbetest_mod_SOURCES): Likewise.
37123 (vbetest_mod_CFLAGS): Likewise.
37124
37125 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37126
37127 * normal/misc.c: New file.
37128
37129 * DISTLIST: Added normal/misc.c.
37130
37131 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37132 DISK to HOOK. Call HOOK with DISK.
37133 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37134 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37135 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37136
37137 * normal/menu_entry.c (struct screen): Added a new member
37138 "completion_shown".
37139 (completion_buffer): New global variable.
37140 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37141 (store_completion): New function.
37142 (complete): Likewise.
37143 (clear_completions): Likewise.
37144 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37145 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37146 a tab, call complete.
37147
37148 * normal/completion.c (disk_dev): Removed.
37149 (print_simple_completion): Likewise.
37150 (print_partition_completion): Likewise.
37151 (print_func): New global variable.
37152 (add_completion): Do not take the arguments WHAT or PRINT any
37153 longer. Added a new argument TYPE. Instead of printing directly,
37154 call PRINT_FUNC if not NULL.
37155 All callers changed.
37156 (complete_device): Use a local variable DEV instead of
37157 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37158 (grub_normal_do_completion): Take a new argument HOOK. Do not
37159 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37160 empty string, return NULL instead.
37161 All callers changed.
37162
37163 * normal/cmdline.c (print_completion): New function.
37164
37165 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37166 to HOOK.
37167 All callers changed.
37168
37169 * kern/disk.c (grub_print_partinfo): Removed.
37170
37171 * include/grub/partition.h (struct grub_partition_map): Add a new
37172 argument DISK into HOOK of ITERATE.
37173 (grub_partition_iterate): Add a new argument DISK to HOOK.
37174
37175 * include/grub/normal.h (enum grub_completion_type): New enum.
37176 (grub_completion_type_t): New type.
37177 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37178 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37179 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37180 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37181 (grub_normal_do_completion): Added a new argument HOOK.
37182 (grub_normal_print_device_info): New prototype.
37183
37184 * include/grub/disk.h (grub_print_partinfo): Removed.
37185
37186 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37187 (normal_mod_SOURCES): Likewise.
37188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37189 (normal_mod_SOURCES): Likewise.
37190
37191 * commands/ls.c (grub_ls_list_disks): Use
37192 grub_normal_print_device_info instead of grub_print_partinfo. Free
37193 PNAME.
37194 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37195 duplicating the code.
37196
37197 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37198
37199 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37200 follow GCS more precisely.
37201 * commands/i386/pc/vbe_test.c: Likewise.
37202 * include/grub/i386/pc/vbe.h: Likewise.
37203 * term/i386/pc/vesafb.c: Likewise.
37204 * video/i386/pc/vbe.c: Likewise.
37205
37206 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37207
37208 * DISTLIST: Added term/i386/pc/vesafb.c
37209 DISTLIST: Added video/i386/pc/vbe.c
37210 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37211 DISTLIST: Added commands/i386/pc/vbe_test.c.
37212 * commands/i386/pc/vbe_list_modes.c: New file.
37213 * commands/i386/pc/vbe_test.c: Likewise.
37214 * term/i386/pc/vesafb.c: Likewise.
37215 * video/i386/pc/vbe.c: Likewise.
37216 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37217 (grub_vbe_probe) Added prototype.
37218 (grub_vbe_set_video_mode) Likewise.
37219 (grub_vbe_get_video_mode) Likewise.
37220 (grub_vbe_get_video_mode_info) Likewise.
37221 (grub_vbe_set_pixel_rgb) Likewise.
37222 (grub_vbe_set_pixel_index) Likewise.
37223 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37224 (pkgdata_MODULES): Added vesafb.mod.
37225 (pkgdata_MODULES): Added vbe_list_modes.mod.
37226 (pkgdata_MODULES): Added vbe_test.mod.
37227 (vbe_mod_SOURCES): Added.
37228 (vbe_mod_CFLAGS): Likewise.
37229 (vesafb_mod_SOURCES): Likewise.
37230 (vesafb_mod_CFLAGS): Likewise.
37231 (vbe_list_modes_mod_SOURCES): Likewise.
37232 (vbe_list_modes_mod_CFLAGS): Likewise.
37233 (vbe_test_mod_SOURCES): Likewise.
37234 (vbe_test_mod_CFLAGS): Likewise.
37235
37236 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37237
37238 * normal/command.c (grub_command_execute): If INTERACTIVE is
37239 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37240 CMDLINE. Disable the pager if INTERACTIVE is true.
37241 All callers are changed.
37242
37243 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37244 before reading a config file.
37245 * normal/main.c (read_config_file): Even if a command is not
37246 found, register it if it is within an entry.
37247
37248 * util/grub-emu.c: Include sys/types.h and unistd.h.
37249 (options): Added --hold.
37250 (struct arguments): Added a new member "hold".
37251 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37252 missing.
37253 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37254 cleared by a debugger, if it is not zero.
37255
37256 * include/grub/normal.h (grub_command_execute): Add an argument
37257 INTERACTIVE.
37258
37259 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37260
37261 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37262
37263 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37264
37265 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37266 program with another one, because the old one didn't detect a bug
37267 in gcc-3.4. Always use regparm 2, because the new test is still
37268 not enough for gcc-4.0. Someone must investigate a simple test
37269 case which detects a bug in gcc-4.0.
37270
37271 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37272
37273 * DISTLIST: Added normal/completion.c.
37274
37275 * normal/completion.c: New file.
37276
37277 * term/i386/pc/console.c (grub_console_getwh): New function.
37278 (grub_console_term): Assign grub_console_getwh to getwh.
37279
37280 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37281 function is defined in normal/completion.c as
37282 grub_normal_do_completion.
37283 (grub_cmdline_get): Use grub_normal_do_completion instead of
37284 grub_tab_complete.
37285
37286 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37287 returns non-zero, otherwise return 0.
37288 (grub_partition_iterate): First, probe the partition map. Then,
37289 call ITERATE only for this partition map.
37290
37291 * kern/misc.c (grub_strncmp): Rewritten.
37292
37293 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37294 returns non-zero. Otherwise return 0.
37295
37296 * include/grub/partition.h (grub_partition_map_iterate): Return
37297 int instead of void.
37298
37299 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37300
37301 * include/grub/misc.h (grub_strncmp): Change the type of N to
37302 grub_size_t.
37303
37304 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37305 of void.
37306
37307 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
37308 unsigned explicitly before comparing it with I.
37309
37310 * kern/main.c (grub_env_write_root): Add the attribute unused into
37311 VAR.
37312
37313 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37314 normal/completion.c.
37315 (normal_mod_SOURCES): Likewise.
37316 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37317 (normal_mod_SOURCES): Likewise.
37318
37319 * normal/command.c (grub_iterate_commands): If ITERATE returns
37320 non-zero, return one immediately.
37321
37322 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37323
37324 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37325 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37326 descriptions.
37327 (grub_vbe_get_controller_info): New function.
37328 (grub_vbe_get_mode_info): Likewise.
37329 (grub_vbe_set_mode): Likewise.
37330 (grub_vbe_get_mode): Likewise.
37331 (grub_vbe_set_memory_window): Likewise.
37332 (grub_vbe_get_memory_window): Likewise.
37333 (grub_vbe_set_scanline_length): Likewise.
37334 (grub_vbe_get_scanline_length): Likewise.
37335 (grub_vbe_set_display_start): Likewise.
37336 (grub_vbe_get_display_start): Likewise.
37337 (grub_vbe_set_palette_data): Likewise.
37338 * include/grub/i386/pc/vbe.h: New file.
37339
37340 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37341
37342 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37343 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37344 * DISTLIST: Likewise.
37345 * kern/ieee1275/of.c: Moved to ...
37346 * kern/ieee1275/ieee1275.c: ... here.
37347
37348 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37349
37350 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37351 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37352 Pass 0 as `end' parameter to grub_strtoul().
37353
37354 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37355
37356 * include/grub/powerpc/ieee1275/console.h: Do not include
37357 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37358 ifdef.
37359 (grub_console_cur_color): Remove i386-specific prototype.
37360 (grub_console_real_putchar): Likewise.
37361 (grub_console_checkkey): Likewise.
37362 (grub_console_getkey): Likewise.
37363 (grub_console_getxy): Likewise.
37364 (grub_console_gotoxy): Likewise.
37365 (grub_console_cls): Likewise.
37366 (grub_console_setcursor): Likewise.
37367 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37368 Include <grub/machine/console.h>.
37369 * term/ieee1275/ofconsole.c: Likewise.
37370
37371 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37372
37373 * Makefile.in (LIBLZO): New variable.
37374
37375 * configure.ac: Check for LZO version 2.
37376
37377 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37378 lzo/lzo1x.h instead of lzo1x.h.
37379
37380 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37381 of -llzo.
37382
37383 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37384 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37385
37386 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37387 copying the data from PARTITION to P.
37388
37389 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37390
37391 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37392 negative, unload the module.
37393
37394 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37395 map is "pc_partition_map" but not "pc".
37396 (usage): Fix the description. The options are --boot-image and
37397 --core-image but not --boot-file or --core-file.
37398 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37399 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37400 DEFAULT_DIRECTORY.
37401
37402 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37403 --core-file. Specify INSTALL_DEVICE as an argument.
37404
37405 * util/console.c: Include config.h.
37406 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37407 [HAVE_NCURSES_H]: Include ncurses.h.
37408 [HAVE_CURSES_H]: Include curses.h.
37409 [!A_NORMAL] (A_NORMAL): Defined as zero.
37410 [!A_STANDOUT] (A_STANDOUT): Likewise.
37411
37412 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37413 -lncurses.
37414 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37415
37416 * configure.ac: Check for curses libraries and headers.
37417
37418 * Makefile.in (LIBCURSES): New variable.
37419
37420 * genmk.rb (Script::rule): Set the executable bits.
37421
37422 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37423 name of the PC partition map is "pc_partition_map" but not "pc".
37424
37425 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37426
37427 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37428 (modules): Likewise.
37429 (usage): Added descriptions for --modules and --grub-probefs.
37430 Handle --modules and --grub-probefs. Save the arguments in MODULES
37431 and GRUB_PROBEFS, respectively.
37432 Auto-detect a filesystem module against GRUBDIR. If the result is
37433 empty and modules are not specified explicitly, abort the
37434 installation. Add the result to MODULES.
37435
37436 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37437 disk/powerpc/ieee1275/ofdisk.c,
37438 include/grub/powerpc/ieee1275/init.h and
37439 term/powerpc/ieee1275/ofconsole.c.
37440 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37441 term/ieee1275/ofconsole.c.
37442
37443 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37444
37445 * COPYING: Upgraded to the latest version. Only the address of the
37446 FSF office has changed.
37447
37448 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37449
37450 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37451 kern/ieee1275.c with kern/ieee1275/of.c.
37452
37453 * kern/ieee1275.c: Moved to ...
37454 * kern/ieee1275/of.c: ... here.
37455
37456 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37457
37458 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
37459 readability.
37460
37461 * config.guess: Updated to the latest version from gnulib.
37462 * config.sub: Likewise.
37463 * install.sh: Likewise.
37464 * mkinstalldirs: Likewise.
37465
37466 * include/grub/console.h: Removed. This file is arch-specific. Do
37467 not put this in include/grub.
37468
37469 * include/grub/i386/pc/console.h: Resurrected.
37470
37471 * util/console.c: Include grub/machine/console.h instead of
37472 grub/console.h.
37473 * util/grub-emu.c: Likewise.
37474
37475 2005-08-04 Marco Gerards <metgerards@student.han.nl>
37476
37477 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37478 hardcoded value.
37479
37480 From Vincent Pelletier <subdino2004@yahoo.fr>
37481 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37482 Redefined to use grub_getwh.
37483 (grub_term): New member named getwh.
37484 (grub_getwh): New prototype.
37485 * kern/term.c (grub_getwh): New function.
37486 * term/i386/pc/console.c (grub_console_getwh): New function.
37487 (grub_console_term): New member `getwh'.
37488 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37489 (grub_vga_term): New member `getwh'.
37490 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
37491 grub_ssize_t.
37492 (grub_ofconsole_getw): New function.
37493 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37494 (grub_ofconsole_term): New field named getwh and new initial
37495 value.
37496
37497 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37498
37499 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37500 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37501 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37502 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37503 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37504 of <grub/machine/ieee1275.h>.
37505 * commands/ieee1275/reboot.c: Likewise.
37506 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37507 * kern/ieee1275.c: ... to here. All users updated. Change all
37508 parameter structs to use new type `grub_ieee1275_cell_t'.
37509 * term/powerpc/ieee1275/ofconsole.c: Move ...
37510 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37511 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37512 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37513 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37514 to return int.
37515 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37516 Remove unused prototypes. All users updated.
37517 * include/grub/powerpc/ieee1275/console.h: Removed.
37518 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37519 `grub_ieee1275_cell_t'.
37520 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37521 Cast comparisons with -1 to the correct type.
37522 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37523 type to match `grub_ieee1275_entry_fn'.
37524
37525 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37526
37527 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37528
37529 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37530 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37531 partmap/sun.c.
37532 (grub_probefs_SOURCES): New variable.
37533
37534 * util/i386/pc/grub-probefs.c: New file.
37535
37536 * util/i386/pc/grub-setup.c (main): Call
37537 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37538 grub_hfs_init and grub_jfs_init to initialize the system. Call
37539 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37540 grub_pc_partition_map_fini to finish the system.
37541
37542 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37543
37544 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37545 function.
37546 (grub_multiboot_load_elf32): Likewise.
37547 (grub_multiboot_is_elf64): Likewise.
37548 (grub_multiboot_load_elf64): Likewise.
37549 (grub_multiboot_load_elf): Likewise.
37550 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37551 an ELF32 or ELF64 file.
37552 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37553
37554 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37555 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37556 NULL before calling FS->LABEL.
37557 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37558 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37559 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37560 before calling FS->LABEL.
37561
37562 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37563
37564 * util/i386/pc/grub-install.in (datadir): New variable.
37565 (libdir): Removed.
37566 (pkgdatadir): New variable.
37567 (pkglibdir): Removed.
37568
37569 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37570
37571 * DISTLIST: Added util/i386/pc/grub-install.in.
37572
37573 * util/i386/pc/grub-install.in: New file.
37574
37575 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37576 (grub_install_SOURCES): Likewise.
37577
37578 * genmk.rb: Added support for scripts.
37579 (Script): New class.
37580 (scripts): New variable.
37581
37582 * Makefile.in (install-local): Install sbin_SCRIPTS by
37583 INSTALL_SCRIPT.
37584 (uninstall): Remove sbin_SCRIPTS.
37585
37586 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37587 device, try to get a GRUB device by
37588 grub_util_biosdisk_get_grub_dev.
37589 Free DEST_DEV.
37590
37591 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37592 description for --device-map.
37593
37594 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37595
37596 Change the semantics of variable hooks. They now return strings
37597 instead of error values.
37598
37599 * util/i386/pc/grub-setup.c: Include grub/env.h.
37600 (setup): Use grub_device_set_root instead of grub_env_set.
37601
37602 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37603 grub_env_get instead of grub_device_set_root and
37604 grub_device_get_root, respectively.
37605
37606 * kern/main.c (grub_env_write_root): New function.
37607 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37608 grub_env_set instead of grub_device_set_root.
37609
37610 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37611 many variables.
37612 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37613 rather than calling ENV->WRITE_HOOK afterwards.
37614 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37615 passing a pointer of a pointer.
37616 (grub_register_variable_hook): Change the types of "read_hook" and
37617 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37618 respectively.
37619 Allocate the default empty string on the heap, because this string
37620 may be freed later.
37621
37622 * kern/device.c: Include grub/env.h.
37623 (grub_device_set_root): Removed.
37624 (grub_device_get_root): Likewise.
37625 (grub_device_open): Use grub_env_get instead of
37626 grub_device_get_root.
37627
37628 * include/grub/env.h (grub_env_read_hook_t): New type.
37629 (grub_env_write_hook_t): Likewise.
37630 (grub_env_var): Change the types of "read_hook" and "write_hook"
37631 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37632 (grub_register_variable_hook): Likewise.
37633
37634 * include/grub/device.h (grub_device_set_root): Removed.
37635 (grub_device_set_root): Likewise.
37636
37637 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37638 make sure that DIRNAME terminates with '/', so that
37639 grub_fat_find_dir will fail if PATH is not a directory.
37640
37641 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37642 from DIRNAME.
37643 Use the qualifier auto for print_files and print_files_long.
37644 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37645 as a regular file.
37646 Put a newline only if there is no error.
37647 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37648 used.
37649
37650 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37651
37652 * kern/partition.c (grub_partition_probe): Initialize PART to
37653 NULL. Otherwise, when no partition map is registered, this returns
37654 a garbage.
37655
37656 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37657
37658 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37659 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37660 valid.
37661
37662 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37663
37664 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37665 information on each device, if it does not have partitions. Print
37666 "Device" instead of "Disk", because this function is not specific
37667 to disk devices.
37668
37669 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37670 static to ensure that it is put on the memory rather than a
37671 register.
37672
37673 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37674
37675 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37676 (grub_cat_init): Likewise.
37677 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37678 (options): Likewise.
37679 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37680 (grub_configfile_init): Likewise.
37681 * font/manager.c (GRUB_MOD_INIT): Likewise.
37682 * commands/help.c (GRUB_MOD_INIT): Likewise.
37683 (grub_help_init): Likewise.
37684 * normal/command.c (grub_command_init): Likewise.
37685 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37686 * disk/loopback.c (grub_loop_init): Likewise.
37687 (GRUB_MOD_INIT): Likewise.
37688 * commands/ls.c (grub_ls_init): Likewise.
37689 (GRUB_MOD_INIT): Likewise.
37690 (options): Likewise.
37691 * commands/boot.c (grub_boot_init): Likewise.
37692 (GRUB_MOD_INIT): Likewise.
37693 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37694 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37695 (GRUB_MOD_INIT): Likewise.
37696 * commands/cmp.c (grub_cmp_init): Likewise.
37697 (GRUB_MOD_INIT): Likewise.
37698
37699 * normal/arg.c: Use <> instead of "" to include header files.
37700 (SHORT_ARG_HELP): New macro.
37701 (SHORT_ARG_USAGE): Likewise.
37702 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37703 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37704 descriptions.
37705 (find_short): Check if C is 'h' or 'u' explicitly.
37706 (grub_arg_show_help): Use space characters instead of tabs. Treat
37707 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37708 are shown with --help and --usage only if they are not used for
37709 the command itself.
37710 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37711 'h' and 'u'.
37712
37713 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37714 const into "longarg". Change the type of "shortarg" to int.
37715
37716 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37717
37718 * boot/i386/pc/boot.S (boot_drive_check): New label.
37719
37720 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37721 macro.
37722
37723 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37724 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37725
37726 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37727
37728 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37729 When turning off Gate A20, skip the check and return immediately,
37730 because this is not fatal usually.
37731
37732 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37733
37734 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
37735 be 0x7C00 instead of 0x8000.
37736
37737 * boot/i386/pc/pxeboot.S: Rewritten.
37738
37739 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
37740 EXT_C.
37741 (gate_a20_check_state): Read a byte from 0x108000. Invert the
37742 result.
37743
37744 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
37745
37746 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
37747 robustness. This routine now supports a BIOS call and System
37748 Control Port A to modify the gate A20.
37749
37750 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37751 Increased to 0x440.
37752
37753 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
37754
37755 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
37756 device path and resulting ihandle.
37757 (grub_ofdisk_close): dprintf the ihandle being closed.
37758 (grub_ofdisk_read): dprintf function parameters.
37759 * kern/mm.c (grub_mm_init_region): Likewise.
37760 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
37761 (grub_linux_boot): dprintf the Linux entry point, initrd address and
37762 size, and boot arguments.
37763 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
37764 before loading into memory.
37765 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
37766 before loading into memory.
37767
37768 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
37769
37770 * kern/mm.c: Added much documentation.
37771 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
37772 8, set to 5 instead of 8.
37773
37774 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
37775
37776 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
37777
37778 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
37779 (grub_mkdevicemap_SOURCES): New variable.
37780
37781 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
37782 lib/device.c of GRUB Legacy.
37783
37784 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
37785
37786 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
37787 instead of PATH is NULL.
37788
37789 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
37790
37791 * commands/cmp.c (BUFFER_SIZE): New macro.
37792 (grub_cmd_cmp): Close the right file at the right time. Compare
37793 only data just read. Don't report files of different size as
37794 identical. Dynamically allocate buffers. Move variable
37795 declarations at the beginning of function.
37796
37797 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
37798
37799 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
37800 reverse.
37801
37802 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
37803
37804 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
37805 when backspace is pressed at beginning of line.
37806
37807 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
37808
37809 * DISTLIST: Added genfslist.sh.
37810
37811 * normal/main.c (fs_module_list): New variable.
37812 (autoload_fs_module): New function.
37813 (read_fs_list): Likewise.
37814 (grub_normal_execute): Call read_fs_list.
37815
37816 * kern/fs.c (grub_fs_autoload_hook): New variable.
37817 (grub_fs_probe): Added support for auto-loading.
37818
37819 * include/grub/normal.h (struct grub_fs_module_list): New struct.
37820 (grub_fs_module_list_t): New type.
37821
37822 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
37823 (grub_fs_autoload_hook): New prototype.
37824
37825 * genfslist.sh: New file.
37826
37827 * genmk.rb: Added a rule to generate a filesystem list.
37828
37829 2005-06-30 Marco Gerards <metgerards@student.han.nl>
37830
37831 * configure.ac: Fix the test for cross-compiling.
37832
37833 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
37834 define GRUB_UTIL anymore.
37835
37836 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
37837 so this function works on other systems than just big endian.
37838 (load_modules): Likewise.
37839 (add_segments): Likewise.
37840
37841 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
37842
37843 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
37844 contains `l' modifier, get a long from va_arg().
37845
37846 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
37847
37848 * kern/mm.c (grub_free): If the next free block which is being
37849 merged is the first free block, set the first block to the block
37850 being freed.
37851 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
37852
37853 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37854
37855 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
37856 `grub_ieee1275_chosen'.
37857
37858 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37859
37860 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
37861 (grub_ieee1275_chosen): New variable.
37862 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
37863 `chosen'.
37864 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
37865 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37866 Rename first argument to `phandle' for consistency.
37867 (grub_ieee1275_get_property_length): Likewise.
37868 (grub_ieee1275_next_property): Likewise. Change type of first argument
37869 to grub_ieee1275_phandle_t.
37870 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
37871 Move export next to declaration.
37872 (grub_ieee1275_chosen): New variable.
37873 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
37874 Correct cosmetic typo.
37875 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
37876 `grub_ieee1275_chosen'.
37877 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
37878 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
37879 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
37880 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
37881 `grub_ieee1275_chosen'.
37882
37883 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
37884
37885 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
37886 /chosen/bootargs.
37887 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
37888 /chosen/bootargs as "variable=value" pairs.
37889
37890 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
37891
37892 * include/grub/misc.h (grub_dprintf): New macro.
37893 (grub_real_dprintf): New prototype.
37894 (grub_strword): Likewise.
37895 (grub_iswordseparator): Likewise.
37896 * kern/misc.c (grub_real_dprintf): New function.
37897 (grub_strword): Likewise.
37898 (grub_iswordseparator): Likewise.
37899
37900 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
37901
37902 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
37903 (roundup): Remove macro.
37904 (grub_ieee1275_flags): Make static.
37905 (grub_ieee1275_realmode): Remove.
37906 (grub_ieee1275_test_flag): New function.
37907 (grub_ieee1275_set_flag): Likewise.
37908 (find_options): Rename to `grub_ieee1275_find_options'; update
37909 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
37910 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
37911 (cmain): New prototype.
37912 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
37913 `grub_ieee1275_flags' directly.
37914 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
37915 machine/biosdisk.h.
37916 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
37917 Don't include grub/machine/init.h.
37918 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
37919 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37920 Remove prototype.
37921 (grub_ieee1275_realmode): Likewise.
37922 (grub_ieee1275_flag): New enum.
37923 (grub_ieee1275_test_flag): New prototype.
37924 (grub_ieee1275_set_flag): New prototype.
37925 * include/grub/powerpc/ieee1275/init.h: Remove file.
37926 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
37927 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
37928 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
37929 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
37930 comment.
37931 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
37932 `grub_ieee1275_test_flag'.
37933 (grub_ieee1275_encode_devname): Likewise.
37934
37935 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
37936
37937 * include/grub/powerpc/ieee1275/ieee1275.h
37938 (grub_ieee1275_encode_devname): New prototype.
37939 (grub_ieee1275_get_filename): Likewise.
37940 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
37941 function.
37942 (grub_set_prefix): Likewise.
37943 (grub_machine_init): Call grub_set_prefix.
37944 * kern/powerpc/ieee1275/openfw.c: Fix typos.
37945 (grub_parse_type): New enum.
37946 (grub_ieee1275_get_devargs): New function.
37947 (grub_ieee1275_get_devname): Likewise.
37948 (grub_ieee1275_parse_args): Likewise.
37949 (grub_ieee1275_get_filename): Likewise.
37950 (grub_ieee1275_encode_devname): Likewise.
37951
37952 2005-03-30 Marco Gerards <metgerards@student.han.nl>
37953
37954 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
37955 `grub_loader_unset'.
37956
37957 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
37958
37959 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
37960 instead of grub_ieee1275_interpret.
37961 (grub_halt_init): New function.
37962 (grub_halt_fini): Likewise.
37963 (GRUB_MOD_INIT): Correct message grammar.
37964 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
37965 instead of grub_ieee1275_interpret.
37966 (grub_reboot_init): New function.
37967 (grub_reboot_fini): Likewise.
37968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
37969 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
37970 util/i386/pc/misc.c with commands/ieee1275/halt.c,
37971 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
37972 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
37973 function.
37974 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
37975 Add prototype.
37976 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
37977 prototype.
37978 (grub_halt): Likewise.
37979 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
37980 (cmain): Remove __attribute__((unused)).
37981 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
37982 (grub_heap_len): Likewise.
37983 (grub_machine_fini): New function.
37984 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
37985 (grub_halt): Likewise.
37986 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
37987 function.
37988 * util/powerpc/ieee1275/misc.c: New file.
37989
37990 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37991
37992 * DISTLIST: New file.
37993 * gendistlist.sh: Likewise.
37994
37995 * Makefile.in (COMMON_DISTFILES): Removed.
37996 (BOOT_DISTFILES): Likewise.
37997 (CONF_DISTFILES): Likewise.
37998 (DISK_DISTFILES): Likewise.
37999 (FS_DISTFILES): Likewise.
38000 (INCLUDE_DISTFILES): Likewise.
38001 (KERN_DISTFILES): Likewise.
38002 (LOADER_DISTFILES): Likewise.
38003 (TERM_DISTFILES): Likewise.
38004 (UTIL_DISTFILES): Likewise.
38005 (DISTFILES): Likewise.
38006 (uninstall): Uninstall files in $(pkgdata_DATA).
38007 (DISTLIST): New target.
38008 (distdir): Use the contents of the file DISTLIST to get a list of
38009 distributed files.
38010
38011 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
38012
38013 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
38014 descriptor. This is ported from GRUB Legacy.
38015
38016 * gencmdlist.sh: Added an extra semicolon to make it work with
38017 old sed versions. Reported by Robert Bihlmeyer
38018 <robbe@orcus.priv.at>.
38019
38020 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
38021
38022 Automatic loading of commands is supported.
38023
38024 * normal/main.c (read_command_list): New function.
38025 (grub_normal_execute): Call read_command_list.
38026
38027 * normal/command.c (grub_register_command): Return zero or CMD.
38028 Allocate CMD->NAME from the heap.
38029 Initialize CMD->MODULE_NAME to zero.
38030 Find the same name as well. If the same command is found and it is
38031 a dummy command, overwrite members. If it is not a dummy command,
38032 return zero.
38033 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
38034 (grub_command_find): If a dummy command is found, load a module
38035 and retry to find a command only once.
38036
38037 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
38038 make sure that each command is loaded.
38039
38040 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
38041 macro.
38042 (struct grub_command): Remove const from the member `name'.
38043 Add a new member `module_name'.
38044 (grub_register_command): Return grub_command_t.
38045
38046 * commands/help.c (grub_cmd_help): Call grub_command_find to make
38047 sure that each command is loaded.
38048
38049 * genmk.rb (PModule::rule): Specify a module name without the
38050 suffix ".mod" to gencmdlist.sh.
38051
38052 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38053
38054 * gencmdlist.sh: New file.
38055
38056 * genmk.rb (PModule::rule): Generate a rule for a command list.
38057 Clean command.lst.
38058 Generate command.lst from $(COMMANDFILES).
38059
38060 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38061 (DATA): Added $(pkgdata_DATA).
38062 (install-local): Install files in $(pkgdata_DATA).
38063
38064 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38065
38066 * term/i386/pc/vga.c (debug_command): Removed.
38067 (GRUB_MOD_INIT): Do not register the command "debug".
38068
38069 From Hollis Blanchard:
38070 * commands/configfile.c: New file.
38071 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38072 commands/configfile.c.
38073 (pkgdata_MODULES): Added configfile.mod.
38074 (configfile_mod_SOURCES): New variable.
38075 (configfile_mod_CFLAGS): Likewise.
38076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38077 commands/configfile.c.
38078 (pkgdata_MODULES): Added configfile.mod.
38079 (configfile_mod_SOURCES): New variable.
38080 (configfile_mod_CFLAGS): Likewise.
38081 * util/grub-emu.c (main): Call grub_configfile_init and
38082 grub_configfile_fini.
38083 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38084 prototype.
38085 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38086
38087 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38088
38089 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38090 address.
38091
38092 * commands/help.c (grub_cmd_help): Do not print newlines after
38093 the last command in print_command_help.
38094
38095 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38096
38097 * commands/default.h: New file.
38098 * commands/timeout.h: Likewise.
38099 * normal/context.c: Likewise.
38100
38101 * util/misc.c: Do not include sys/times.h.
38102 Include sys/time.h and grub/machine/time.h.
38103 (grub_get_rtc): Rewritten with gettimeofday.
38104
38105 * util/grub-emu.c (main): Call grub_default_init and
38106 grub_timeout_init before grub_normal_init, and call
38107 grub_timeout_fini and grub_default_fini after grub_main.
38108
38109 * util/console.c (grub_ncurses_checkkey): Return the read
38110 character or -1.
38111
38112 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38113 timeouts.
38114
38115 * normal/main.c (read_config_file): Push MENU. If this fails,
38116 print an error and wait for a user input.
38117 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38118 If a menu is empty or an error occurs, pop MENU.
38119 (grub_normal_execute): Pop and free MENU after grub_menu_run
38120 returns.
38121
38122 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38123
38124 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38125 include time.h.
38126 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38127 without GRUB_UTIL.
38128 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38129 time.h.
38130 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38131 without GRUB_UTIL.
38132
38133 * include/grub/normal.h (struct grub_menu_list): New struct.
38134 (grub_menu_list_t): New type.
38135 (struct grub_context): New struct.
38136 (grub_context_t): New type.
38137 (grub_register_command): Got rid of EXPORT_FUNC.
38138 (grub_unregister_command): Likewise.
38139 (grub_context_get): New prototype.
38140 (grub_context_get_current_menu): Likewise.
38141 (grub_context_push_menu): Likewise.
38142 (grub_context_pop_menu): Likewise.
38143 [GRUB_UTIL] (grub_default_init): Likewise.
38144 [GRUB_UTIL] (grub_default_fini): Likewise.
38145 [GRUB_UTIL] (grub_timeout_init): Likewise.
38146 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38147
38148 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38149 commands/timeout.c and normal/context.c.
38150 (pkgdata_MODULES): Added default.mod and timeout.mod.
38151 (normal_mod_SOURCES): Added normal/context.c.
38152 (default_mod_SOURCES): New variable.
38153 (default_mod_CFLAGS): Likewise.
38154 (timeout_mod_SOURCES): Likewise.
38155 (timeout_mod_CFLAGS): Likewise.
38156 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38157 conf/i386-pc.rmk.
38158 (pkgdata_MODULES): Added default.mod and timeout.mod.
38159 (normal_mod_SOURCES): Added normal/context.c.
38160 (default_mod_SOURCES): New variable.
38161 (default_mod_CFLAGS): Likewise.
38162 (timeout_mod_SOURCES): Likewise.
38163 (timeout_mod_CFLAGS): Likewise.
38164
38165 * Makefile.in (all-local): Added $(MKFILES).
38166
38167 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38168
38169 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38170 (grub_emu_SOURCES): Likewise.
38171 (pkgdata_MODULES): Add `sun.mod'.
38172 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38174 `partmap/sun.c'.
38175 (pkgdata_MODULES): Add `sun.mod'.
38176 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38177 * include/grub/partition.h (grub_sun_partition_map_init): New
38178 prototype.
38179 (grub_sun_partition_map_fini): Likewise.
38180 * partmap/sun.c: New file.
38181 * util/grub-emu.c (main): Initialize and de-initialize the sun
38182 partitionmap support.
38183
38184 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38185
38186 This implements an Emacs-like menu entry editor.
38187
38188 * normal/menu_entry.c: New file.
38189
38190 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38191 characters to ASCII.
38192 (saved_char): New variable.
38193 (grub_ncurses_checkkey): Rewritten completely.
38194 (grub_ncurses_getkey): Likewise.
38195 (grub_ncurses_init): Call raw instead of cbreak.
38196
38197 * normal/menu.c (print_entry): Do not put a space.
38198 (init_page): Renamed to ...
38199 (grub_menu_init_page): ... this. All callers changed.
38200 (edit_menu_entry): Removed.
38201 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38202
38203 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38204
38205 * kern/misc.c (grub_vprintf): Call grub_refresh.
38206
38207 * normal/menu.c (DISP_LEFT): Renamed to ...
38208 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38209 * normal/menu.c (DISP_UP): Renamed to ...
38210 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38211 * normal/menu.c (DISP_RIGHT): Renamed to ...
38212 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38213 * normal/menu.c (DISP_DOWN): Renamed to ...
38214 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38215 * normal/menu.c (DISP_HLINE): Renamed to ...
38216 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38217 * normal/menu.c (DISP_VLINE): Renamed to ...
38218 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38219 * normal/menu.c (DISP_UL): Renamed to ...
38220 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38221 * normal/menu.c (DISP_UR): Renamed to ...
38222 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38223 * normal/menu.c (DISP_LL): Renamed to ...
38224 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38225 * normal/menu.c (DISP_LR): Renamed to ...
38226 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38227 * normal/menu.c (TERM_WIDTH): Renamed to ...
38228 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38229 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38230 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38231 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38232 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38233 * normal/menu.c (TERM_MARGIN): Renamed to ...
38234 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38235 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38236 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38237 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38238 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38239 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38240 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38241 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38242 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38243 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38244 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38245 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38246 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38247 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38248 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38249 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38250 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38251 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38252 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38253 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38254 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38255 All callers changed.
38256
38257 * include/grub/normal.h: New prototype.
38258
38259 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38260 normal/menu_entry.c.
38261 (normal_mod_SOURCES): Likewise.
38262 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38263 (normal_mod_SOURCES): Likewise.
38264
38265 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38266
38267 * include/grub/normal.h (grub_halt_init): New prototype.
38268 (grub_halt_fini): Likewise.
38269 (grub_reboot_init): Likewise.
38270 (grub_reboot_fini): Likewise.
38271
38272 * util/grub-emu.c: Include signal.h.
38273 (main_env): New global variable.
38274 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38275 catch C-c.
38276 (grub_machine_fini): New function.
38277 (main): Call grub_halt_init and grub_reboot_init before
38278 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38279 Call setjmp with MAIN_ENV to go back afterwards.
38280 Call grub_machine_fini right before return.
38281
38282 * include/grub/util/misc.h: Include setjmp.h.
38283 (main_env): New prototype.
38284
38285 * include/grub/kernel.h (grub_machine_fini): New prototype.
38286 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38287 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38288
38289 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38290 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38291 * term/i386/pc/console.c (grub_console_fini): Likewise.
38292
38293 * util/i386/pc/misc.c: New file.
38294
38295 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38296 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38297 commands/i386/pc/reboot.c.
38298
38299 2005-02-14 Guillem Jover <guillem@hadrons.org>
38300
38301 * include/grub/dl.h (grub_dl_check_header): New prototype.
38302 (grub_arch_dl_check_header): Change return type to grub_err_t,
38303 remove size parameter and export function. Update all callers.
38304 * kern/dl.c (grub_dl_check_header): New function.
38305 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38306 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38307 are inside the core.
38308 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38309 independent ELF header checks.
38310 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38311 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38312 `grub_dl_check_header' instead of explicit checks. Check for the
38313 ELF type.
38314 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38315 `grub_dl_check_header' instead of explicit checks. Remove arch
38316 specific ELF header checks.
38317
38318 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38319 argument SIZE.
38320
38321 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38322
38323 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38324 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38325
38326 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38327
38328 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
38329 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
38330 (part_map_iterate): Clear `grub_errno' and return 0 if
38331 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
38332 * partmap/amiga.c (amiga_partition_map_iterate): Return
38333 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38334 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38335
38336 2005-02-01 Guillem Jover <guillem@hadrons.org>
38337
38338 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38339 help info.
38340
38341 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38342
38343 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38344 Removed prototype.
38345 (grub_rescue_cmd_linux): New prototype.
38346 (grub_rescue_cmd_initrd): Likewise.
38347 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38348 `bi_rec'.
38349 (grub_linux_release_mem): Release the memory for the initrd.
38350 (grub_load_linux): Renamed from this...
38351 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38352 Changed `entry' not to be static. Loop over memory regions to
38353 find another one when the default fails.
38354 (grub_rescue_cmd_initrd): New function.
38355 (grub_linux_init): Remove function.
38356 (grub_linux_fini): Likewise.
38357 (GRUB_MOD_INIT): Register `initrd'.
38358 (GRUB_MOD_FINI): Unregister `initrd'.
38359 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38360 Function removed.
38361 (grub_linux_normal_fini): Likewise.
38362 (GRUB_MOD_INIT): Register `initrd'.
38363 (GRUB_MOD_FINI): Unregister `initrd'.
38364
38365 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38366
38367 * commands/help.c: New file.
38368 * normal/arg.c (show_help): Renamed to...
38369 (grub_arg_show_help): ... this.
38370 * commands/i386/pc/halt.c: New file.
38371 * commands/i386/pc/reboot.c: Likewise.
38372 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38373 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38374 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38375 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38376 variables.
38377 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38378 `commands/help.c'.
38379 (pkgdata_MODULES): Add `help.mod'.
38380 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38381 * grub/i386/pc/init.h (grub_reboot): New prototype.
38382 (grub_halt): Likewise.
38383 * include/grub/normal.h (grub_arg_show_help): New prototype.
38384 (grub_help_init): Likewise.
38385 (grub_help_fini): Likewise.
38386 * util/grub-emu.c (main): Initialize and deinitialize the help
38387 command.
38388
38389 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38390
38391 * normal/command.c (grub_command_init): Fixed the description of
38392 the `set' and `unset' commands.
38393
38394 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38395
38396 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38397 function.
38398 * commands/ieee1275/halt.c: New file.
38399 * commands/ieee1275/reboot.c: Likewise.
38400 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38401 `__attribute__ ((unused))'. Some GCS related fixed.
38402 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38403 (grub_suspend_fini): Likewise.
38404 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38405 and `halt.mod'.
38406 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38407 (halt_mod_CFLAGS): New variables.
38408 * include/grub/powerpc/ieee1275/ieee1275.h
38409 (grub_ieee1275_interpret): New prototype.
38410
38411 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38412
38413 * include/grub/misc.h (memmove): New prototype.
38414 (memcpy): Likewise.
38415
38416 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38417
38418 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38419 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38420
38421 2005-01-22 Marco Gerards <metgerards@student.han.nl>
38422
38423 * kern/misc.c (grub_strndup): Function rewritten.
38424
38425 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38426
38427 * normal/menu.c (TERM_WIDTH): Macro redefined.
38428 (TERM_TOP_BORDER_Y): Likewise.
38429 (draw_border): Replaced while-loop by a for-loop. Make the number
38430 of lines consistent with the number of lines displayed in
38431 print_entries. Added a margin below the rectangle.
38432 (print_entry): Make the entry fit in the rectangle.
38433 (print_entries): Display the scroll arrows next to the right
38434 border.
38435
38436 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38437
38438 * fs/minix.c (grub_minix_find_file): Reserve more space for
38439 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38440 `grub_strncpy' to copy `path' into it.
38441
38442 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38443
38444 Add the loopback device, a device via which files can be accessed
38445 as devices.
38446
38447 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38448 (pkgdata_MODULES): Add loopback.mod.
38449 (loopback_mod_SOURCES): New variable.
38450 (loopback_mod_CFLAGS): Likewise.
38451 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38452 `disk/loopback.c'.
38453 (pkgdata_MODULES): Add loopback.mod.
38454 (loopback_mod_SOURCES): New variable.
38455 (loopback_mod_CFLAGS): Likewise.
38456 * disk/loopback.c: new file.
38457 * include/grub/normal.h (grub_loop_init): New prototype.
38458 (grub_loop_fini): New prototype.
38459 * util/grub-emu.c (main): Initialize and de-initialize loopback
38460 support.
38461 * include/grub/disk.h (grub_disk_dev_id): Add
38462 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38463
38464 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38465
38466 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38467 function.
38468 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38469 (suspend_mod_SOURCES): New variable.
38470 (suspend_mod_CFLAGS): Likewise.
38471 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38472 New prototype.
38473 * commands/ieee1275/suspend.c: New file.
38474
38475 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38476
38477 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
38478 ((unused))' to `__attribute__ ((used))'.
38479 (GRUB_MOD_FINI): Likewise.
38480 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38481 * genmk.rb (PModule): Assign space to common symbols when linking
38482 modules.
38483
38484 2005-01-20 Marco Gerards <metgerards@student.han.nl>
38485
38486 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38487 `unsigned' arguments to `grub_size_t'.
38488 (grub_malloc): Likewise.
38489 (grub_realloc): Likewise.
38490 (grub_memalign): Likewise.
38491 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38492 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38493 * util/misc.c (grub_malloc): Likewise.
38494 (grub_realloc): Likewise.
38495 * kern/mm.c (get_header_from_pointer): Change the casts to
38496 `unsigned' into a cast to `grub_size_t'.
38497
38498 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38499 point to `currnode' when `currnode' is changed.
38500
38501 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38502 Schottelius <nico-linux@schottelius.org>.
38503
38504 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38505
38506 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38507 (note_path): Remove variable.
38508 (GRUB_IEEE1275_NOTE_NAME): New macro.
38509 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38510 (grub_ieee1275_note_hdr): New structure.
38511 (grub_ieee1275_note_desc): Likewise.
38512 (grub_ieee1275_note): Likewise.
38513 (load_note): Remove `dir' argument. All callers updated. Remove
38514 `note_img' and `path'. Do not load a file from `note_path'.
38515 Initialize a struct grub_ieee1275_note and write that to `out'.
38516 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38517
38518 2005-01-05 Marco Gerards <metgerards@student.han.nl>
38519
38520 * util/misc.c (grub_util_read_image): Revert last change. It
38521 called `grub_util_read_at', which seeks from the beginning of the
38522 file.
38523
38524 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38525
38526 * TODO: Add note about endianness in grub-mkimage.
38527 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38528 section.
38529 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38530 (grub_mkimage_SOURCES): New target.
38531 * include/grub/kernel.h (grub_start_addr): Remove variable.
38532 (grub_end_addr): Likewise.
38533 (grub_total_module_size): Likewise.
38534 (grub_kernel_image_size): Likewise.
38535 (GRUB_MODULE_MAGIC): New constant.
38536 (grub_module_info): New structure.
38537 (grub_arch_modules_addr): New prototype.
38538 (grub_get_end_addr): Remove prototype.
38539 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38540 * include/grub/powerpc/ieee1275/kernel.h: New file.
38541 * include/grub/util/misc.h (grub_util_get_fp_size): New
38542 prototype.
38543 (grub_util_read_at): Likewise.
38544 (grub_util_write_image_at): Likewise.
38545 * kern/main.c (grub_get_end_addr): Remove function.
38546 (grub_load_modules): Call grub_arch_modules_addr instead of using
38547 grub_end_addr. Look for a grub_module_info struct in memory. Use
38548 the grub_module_info fields instead of calling grub_get_end_addr
38549 as loop conditions. Move grub_add_unused_region code here.
38550 (grub_add_unused_region): Remove function.
38551 * kern/i386/pc/init.c: Include grub/cache.h.
38552 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38553 one call to add_mem_region.
38554 (grub_arch_modules_addr): New function.
38555 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38556 (grub_total_module_size): Likewise.
38557 Include grub/machine/kernel.h.
38558 (grub_arch_modules_addr): New function.
38559 * util/grub-emu.c (grub_end_addr): Remove variable.
38560 (grub_total_module_size): Likewise.
38561 (grub_arch_modules_addr): New function.
38562 * util/misc.c: Include unistd.h.
38563 (grub_util_get_fp_size): New function.
38564 (grub_util_read_at): Likewise.
38565 (grub_util_write_image_at): Likewise.
38566 (grub_util_read_image): Call grub_util_read_at.
38567 (grub_util_write_image): Call grub_util_write_image_at.
38568 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38569 additional memory in kernel_img for a struct grub_module_info.
38570 Fill in that grub_module_info.
38571 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38572
38573 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38574
38575 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38576 New function.
38577 * include/grub/powerpc/ieee1275/ieee1275.h
38578 (grub_ieee1275_milliseconds): New prototype.
38579 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38580 Change to 1000.
38581 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38582 grub_ieee1275_milliseconds.
38583
38584 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38585
38586 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38587 variable.
38588 (find_options): New function.
38589 (cmain): Call find_options.
38590 * include/grub/powerpc/ieee1275/ieee1275.h
38591 (grub_ieee1275_realmode): New extern variable.
38592 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38593 grub_map if grub_ieee1275_realmode is false.
38594
38595 2004-12-29 Marco Gerards <metgerards@student.han.nl>
38596
38597 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38598 lines are inserted and make it work like readline. Reported by
38599 Vincent Pelletier <subdino2004@yahoo.fr>.
38600
38601 2004-12-28 Marco Gerards <metgerards@student.han.nl>
38602
38603 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38604
38605 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38606 `kern/powerpc/cache.S'.
38607
38608 2004-12-27 Marco Gerards <metgerards@student.han.nl>
38609
38610 * genmk.rb: Handle the `Program' class in the main loop. Written
38611 by Johan Rydberg <jrydberg@gnu.org>.
38612 (Program): New class.
38613 (programs): New variable.
38614 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38615 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38616 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38617 (help_arch): Function removed.
38618 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38619 `powerpc/libgcc.h' and `loader.h'.
38620 (pkgdata_PROGRAMS): New variable.
38621 (sbin_UTILITIES): Variable removed.
38622 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38623 (grubof_SOURCES): Variable re-defined so it only includes the
38624 core functionality.
38625 (grubof_CFLAGS): Remove `-DGRUBOF'.
38626 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38627 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38628 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38629 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38630 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38631 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38632 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38633 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38634 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38635 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38636 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38637 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38638 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38639 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38640 (pc_mod_CFLAGS): New variables.
38641 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38642 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38643 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38644 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38645 Moved from here...
38646 * include/grub/i386/pc/init.h (grub_os_area_addr)
38647 (rub_os_area_size): ... to here.
38648 * include/grub/powerpc/ieee1275/ieee1275.h
38649 (grub_ieee1275_entry_fn): Export symbol.
38650 * include/grub/powerpc/ieee1275/init.h: New file.
38651 * include/grub/powerpc/libgcc.h: Likewise.
38652 * include/grub/cache.h: Likewise.
38653 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38654 <hollis@penguinppc.org>.
38655 * kern/dl.c: Include <grub/cache.h>.
38656 (grub_dl_flush_cache): New function.
38657 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38658 for this module.
38659 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38660 (grub_console_init): Removed prototypes.
38661 (grub_machine_init): Don't initialize the modules anymore.
38662 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38663 static.
38664 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38665 Macro undef removed.
38666 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38667 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38668 relocation `R_PPC_REL32'. Return an error when the relocation is
38669 unknown.
38670 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38671 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38672 * util/misc.c (grub_arch_sync_caches): Likewise.
38673
38674 2004-12-19 Marco Gerards <metgerards@student.han.nl>
38675
38676 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38677 `symlist.c', add `grubof_symlist.c'.
38678 (symlist.c): Variable removed.
38679 (grubof_HEADERS): Variable added.
38680 (grubof_symlist.c): New target.
38681 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38682 `kernel_img_HEADERS'.
38683 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38684 * kern/powerpc/dl.c: New file.
38685 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38686 Function removed.
38687 (grub_arch_dl_relocate_symbols): Likewise.
38688 (grub_register_exported_symbols): Likewise.
38689
38690 2004-12-13 Marco Gerards <metgerards@student.han.nl>
38691
38692 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38693 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38694 to fail instead. Reported by Vincent Pelletier
38695 <subdino2004@yahoo.fr>.
38696
38697 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38698 it is not allocated. Reported by Vincent Pelletier
38699 <subdino2004@yahoo.fr>.
38700
38701 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38702 output so the output looks better.
38703
38704 2004-12-04 Marco Gerards <metgerards@student.han.nl>
38705
38706 Modulize the partition map support and add support for the amiga
38707 partition map.
38708
38709 * commands/ls.c: Include <grub/partition.h> instead of
38710 <grub/machine/partition.h>.
38711 * kern/disk.c: Likewise.
38712 * kern/rescue.c: Likewise.
38713 * loader/i386/pc/chainloader.c: Likewise.
38714 * normal/cmdline.c: Likewise.
38715 * kern/powerpc/ieee1275/init.c: Likewise.
38716 (grub_machine_init): Call `grub_pc_partition_map_init',
38717 `grub_amiga_partition_map_init' and
38718 `grub_apple_partition_map_init'.
38719 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38720 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38721 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38722 `partition.h' and `pc_partition.h'.
38723 (grub_setup_SOURCES): Remove
38724 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38725 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38726 (grub_emu_SOURCES): Likewise.
38727 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38728 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38729 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38731 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38732 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38733 (grubof_SOURCES): Likewise.
38734 * disk/i386/pc/partition.c: File removed.
38735 * disk/powerpc/ieee1275/partition.c: Likewise.
38736 * include/grub/powerpc/ieee1275/partition.h: Likewise.
38737 * include/grub/i386/pc/partition.h: Likewise.
38738 * kern/partition.c: New file.
38739 * partmap/amiga.c: Likewise.
38740 * partmap/apple.c: Likewise.
38741 * partmap/pc.c: Likewise.
38742 * include/grub/partition.h: Likewise..
38743 * include/grub/pc_partition.h: Likewise.
38744 * util/grub-emu.c: Include <grub/partition.h> instead of
38745 <grub/machine/partition.h>.
38746 (main): Call `grub_pc_partition_map_init',
38747 `grub_amiga_partition_map_init' and
38748 `grub_apple_partition_map_init' and deinitialize afterwards.
38749 * util/i386/pc/biosdisk.c: Include `#include
38750 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38751 `<grub/machine/partition.h>'.
38752 * util/i386/pc/grub-setup.c: Likewise.
38753 * util/i386/pc/biosdisk.c: Likewise.
38754 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
38755 partition information in case of a PC partition.
38756 * util/i386/pc/grub-setup.c: Include `#include
38757 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38758 `<grub/machine/partition.h>'.
38759 (setup): Only access the PC specific partition information in case
38760 of a PC partition.
38761
38762 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
38763
38764 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
38765 (grub_longjmp): Likewise.
38766 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
38767 20.
38768 * normal/powerpc/setjmp.S: New file.
38769 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38770 `normal/powerpc/setjmp.S'.
38771 (grubof_CFLAGS): Add `-DGRUBOF'.
38772 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
38773 [GRUB_UTIL && !GRUBOF].
38774
38775 2004-11-16 Marco Gerards <metgerards@student.han.nl>
38776
38777 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
38778 property named `name'. Correctly handle the error returned by
38779 `grub_ieee1275_finddevice' if a device can not be opened.
38780
38781 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
38782
38783 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
38784 `actual' for negativity.
38785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38786 kern/fshelp.c.
38787
38788 2004-11-01 Marco Gerards <metgerards@student.han.nl>
38789
38790 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
38791 (PAGE_OFFSET): New macro.
38792 (CRTC_ADDR_PORT): Likewise.
38793 (CRTC_DATA_PORT): Likewise.
38794 (START_ADDR_HIGH_REGISTER): Likewise.
38795 (START_ADDR_LOW_REGISTER): Likewise.
38796 (GRAPHICS_ADDR_PORT): Likewise.
38797 (GRAPHICS_DATA_PORT): Likewise.
38798 (READ_MAP_REGISTER): Likewise.
38799 (INPUT_STATUS1_REGISTER): Likewise.
38800 (INPUT_STATUS1_VERTR_BIT): Likewise.
38801 (page): New variable.
38802 (wait_vretrace): New function.
38803 (set_read_map): Likewise.
38804 (set_start_address): Likewise.
38805 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
38806 the right page.
38807 (check_vga_mem): Take the page into account.
38808 (write_char): Likewise.
38809 (write_cursor): Likewise.
38810 (scroll_up): Likewise. Copy the page to the page that is not
38811 shown and switch between both pages.
38812 (grub_vga_putchar): Fix off by one error.
38813 (grub_vga_cls): Wait for the vertical retrace. Take the page into
38814 account.
38815
38816 2004-11-01 Marco Gerards <metgerards@student.han.nl>
38817
38818 Add support for iso9660 (including rockridge).
38819
38820 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38821 (iso9660_mod_SOURCES): New variable.
38822 (iso9660_mod_CFLAGS): Likewise.
38823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38824 * include/grub/fs.h (grub_iso9660_init): New prototype.
38825 * util/grub-emu.c (main): Call `grub_iso9660_init'.
38826 * fs/iso9660.c: New file.
38827
38828 * include/grub/misc.h (grub_strncat): New prototype.
38829 * kern/misc.c (grub_strncat): New function.
38830
38831 * fs/hfs.c (grub_hfs_mount): Translate the error
38832 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
38833 * fs/jfs.c (grub_jfs_mount): Likewise.
38834 * fs/ufs.c (grub_ufs_mount): Likewise.
38835
38836 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
38837
38838 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
38839 which initialized BAT registers.
38840 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
38841 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38842 Move from here...
38843 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
38844 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38845 ... to here.
38846 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
38847 (grub_mapclaim): Likewise.
38848 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
38849 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
38850 hand.
38851
38852 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
38853
38854 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
38855 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
38856 -ffreestanding and -msoft-float.
38857
38858 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
38859
38860 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
38861 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
38862 set in grub_ieee1275_flags.
38863
38864 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
38865
38866 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
38867 prototype.
38868 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
38869 grub_console_init first.
38870 Change the memory range used for grub_ieee1275_claim and
38871 grub_mm_init_region.
38872 Print an error message if the claim fails.
38873 Include <grub/misc.h>.
38874
38875 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
38876
38877 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
38878 Call grub_children_iterate for device nodes of type `scsi',
38879 `ide', or `ata'.
38880 (grub_ofdisk_open): Remove manual device alias resolution.
38881 Fix memory leak when device cannot be opened.
38882 * include/grub/powerpc/ieee1275/ieee1275.h
38883 (grub_children_iterate): New prototype.
38884 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
38885 New function.
38886 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38887 Return -1 if args.size was -1.
38888
38889 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38890
38891 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
38892 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
38893 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
38894 Open Firmware's memory for it; claim memory from _start to _end.
38895 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
38896 (_end): New extern.
38897 (_start): Zero BSS from __bss_start to _end.
38898 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38899 New extern.
38900 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
38901
38902 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38903
38904 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
38905 -1 if args.base was -1.
38906
38907 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
38908
38909 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
38910 escape sequence instead of a literal ^L. Also call
38911 grub_ofconsole_gotoxy.
38912
38913 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
38914
38915 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
38916 void * arguments to grub_addr_t. All callers updated. Also make
38917 the `result' argument optional.
38918 (grub_ieee1275_release): change void * arguments to grub_addr_t.
38919 All callers updated.
38920
38921 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
38922
38923 * commands/ls.c (grub_ls_list_files): Use the string following the
38924 initial ')', if present, as the filesystem path.
38925 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
38926
38927 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
38928
38929 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
38930
38931 Make the source code of the menu interface more readable.
38932
38933 * normal/menu.c: Include grub/mm.h.
38934 (TERM_WIDTH): New macro.
38935 (TERM_HEIGHT): Likewise.
38936 (TERM_INFO_HEIGHT): Likewise.
38937 (TERM_MARGIN): Likewise.
38938 (TERM_SCROLL_WIDTH): Likewise.
38939 (TERM_TOP_BORDER_Y): Likewise.
38940 (TERM_LEFT_BORDER_X): Likewise.
38941 (TERM_BORDER_WIDTH): Likewise.
38942 (TERM_MESSAGE_HEIGHT): Likewise.
38943 (TERM_BORDER_HEIGHT): Likewise.
38944 (TERM_NUM_ENTRIES): Likewise.
38945 (TERM_FIRST_ENTRY_Y): Likewise.
38946 (TERM_ENTRY_WIDTH): Likewise.
38947 (TERM_CURSOR_X): Likewise.
38948 (draw_border): Use macros instead of magic numbers.
38949 (print_entry): Likewise.
38950 (print_entries): Likewise.
38951 (run_menu): Likewise. Also, handle the key 'e'.
38952 (run_menu_entry): Ignore empty command lines.
38953 (print_message): Added a new argument EDIT. If EDIT is true,
38954 print a different message.
38955 (init_page): Likewise.
38956 (edit_menu_entry): New function. Not implemented yet.
38957
38958 2004-09-17 Marco Gerards <metgerards@student.han.nl>
38959
38960 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
38961 can be loaded from normal mode.
38962
38963 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
38964 `multiboot.mod'.
38965 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
38966 (multiboot_mod_CFLAGS): New variables.
38967 * loader/i386/pc/linux_normal.c: New file.
38968 * loader/i386/pc/multiboot_normal.c: Likewise.
38969
38970 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
38971 attribute `unused'.
38972
38973 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
38974 `fdiro' to read the mode information from instead of `diro'.
38975
38976 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
38977 looking up a symlink.
38978
38979 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
38980 macro.
38981 * normal/command.c (grub_command_execute): Don't parse the
38982 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
38983 flags of the command.
38984
38985 * normal/menu.c (grub_menu_run): Fix typo.
38986
38987 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
38988
38989 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
38990
38991 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
38992 `y + 1' instead of `y - 1'.
38993
38994 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
38995
38996 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
38997
38998 From Hollis Blanchard <hollis@penguinppc.org>:
38999 * kern/misc.c (memmove): New alias for grub_memmove.
39000 (memcmp): New alias for grub_memcmp.
39001 (memset): New alias for grub_memset.
39002 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
39003 Change "int handle" to "grub_ieee1275_phandle_t handle".
39004 * include/grub/powerpc/ieee1275/ieee1275.h
39005 (grub_ieee1275_get_property): Likewise.
39006
39007 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
39008
39009 Added normal mode command `chainloader' as module chain.mod, which
39010 depends on normal.mod and _chain.mod.
39011
39012 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
39013 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
39014 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
39015 Deleted prototype.
39016 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
39017 but arguments parsing moved to ...
39018 (grub_chainloader_cmd): ... here. New function.
39019 * include/grub/i386/pc/chainloader.h: New file.
39020 * loader/i386/pc/chainloader_normal.c: Likewise.
39021
39022 2004-09-11 Marco Gerards <metgerards@student.han.nl>
39023
39024 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
39025 (grub_mkimage_LDFLAGS): Likewise.
39026 (grub_emu_SOURCES): Likewise.
39027 (kernel_img_HEADERS): Added fshelp.h.
39028 * fs/ext2.c: Include <grub/fshelp.h>.
39029 (FILETYPE_REG): New macro.
39030 (FILETYPE_INO_REG): Likewise.
39031 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
39032 Changed all users.
39033 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
39034 all users.
39035 (grub_fshelp_node): New struct.
39036 (grub_ext2_data): Added member `diropen'. Changed member `inode'
39037 to a pointer.
39038 (grub_ext2_get_file_block): Removed function.
39039 (grub_ext2_read_block): New function.
39040 (grub_ext2_read_file): Replaced parameter `data' by `node'.
39041 This function was written.
39042 (grub_ext2_mount): Read the root inode. Create a diropen struct.
39043 (grub_ext2_find_file): Removed function.
39044 (grub_ext2_read_symlink): New function.
39045 (grub_ext2_iterate_dir): Likewise.
39046 (grub_ext2_open): Rewritten.
39047 (grub_ext2_dir): Rewritten.
39048 * include/grub/fshelp.h: New file.
39049 * fs/fshelp.c: Likewise.
39050
39051 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
39052
39053 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
39054 (print_message): Add a missing newline.
39055 (run_menu): Added timeout support.
39056 (run_menu_entry): New local function.
39057 (grub_menu_run): Added support for booting.
39058
39059 * kern/loader.c (grub_loader_is_loaded): New function.
39060
39061 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39062 (grub_get_rtc): Exported.
39063
39064 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39065 (grub_get_rtc): Exported.
39066
39067 * include/grub/normal.h (struct grub_command_list): Remove
39068 constant from the member `command'.
39069
39070 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39071
39072 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39073
39074 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39075
39076 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39077
39078 Add support for the JFS filesystem.
39079
39080 * fs/jfs.c: New file.
39081 * include/grub/fs.h (grub_jfs_init): New prototype.
39082 (grub_jfs_fini): New prototype.
39083 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39084 (grub_emu_SOURCES): Likewise.
39085 (pkgdata_MODULES): Add jfs.mod.
39086 (jfs_mod_SOURCES): New variable.
39087 (jfs_mod_CFLAGS): Likewise.
39088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39089 (grubof_SOURCES): Likewise.
39090 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39091
39092 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39093 endian to the host endian.
39094 (grub_fat_utf16_to_utf8): Move function from there...
39095 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39096 the endianness of the source string anymore.
39097 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39098
39099 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39100
39101 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39102 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39103 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39104 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39105
39106 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39107 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39108 for `node_found' and `it_dir'.
39109 (grub_hfs_dir): Add prototype for `dir_hook'.
39110
39111 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39112 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39113 and `indir32' to silence a gcc warning.
39114
39115 * include/grub/fs.h (grub_hfs_init): New prototype.
39116 (grub_hfs_fini): Likewise.
39117
39118
39119 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39120
39121 Each disk device has its own id now. This is useful to make use
39122 of multiple disk devices.
39123
39124 * include/grub/disk.h (grub_disk_dev_id): New enum.
39125 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39126 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39127
39128 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39129 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39130
39131 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39132 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39133
39134 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39135 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39136
39137 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39138 "id" which is used by the cache manager.
39139
39140 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39141 of just "GRUB".
39142
39143 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39144
39145 * fs/hfs.c: New file.
39146 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39147 (grub_emu_SOURCES): Likewise.
39148 (pkgdata_MODULES): Add hfs.mod.
39149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39150 (grubof_SOURCES): Likewise.
39151 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39152
39153 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39154 * kern/misc.c (grub_strncasecmp): Add function.
39155
39156 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39157
39158 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39159 with parentheses.
39160
39161 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39162 (grub_ext2_dir): In case the directory entry type is unknown, read
39163 it from the inode.
39164
39165 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39166
39167 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39168 grub_load_linux instead of grub_rescue_cmd_linux as second
39169 argument of grub_rescue_register_command.
39170
39171 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39172
39173 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39174
39175 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39176 function.
39177 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39178 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39179 `loader/powerpc/ieee1275/linux.c',
39180 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39181 * include/grub/powerpc/ieee1275/ieee1275.h
39182 (grub_ieee1275_release): New prototype.
39183 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39184 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39185 normal, boot, linux and linux_normal.
39186 * loader/powerpc/ieee1275/linux.c: New file.
39187 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39188
39189 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39190
39191 * normal/arg.c (grub_arg_parse): Correct error handling after
39192 reallocating the argumentlist (check if `argl' is not null instead
39193 of checking if `args' is not null).
39194 * kern/mm.c (grub_realloc): Return the same pointer when using the
39195 same region, instead of returning the header address.
39196
39197 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39198
39199 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39200 one block instead of two when looking for the initial partition.
39201 (grub_partition_probe): Initialize the local variable `p' with 0.
39202 Use base 10 for the grub_strtoul call.
39203 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39204 need for one local variable.
39205 (grub_strtoul): Don't add the new value to `num', instead of that
39206 just assign it.
39207
39208 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39209
39210 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39211 (pxeboot_img_SOURCES): New variable.
39212 (pxeboot_img_ASFLAGS): Likewise.
39213 (pxeboot_img_LDFLAGS): Likewise.
39214 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39215 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39216 <lode_leroy@hotmail.com>.
39217
39218 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39219
39220 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39221 there was no input.
39222
39223 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39224
39225 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39226 the history buffer logic.
39227
39228 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39229
39230 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39231 (FILETYPE_INO_SYMLINK): New macros.
39232 (grub_ext2_find_file): Check if the node is a directory using the
39233 inode stat information instead of using the filetype in the
39234 dirent. Exclude the first character of an absolute symlink.
39235 (grub_ext2_dir): Mask out the filetype part of the mode member of
39236 the inode.
39237
39238 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39239
39240 Add support for UFS version 1 and 2. Add support for the minix
39241 filesystem version 1 and 2, both the variants with 14 and 30 long
39242 filenames.
39243
39244 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39245 fs/minix.c.
39246 (grub_emu_SOURCES): Likewise.
39247 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39248 (ufs_mod_SOURCES): New variable.
39249 (ufs_mod_CFLAGS): Likewise.
39250 (minix_mod_SOURCES): Likewise.
39251 (minix_mod_CFLAGS): Likewise.
39252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39253 fs/minix.c.
39254 (grubof_SOURCES): Likewise.
39255 * fs/ufs.c: New file.
39256 * fs/minix.c: New file.
39257 * include/grub/fs.h (grub_ufs_init): New prototype.
39258 (grub_ufs_fini): Likewise.
39259 (grub_minix_init): Likewise.
39260 (grub_minix_fini): Likewise.
39261 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39262 minix fs.
39263
39264 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39265
39266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39267 commands/ls.c, commands/terminal.c, commands/boot.c,
39268 commands/cmp.c and commands/cat.c.
39269 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39270
39271 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39272 "env.h"
39273
39274 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39275
39276 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39277 and grub_, respectively. Because the conversion is trivial and
39278 mechanical, I omit the details here. Please refer to the CVS
39279 if you need more information.
39280
39281 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39282
39283 * include/pupa: Renamed to ...
39284 * include/grub: ... this.
39285 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39286 * util/i386/pc/grub-mkimage.c: ... this.
39287 * util/i386/pc/pupa-setup.c: Renamed to ...
39288 * util/i386/pc/grub-setup.c: ... this.
39289 * util/pupa-emu.c: Renamed to ...
39290 * util/grub-emu.c: ... this.
39291
39292 2004-03-29 Marco Gerards <metgerards@student.han.nl>
39293
39294 Add support for the newworld apple macintosh (PPC). This has been
39295 tested on the powerbook 2000 only. It only adds support for
39296 generic ieee1275 functions, console and disk support. This should
39297 be easy to port to other architectures with support for Open
39298 Firmware.
39299
39300 * configure.ac: Accept the powerpc as host_cpu. In the case of
39301 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39302 specific tests are only executed while building for the i386.
39303 Inverse test for crosscompile.
39304 * genmk.rb (Utility): Allow assembler files.
39305 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39306 * conf/powerpc-ieee1275.rmk: New file.
39307 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39308 * disk/powerpc/ieee1275/partition.c: Likewise.
39309 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39310 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39311 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39312 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39313 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39314 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39315 * include/pupa/powerpc/ieee1275/loader.h
39316 * include/pupa/powerpc/setjmp.h: Likewise.
39317 * include/pupa/powerpc/types.h: Likewise.
39318 * kern/powerpc/ieee1275/init.c: Likewise.
39319 * kern/powerpc/ieee1275/openfw.c: Likewise.
39320 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39321
39322 These files were written by Johan Rydberg
39323 (jrydberg@night.trouble.net) and I only modified them slightly.
39324
39325 * boot/powerpc/ieee1275/cmain.c: New file.
39326 * boot/powerpc/ieee1275/crt0.S: Likewise.
39327 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39328 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39329
39330 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39331
39332 * Makefile.in: Update copyright.
39333 * genmodsrc.sh: Likewise.
39334 * gensymlist.sh: Likewise.
39335 * term/i386/pc/vga.c: Indent correctly.
39336
39337 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39338 bugreporting address.
39339 * util/i386/pc/pupa-setup.c (usage): Likewise,
39340 (main): Call pupa_ext2_init and pupa_ext2_fini.
39341
39342 * fs/fat.c (log2): Renamed to ...
39343 (fat_log2): ... this.
39344 All callers changed.
39345 * kern/misc.c (memcpy): Alias to pupa_memmove.
39346 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39347 lvalue cast.
39348 * util/console.c (pupa_ncurses_fini): Return 0.
39349
39350 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39351 Move fail label here.
39352 [__GNU__]: Don't warn when using stat.
39353 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39354 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39355 long int. Use strtol instead of strtoul.
39356
39357 2004-03-14 Marco Gerards <metgerards@student.han.nl>
39358
39359 * commands/boot.c: New file.
39360 * commands/cat.c: Likewise.
39361 * commands/cmp.c: Likewise.
39362 * commands/ls.c: Likewise.
39363 * commands/terminal.c: Likewise.
39364 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39365 (pupa_register_command): Changed interface to match the new
39366 argument parser.
39367 (pupa_command_execute): Changed (almost rewritten) so it uses
39368 pupa_split_command. Added support for setting variables using the
39369 syntax `foo=bar'.
39370 (rescue_command): Changed to work with the new argument parser.
39371 (terminal_command): Moved from here to commands/terminal.c.
39372 (set_command): New function.
39373 (unset_command): New function.
39374 (insmod_command): New function.
39375 (rmmod_command): New function.
39376 (lsmod_command): New function.
39377 (pupa_command_init): Don't initialize the command terminal
39378 anymore. Initialize the commands set, unset, insmod, rmmod and
39379 lsmod.
39380 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39381 (kernel_img_HEADERS): Add arg.h and env.h.
39382 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39383 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39384 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39385 normal/arg.c.
39386 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39387 terminal.mod.
39388 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39389 (boot_mod_SOURCES): New variable.
39390 (terminal_mod_SOURCES): Likewise.
39391 (ls_mod_SOURCES): Likewise.
39392 (cmp_mod_SOURCES): Likewise.
39393 (cat_mod_SOURCES): Likewise.
39394
39395 * normal/arg.c: New file.
39396 * kern/env.c: Likewise.
39397 * include/pupa/arg.h: Likewise.
39398 * include/pupa/env.h: Likewise.
39399 * font/manager.c (font_command): Changed to match argument parsing
39400 interface changes.
39401 (PUPA_MOD_INIT): Likewise.
39402 * hello/hello.c (pupa_cmd_hello): Likewise.
39403 (PUPA_MOD_INIT): Likewise.
39404 * include/pupa/disk.h: Include <pupa/device.h>.
39405 (pupa_print_partinfo): New prototype.
39406 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39407 (pupa_dl_get_prefix): Likewise.
39408 * include/pupa/misc.h: Include <pupa/err.h>.
39409 (pupa_isgraph): New prototype.
39410 (pupa_isdigit): Likewise.
39411 (pupa_split_cmdline): Likewise.
39412 * include/pupa/normal.h: Include <pupa/arg.h>.
39413 (pupa_command): Changed the prototype of the member `func' to
39414 match the argument parsing interface. Added member `options'.
39415 (pupa_register_command): Updated to match function.
39416 (pupa_arg_parse): New prototype.
39417 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39418 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39419 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39420 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39421 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39422 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39423 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39424 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39425 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39426 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39427 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39428 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39429 * kern/disk.c: Include <pupa/file.h>.
39430 (pupa_print_partinfo): New function.
39431 * kern/dl.c: Include <pupa/env.h>.
39432 (pupa_dl_dir): Variable removed.
39433 (pupa_dl_load): Use the environment variable `prefix' instead of
39434 the variable pupa_dl_dir.
39435 (pupa_dl_set_prefix): Function removed.
39436 (pupa_dl_get_prefix): Likewise.
39437 * kern/i386/pc/init.c: Include <pupa/env.h>.
39438 (pupa_machine_init): Use the environment variable `prefix' instead of
39439 using pupa_dl_set_prefix to set the prefix.
39440 * kern/main.c: Include <pupa/env.h>.
39441 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39442 using pupa_dl_get_prefix to get the prefix.
39443 * kern/misc.c: Include <pupa/env.h>.
39444 (pupa_isdigit): New function.
39445 (pupa_isgraph): Likewise.
39446 (pupa_ftoa): Likewise.
39447 (pupa_vsprintf): Added support for printing values of the type
39448 `double'. Make it possible to format variable output when using
39449 formatting like `%1.2%f'.
39450 (pupa_split_cmdline): New function.
39451 * kern/rescue.c: Include <pupa/env.h>.
39452 (next_word): Removed function.
39453 (pupa_rescue_cmd_prefix): Likewise.
39454 (pupa_rescue_cmd_set): New function.
39455 (pupa_rescue_cmd_unset): New function.
39456 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39457 split the command line instead of splitting it here. Added
39458 support for setting variables using the syntax `foo=bar'. Don't
39459 initialize the prefix command anymore. Initialized the set and
39460 unset commands.
39461 * normal/cmdline.c: Include <pupa/env.h>.
39462 (pupa_tab_complete): Added prototypes for print_simple_completion,
39463 print_partition_completion, add_completion, iterate_commands,
39464 iterate_dev, iterate_part and iterate_dir. Moved code to print
39465 partition information from here to kern/disk.c.
39466 (pupa_cmdline_run): Don't check if the function exists anymore.
39467 * normal/main.c: Include <pupa/env.h>.
39468 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39469 instead of using pupa_dl_get_prefix to get the prefix.
39470 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39471 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39472 warning.
39473 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39474 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39475 ((unused))' to silence a gcc warning.
39476 (pupa_vga_setcolor): Likewise.
39477 (debug_command): Changed to match argument parsing
39478 interface changes.
39479 * util/pupa-emu.c: Include <pupa/env.h>.
39480 (options): Added 0's for unused fields to silence a gcc warning.
39481 (argp): Likewise.
39482 (main): Use the environment variable `prefix' instead of using
39483 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39484 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39485 and terminal.
39486
39487 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39488 * util/misc.c: Include <malloc.h>.
39489 (pupa_malloc): Rewritten so errors are correctly reported.
39490 (pupa_realloc): Likewise.
39491 (pupa_memalign): Likewise.
39492 (pupa_mm_init_region): Declare unused variables with
39493 `__attribute__ ((unused))' to silence a gcc warning.
39494 * normal/i386/setjmp.S: Remove tab at the end of the file to
39495 silence a gcc warning.
39496 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39497 variables with `__attribute__ ((unused))' to silence a gcc
39498 warning.
39499 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39500 local variable i unsigned to silence a gcc warning.
39501
39502 * kern/term.c: Include <pupa/misc.h>.
39503 (pupa_more_lines): New variable.
39504 (pupa_more): Likewise.
39505 (pupa_putcode): When the pager is active pause at the end of every
39506 screen.
39507 (pupa_set_more): New function.
39508 * include/pupa/term.h (pupa_set_more): New prototype.
39509
39510
39511 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39512
39513 Now this project is GRUB 2 rather than PUPA. The location of
39514 the CVS repository was moved to GRUB's.
39515
39516 * configure.ac: Use bug-grub as the reporting address.
39517 Use GRUB instead of PUPA.
39518 Change the version number to 1.90.
39519
39520 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39521
39522 * genkernsyms.sh: Updated copyright information.
39523 * genmk.rb: Likewise.
39524 * genmodsrc.sh: Likewise.
39525 * gensymlist.sh: Likewise.
39526 * boot/i386/pc/boot.S: Likewise.
39527 * boot/i386/pc/diskboot.S: Likewise.
39528 * disk/i386/pc/biosdisk.c: Likewise.
39529 * disk/i386/pc/partition.c: Likewise.
39530 * font/manager.c: Likewise.
39531 * fs/ext2.c: Likewise.
39532 * fs/fat.c: Likewise.
39533 * include/pupa/boot.h: Likewise.
39534 * include/pupa/device.h: Likewise.
39535 * include/pupa/disk.h: Likewise.
39536 * include/pupa/dl.h: Likewise.
39537 * include/pupa/elf.h: Likewise.
39538 * include/pupa/err.h: Likewise.
39539 * include/pupa/file.h: Likewise.
39540 * include/pupa/font.h: Likewise.
39541 * include/pupa/fs.h: Likewise.
39542 * include/pupa/kernel.h: Likewise.
39543 * include/pupa/loader.h: Likewise.
39544 * include/pupa/misc.h: Likewise.
39545 * include/pupa/mm.h: Likewise.
39546 * include/pupa/net.h: Likewise.
39547 * include/pupa/normal.h: Likewise.
39548 * include/pupa/rescue.h: Likewise.
39549 * include/pupa/setjmp.h: Likewise.
39550 * include/pupa/symbol.h: Likewise.
39551 * include/pupa/term.h: Likewise.
39552 * include/pupa/types.h: Likewise.
39553 * include/pupa/i386/setjmp.h: Likewise.
39554 * include/pupa/i386/types.h: Likewise.
39555 * include/pupa/i386/pc/biosdisk.h: Likewise.
39556 * include/pupa/i386/pc/boot.h: Likewise.
39557 * include/pupa/i386/pc/console.h: Likewise.
39558 * include/pupa/i386/pc/init.h: Likewise.
39559 * include/pupa/i386/pc/kernel.h: Likewise.
39560 * include/pupa/i386/pc/linux.h: Likewise.
39561 * include/pupa/i386/pc/loader.h: Likewise.
39562 * include/pupa/i386/pc/memory.h: Likewise.
39563 * include/pupa/i386/pc/multiboot.h: Likewise.
39564 * include/pupa/i386/pc/partition.h: Likewise.
39565 * include/pupa/i386/pc/time.h: Likewise.
39566 * include/pupa/i386/pc/vga.h: Likewise.
39567 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39568 * include/pupa/util/getroot.h: Likewise.
39569 * include/pupa/util/misc.h: Likewise.
39570 * include/pupa/util/resolve.h: Likewise.
39571 * kern/device.c: Likewise.
39572 * kern/disk.c: Likewise.
39573 * kern/dl.c: Likewise.
39574 * kern/err.c: Likewise.
39575 * kern/file.c: Likewise.
39576 * kern/fs.c: Likewise.
39577 * kern/loader.c: Likewise.
39578 * kern/main.c: Likewise.
39579 * kern/misc.c: Likewise.
39580 * kern/mm.c: Likewise.
39581 * kern/rescue.c: Likewise.
39582 * kern/term.c: Likewise.
39583 * kern/i386/dl.c: Likewise.
39584 * kern/i386/pc/init.c: Likewise.
39585 * kern/i386/pc/lzo1x.S: Likewise.
39586 * kern/i386/pc/startup.S: Likewise.
39587 * loader/i386/pc/chainloader.c: Likewise.
39588 * loader/i386/pc/linux.c: Likewise.
39589 * loader/i386/pc/multiboot.c: Likewise.
39590 * normal/cmdline.c: Likewise.
39591 * normal/command.c: Likewise.
39592 * normal/main.c: Likewise.
39593 * normal/menu.c: Likewise.
39594 * normal/i386/setjmp.S: Likewise.
39595 * term/i386/pc/console.c: Likewise.
39596 * term/i386/pc/vga.c: Likewise.
39597 * util/console.c: Likewise.
39598 * util/genmoddep.c: Likewise.
39599 * util/misc.c: Likewise.
39600 * util/pupa-emu.c: Likewise.
39601 * util/resolve.c: Likewise.
39602 * util/unifont2pff.rb: Likewise.
39603 * util/i386/pc/biosdisk.c: Likewise.
39604 * util/i386/pc/getroot.c: Likewise.
39605 * util/i386/pc/pupa-mkimage.c: Likewise.
39606 * util/i386/pc/pupa-setup.c: Likewise.
39607
39608 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39609
39610 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39611 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39612 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39613 reading and reset it after reading.
39614 (pupa_ext2_close): Return PUPA_ERR_NONE.
39615
39616 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39617 Correct value.
39618 (struct linux_kernel_header): Add kernel_version and
39619 initrd_addr_max.
39620 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39621 pupa_file_read succeeds.
39622 (pupa_rescue_cmd_initrd): Implement.
39623
39624 2003-12-03 Marco Gerards <metgerards@student.han.nl>
39625
39626 * fs/ext2.c (pupa_ext2_label): New function.
39627 (pupa_ext2_fs): Added label.
39628 * fs/fat.c (pupa_fat_label): New function.
39629 (pupa_fat_fs): Added label.
39630 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39631
39632 * kern/misc.c (pupa_strndup): New function.
39633 * include/pupa/misc.h (pupa_strndup): New prototype.
39634
39635 * include/pupa/normal.h: Include <pupa/err.h>.
39636 (pupa_set_history): New prototype.
39637 (pupa_iterate_commands): New prototype.
39638 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39639 <pupa/disk.h>, <pupa/file.h>.
39640 (hist_size): New variable.
39641 (hist_lines): Likewise.
39642 (hist_end): Likewise.
39643 (hist_used): Likewise.
39644 (pupa_set_history): New function.
39645 (pupa_history_get): Likewise.
39646 (pupa_history_add): Likewise.
39647 (pupa_history_replace): Likewise.
39648 (pupa_tab_complete): Likewise.
39649 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39650 completion shows partitionnames while completing partitions, this
39651 feature was suggested by Jeff Bailey.
39652 * normal/command.c (pupa_iterate_commands): New function.
39653 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39654 (pupa_normal_init): Initialize history buffer.
39655 (PUPA_MOD_INIT): Likewise.
39656 (pupa_normal_fini): Free the history buffer.
39657 (PUPA_MOD_FINI): Likewise.
39658
39659 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39660 key.
39661
39662 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39663 * configure.ac [i386]: Check for regparam bug.
39664 (NESTED_FUNC_ATTR) [! i386]: Defined.
39665
39666 2003-11-17 Marco Gerards <metgerards@student.han.nl>
39667
39668 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39669 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39670 (pupa_emu_SOURCES): New variable.
39671 (pupa_emu_LDFLAGS): Likewise.
39672 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39673 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39674 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39675 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39676 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39677 (pupa_jmp_buf): New typedef.
39678 (pupa_setjmp) [PUPA_UTIL]: New macro.
39679 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39680 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39681 (pupa_refresh): New prototype.
39682 * include/pupa/util/getroot.h: New file.
39683 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39684 it.
39685 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39686 (pupa_rescue_cmd_cat): Likewise.
39687 (pupa_rescue_cmd_ls): Likewise.
39688 (pupa_rescue_cmd_testload): Likewise.
39689 (pupa_rescue_cmd_lsmod): Likewise.
39690 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39691 * normal/menu.c (run_menu): Likewise.
39692 * kern/term.c (pupa_cls): Likewise.
39693 (pupa_refresh): New function.
39694 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39695 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39696 * util/console.c: New file.
39697
39698 * util/i386/pc/getroot.c: New file.
39699 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39700 (pupa_putchar): New function.
39701 (pupa_refresh): Likewise.
39702 (xgetcwd): Function moved to ...
39703 (strip_extra_slashes): Likewise.
39704 (get_prefix): Likewise.
39705 * util/i386/pc/getroot.c: ... here.
39706 (find_root_device): Function moved and renamed to...
39707 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39708 Changed all callers.
39709 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39710 and renamed to...
39711 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39712 Changed all callers.
39713 * util/misc.c (pupa_memalign): New function.
39714 (pupa_mm_init_region): Likewise.
39715 (pupa_register_exported_symbols): Likewise.
39716 (pupa_putchar): Function removed.
39717 * util/pupa-emu.c: New file.
39718
39719 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39720
39721 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39722 (_multiboot_mod_SOURCES): New variable.
39723 (_multiboot_mod_CFLAGS): Likewise.
39724 * loader/i386/pc/multiboot.c: New file.
39725 * include/pupa/i386/pc/multiboot.h: Likewise.
39726 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39727 (pupa_multiboot_real_boot): New function.
39728 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39729 (pupa_multiboot_real_boot): New prototype.
39730 (pupa_rescue_cmd_multiboot): Likewise
39731 (pupa_rescue_cmd_module): Likewise.
39732
39733 * kern/loader.c (pupa_loader_set): Continue when
39734 pupa_loader_unload_func() fails.
39735 (pupa_loader_unset): New function.
39736 * include/pupa/loader.h (pupa_loader_unset): New prototype.
39737
39738 * kern/misc.c (pupa_stpcpy): New function.
39739 * include/pupa/misc.h (pupa_stpcpy): New prototype.
39740
39741 2003-11-12 Marco Gerards <metgerards@student.han.nl>
39742
39743 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
39744 for available extensions.
39745
39746 * include/pupa/i386/pc/time.h: New file.
39747 * kern/disk.c: Include <pupa/machine/time.h>.
39748 (PUPA_CACHE_TIMEOUT): New macro.
39749 (pupa_last_time): New variable.
39750 (pupa_disk_open): Flush the cache when there was a timeout.
39751 (pupa_disk_close): Reset the timer.
39752 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
39753 pupa_currticks.
39754 * util/misc.c: Include <sys/times.h>
39755 (pupa_get_rtc): New function.
39756
39757 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39758
39759 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
39760 as blocks.
39761 (pupa_ext2_get_file_block): Use blocks member.
39762
39763 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
39764 first block. Return -1 instead of pupa_errno on error.
39765
39766 2003-10-27 Marco Gerards <metgerards@student.han.nl>
39767
39768 * README: In the pupa-mkimage example use _chain instead of chain
39769 and ext2 instead of fat.
39770 * TODO: Replace ext2fs with jfs as an example. Add an item for
39771 adding journal playback for ext2fs.
39772 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
39773 (pkgdata_MODULES): Added ext2.mod.
39774 (ext2_mod_SOURCES): New variable.
39775 (ext2_mod_CFLAGS): Likewise.
39776 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
39777 * include/pupa/misc.h (pupa_strncpy): New prototype.
39778 (pupa_strcat): Likewise.
39779 (pupa_strncmp): Likewise.
39780 * kern/misc.c (pupa_strcat): Enable function.
39781 (pupa_strncpy): New function.
39782 (pupa_strncmp): Likewise.
39783 * fs/ext2.c: New file.
39784
39785 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
39786 when the read failed before retrying.
39787 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
39788 (_FILE_OFFSET_BITS): Likewise.
39789 * configure.ac: Added AC_SYS_LARGEFILE.
39790
39791 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39792
39793 * genmk.rb (PModule#rule): Make sure to get only symbol names
39794 from the output of nm.
39795 Reported by Robert Millan <rmh.grub@aybabtu.com>.
39796
39797 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39798
39799 I forgot to check in these changes for a long time. This adds
39800 incomplete support for VGA console, and this is still very
39801 buggy. Also, a lot of consideration is required for I18N,
39802 UNICODE, and VGA font issues. Therefore, assume that this is
39803 such that "better than nothing".
39804
39805 * font/manager.c: New file.
39806 * include/pupa/font.h: Likewise.
39807 * include/pupa/i386/pc/vga.h: Likewise.
39808 * term/i386/pc/vga.c: Likewise.
39809 * util/unifont2pff.rb: Likewise.
39810
39811 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
39812 (pkgdata_MODULES): Added vga.mod and font.mod.
39813 (vga_mod_SOURCES): New variables.
39814 (vga_mod_CFLAGS): Likewise.
39815 (font_mod_SOURCES): Likewise.
39816 (font_mod_CFLAGS): Likewise.
39817
39818 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
39819
39820 * include/pupa/term.h: Include pupa/err.h.
39821 (struct pupa_term): Added init and fini.
39822 Changed the argument of putchar to pupa_uint32_t.
39823
39824 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
39825 (pupa_console_real_putchar): New prototype.
39826 (pupa_console_putchar): Removed.
39827 (pupa_console_checkkey): Exported.
39828 (pupa_console_getkey): Likewise.
39829
39830 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
39831 characters.
39832
39833 * kern/term.c (pupa_term_set_current): Rewritten.
39834 (pupa_putchar): Likewise.
39835 (pupa_putcode): New function.
39836
39837 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
39838 (pupa_console_real_putchar): ... this.
39839 (pupa_vga_set_mode): New function.
39840 (pupa_vga_get_font): Likewise.
39841
39842 * normal/command.c: Include pupa/term.h.
39843 (terminal_command): New function.
39844 (pupa_command_init): Register the command "terminal".
39845
39846 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
39847 (DISP_UP): Likewise.
39848 (DISP_RIGHT): Likewise.
39849 (DISP_DOWN): Likewise.
39850 (DISP_HLINE): Likewise.
39851 (DISP_VLINE): Likewise.
39852 (DISP_UL): Likewise.
39853 (DISP_UR): Likewise.
39854 (DISP_LL): Likewise.
39855 (DISP_LR): Likewise.
39856
39857 * term/i386/pc/console.c (pupa_console_putchar): New function.
39858
39859 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
39860
39861 * util/resolve.c (pupa_util_resolve_dependencies): BUG
39862 FIX. Reverse the path_list.
39863
39864 * include/pupa/normal.h: Export pupa_register_command and
39865 pupa_unregister_command.
39866
39867 * hello/hello.c (pupa_cmd_hello): New module.
39868 * conf/i386-pc.rmk: Added hello.mod.
39869
39870 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
39871
39872 * kern/i386/pc/lzo1x.S: New file.
39873
39874 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
39875 (compress_kernel): New variable.
39876 (generate_image): Heavily modified to support compressing a
39877 large part of the core image.
39878
39879 * util/misc.c (pupa_util_read_image): Fix a file descriptor
39880 leak.
39881 (pupa_util_load_image): New function.
39882
39883 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
39884 (pupa_compressed_size): New variable.
39885 (codestart): Enable Gate A20 here.
39886 Decompress the compressed part of the core image.
39887 Rearrange the code to put functions and variables which are
39888 required for initialization in the non-compressed part.
39889 Include lzo1x.S.
39890
39891 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
39892 here.
39893
39894 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
39895
39896 * include/pupa/i386/pc/kernel.h
39897 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
39898 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
39899 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39900 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39901 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
39902
39903 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
39904
39905 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
39906 (Utility#rule): Likewise.
39907
39908 * configure.ac: Check if LZO is available.
39909
39910 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
39911
39912 * include/pupa/normal.h: New file.
39913 * include/pupa/setjmp.h: Likewise.
39914 * include/pupa/i386/setjmp.h: Likewise.
39915 * normal/cmdline.c: Likewise.
39916 * normal/command.c: Likewise.
39917 * normal/main.c: Likewise.
39918 * normal/menu.c: Likewise.
39919 * normal/i386/setjmp.S: Likewise.
39920
39921 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
39922 (pupa_rescue_cmd_initrd): Likewise.
39923
39924 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
39925 Likewise.
39926
39927 * kern/i386/pc/startup.S (translation_table): New variable.
39928 (translate_keycode): New function.
39929 (pupa_console_getkey): Call translate_keycode.
39930
39931 * kern/rescue.c (attempt_normal_mode): New function.
39932 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
39933 it failed, print a message.
39934
39935 * kern/mm.c (pupa_real_malloc): Print more information when a
39936 free magic is broken.
39937 (pupa_free): If the first free header is not free actually, set
39938 it to P.
39939
39940 * kern/main.c (pupa_load_normal_mode): Just load the module
39941 "normal".
39942 (pupa_main): Don't print the message
39943 "Entering into rescue mode..." here.
39944
39945 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
39946 Declared.
39947 (pupa_rescue_cmd_initrd): Likewise.
39948 (pupa_rescue_cmd_initrd): Likewise.
39949
39950 * include/pupa/symbol.h (FUNCTION): Specify the type.
39951 (VARIABLE): Likewise.
39952
39953 * include/pupa/err.h (pupa_err_t): Added
39954 PUPA_ERR_UNKNOWN_COMMAND.
39955
39956 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
39957 (pupa_dl_get_prefix): Likewise.
39958
39959 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
39960 Added _chain.mod and _linux.mod instead of chain.mod and
39961 linux.mod.
39962 (chain_mod_SOURCES): Renamed to ...
39963 (_chain_mod_SOURCES): ... this.
39964 (chain_mod_CFLAGS): Renamed to ...
39965 (_chain_mod_CFLAGS): ... this.
39966 (linux_mod_SOURCES): Renamed to ...
39967 (_linux_mod_SOURCES): ... this.
39968 (linux_mod_CFLAGS): Renamed to ...
39969 (_linux_mod_CFLAGS): ... this.
39970 (normal_mod_SOURCES): New variable.
39971 (normal_mod_CFLAGS): Likewise.
39972 (normal_mod_ASFLAGS): Likewise.
39973
39974 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
39975
39976 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
39977 possible.
39978
39979 * kern/dl.c (pupa_dl_ref): Refer depending modules
39980 recursively.
39981 (pupa_dl_unref): Unrefer depending modules recursively.
39982 Don't call pupa_dl_unload implicitly, because PUPA can crash if
39983 a module is unloaded before one depending on that module is
39984 unloaded.
39985 (pupa_dl_unload): Unload depending modules explicitly,
39986 if possible.
39987
39988 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
39989
39990 * include/pupa/i386/pc/linux.h: New file.
39991 * loader/i386/pc/linux.c: Likewise.
39992
39993 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
39994 Removed.
39995 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
39996 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
39997 of PUPA_CHAINLOADER_BOOT_SECTOR.
39998
39999 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
40000 (pupa_linux_prot_size): New variable.
40001 (pupa_linux_tmp_addr): Likewise.
40002 (pupa_linux_real_addr): Likewise.
40003 (pupa_linux_boot_zimage): New function.
40004 (pupa_linux_boot_bzimage): Likewise.
40005
40006 * kern/i386/pc/init.c (struct mem_region): New structure.
40007 (MAX_REGIONS): New macro.
40008 (mem_regions): New variable.
40009 (num_regions): Likewise.
40010 (pupa_os_area_addr): Likewise.
40011 (pupa_os_area_size): Likewise.
40012 (pupa_lower_mem): Likewise.
40013 (pupa_upper_mem): Likewise.
40014 (add_mem_region): New function.
40015 (compact_mem_regions): Likewise.
40016 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
40017 the size of the conventional memory and that of so-called upper
40018 memory (before the first memory hole).
40019 Instead of adding each found region to free memory, use
40020 add_mem_region and add them after removing overlaps.
40021 Also, add only 1/4 of the upper memory to free memory. The rest
40022 is used for loading OS images. Maybe this is ad hoc, but this
40023 makes it much easier to relocate OS images when booting.
40024
40025 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
40026 (pupa_enter_rescue_mode): Don't register initrd and module.
40027
40028 * kern/mm.c: Include pupa/dl.h.
40029
40030 * kern/main.c: Include pupa/file.h and pupa/device.h.
40031
40032 * kern/loader.c (pupa_loader_load_module_func): Removed.
40033 (pupa_loader_load_module): Likewise.
40034
40035 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
40036 ``.o''.
40037
40038 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
40039 (pupa_linux_tmp_addr): Likewise.
40040 (pupa_linux_real_addr): Likewise.
40041 (pupa_linux_boot_zimage): Likewise.
40042 (pupa_linux_boot_bzimage): Likewise.
40043
40044 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
40045 (pupa_upper_mem): Likewise.
40046 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
40047 module is too dangerous.
40048
40049 * include/pupa/loader.h (pupa_os_area_addr): Declared.
40050 (pupa_os_area_size): Likewise.
40051 (pupa_loader_set): Remove the first argument. Loader doesn't
40052 manage modules or initrd any longer.
40053 (pupa_loader_load_module): Removed.
40054
40055 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
40056 (linux_mod_SOURCES): New variable.
40057 (linux_mod_CFLAGS): Likewise.
40058
40059 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40060
40061 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40062 the length of a blocklist correctly.
40063
40064 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40065 Use ioctl only if the OS file is a block device.
40066 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40067 not very useful for normal files.
40068
40069 * kern/main.c (pupa_set_root_dev): New function.
40070 (pupa_load_normal_mode): Likewise.
40071 (pupa_main): Call those above.
40072
40073 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40074 pupa_uint16_t.
40075
40076 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40077
40078 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40079
40080 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40081 (setup): Configure the installed partition information and the
40082 dl prefix.
40083
40084 * loader/i386/pc/chainloader.c (my_mod): New variable.
40085 (pupa_chainloader_unload): New function.
40086 (pupa_rescue_cmd_chainloader): Refer itself.
40087 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40088
40089 * kern/i386/pc/startup.S (install_partition): Removed.
40090 (version_string): Likewise.
40091 (config_file): Likewise.
40092 (pupa_install_dos_part): New variable.
40093 (pupa_install_bsd_part): Likewise.
40094 (pupa_prefix): Likewise.
40095 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40096
40097 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40098 and pupa/misc.h.
40099 (make_install_device): New function.
40100 (pupa_machine_init): Set the dl prefix.
40101
40102 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40103 (buf): Renamed to ...
40104 (linebuf): ... this.
40105 (pupa_rescue_cmd_prefix): New function.
40106 (pupa_rescue_cmd_insmod): Likewise.
40107 (pupa_rescue_cmd_rmmod): Likewise.
40108 (pupa_rescue_cmd_lsmod): Likewise.
40109 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40110 rmmod and lsmod.
40111
40112 * kern/mm.c (pupa_memalign): If failed even after invalidating
40113 disk caches, unload unneeded modules and retry.
40114
40115 * kern/misc.c (pupa_memmove): New function.
40116 (pupa_memcpy): Removed.
40117 (pupa_strcpy): New function.
40118 (pupa_itoa): Made static.
40119
40120 * kern/dl.c (pupa_dl_iterate): New function.
40121 (pupa_dl_ref): Likewise.
40122 (pupa_dl_unref): Likewise.
40123 (pupa_dl_unload): Return if succeeded or not.
40124 (pupa_dl_unload_unneeded): New function.
40125 (pupa_dl_unload_all): Likewise.
40126 (pupa_dl_init): Renamed to ...
40127 (pupa_dl_set_prefix): ... this.
40128 (pupa_dl_get_prefix): New function.
40129
40130 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40131 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40132 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40133 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40134 (pupa_install_dos_part): Declared.
40135 (pupa_install_bsd_part): Likewise.
40136 (pupa_prefix): Likewise.
40137 (pupa_boot_drive): Likewise.
40138
40139 * include/pupa/types.h: Fix a typo.
40140
40141 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40142 pupa_memmove.
40143 (pupa_memmove): Declared.
40144 (pupa_strcpy): Likewise.
40145
40146 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40147 pupa_mod_init takes one argument, its own module.
40148 (pupa_dl_unload_unneeded): Declared.
40149 (pupa_dl_unload_all): Likewise.
40150 (pupa_dl_ref): Likewise.
40151 (pupa_dl_unref): Likewise.
40152 (pupa_dl_iterate): Likewise.
40153 (pupa_dl_init): Renamed to ...
40154 (pupa_dl_set_prefix): ... this.
40155 (pupa_dl_get_prefix): Declared.
40156
40157 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40158 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40159 unloaded.
40160 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40161 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40162
40163 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40164 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40165
40166 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40167
40168 * util/i386/pc/pupa-setup.c (setup): Define the internal
40169 function find_first_partition_start at the top level, because GCC
40170 3.0.x cannot compile internal functions in deeper scopes
40171 correctly.
40172 (find_root_device): Use lstat instead of stat.
40173 Don't follow symbolic links.
40174 Fix the path-constructing code.
40175
40176 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40177 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40178 by a BLKGETSIZE ioctl first, because block devices don't fill
40179 the member st_mode of the structure stat on Linux.
40180 [__linux__] (linux_find_partition): Use a temporary buffer
40181 REAL_DEV for the working space. Copy it to DEV before returning.
40182 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40183 buffer cache consistent.
40184 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40185 strncmp. The previous value was merely wrong.
40186 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40187
40188 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40189 FAT size is 12. The previous value was merely wrong.
40190
40191 * kern/main.c (pupa_main): Don't split the starting message from
40192 newlines.
40193
40194 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40195 LF, because BIOS goes crazy about character attributes in this
40196 case.
40197
40198 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40199
40200 * include/i386/pc/util/biosdisk.h: New file.
40201 * util/i386/pc/biosdisk.c: Likewise.
40202 * util/i386/pc/pupa-setup.c: Likewise.
40203
40204 * Makefile.in (INCLUDE_DISTFILES): Added
40205 include/pupa/i386/pc/util/biosdisk.h.
40206 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40207 directory util/i386/pc.
40208 (install-local): Added a rule for sbin_UTILITIES.
40209 (uninstall): Likewise.
40210
40211 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40212
40213 * util/misc.c (xrealloc): New function.
40214 (pupa_malloc): Likewise.
40215 (pupa_free): Likewise.
40216 (pupa_realloc): Likewise.
40217 (pupa_stop): Likewise.
40218 (pupa_putchar): Likewise.
40219
40220 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40221
40222 * include/pupa/util/misc.h (xrealloc): Declared.
40223
40224 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40225 macro.
40226 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40227 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40228
40229 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40230 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40231
40232 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40233 way should be implemented.
40234 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40235
40236 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40237 the size of NAME for safety.
40238 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40239 0x88.
40240
40241 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40242 (pupa_setup_SOURCES): Likewise.
40243
40244 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40245
40246 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40247
40248 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40249 bunch of pushl's from pusha, because this destroys the return
40250 value.
40251
40252 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40253
40254 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40255 This means that any missing prototypes could be fatal. Also, you
40256 must take care when writing assembly code. See the comments at
40257 the beginning of startup.S, for more details.
40258
40259 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40260 compilation mechanism.
40261 (pupa_chainloader_real_boot): Likewise.
40262 (pupa_biosdisk_rw_int13_extensions): Likewise.
40263 (pupa_biosdisk_rw_standard): Likewise.
40264 (pupa_biosdisk_check_int13_extensions): Likewise.
40265 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40266 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40267 (pupa_get_memsize): Likewise.
40268 (pupa_get_mmap_entry): Likewise.
40269 (pupa_console_putchar): Likewise.
40270 (pupa_console_setcursor): Likewise.
40271 (pupa_getrtsecs): Use pushl instead of push.
40272
40273 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40274 memory instead of the stack for a mmap entry, because some
40275 BIOSes may ignore the maximum size and overflow.
40276
40277 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40278
40279 * genmk.rb (PModule#rule): Compile automatically generated
40280 sources with module-specific CFLAGS as well as other sources.
40281
40282 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40283
40284 * configure.ac: Check ld.
40285 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40286 respectively, before checking endianness and sizes.
40287
40288 * Makefile.in (LD): New variable.
40289
40290 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40291
40292 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40293
40294 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40295
40296 * Changelog: New file.
40297