]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* unicode: Import Unicode 6.0 data.
[grub2.git] / ChangeLog
1 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * unicode: Import Unicode 6.0 data.
4
5 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
8 outside of range.
9
10 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Avoid cutting in the middle of UTF-8 character.
13
14 * include/grub/charset.h (grub_getend): New function.
15 * grub-core/script/function.c (grub_script_function_find): Use
16 grub_getend.
17 * grub-core/normal/completion.c (add_completion): Likewise.
18
19 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
22 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
23 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
24 (GRUB_UNICODE_TAG_END): Likewise.
25 (GRUB_UNICODE_LAST_VALID): Likewise.
26
27 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
28
29 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
30 len and make it smaller. All users updated.
31 * util/import_unicode.py: Put length and not end character.
32 Check length.
33
34 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
35
36 Make better Unicode-compliant and unify some UTF-8 code pathes.
37
38 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
39 valid character.
40 (grub_is_valid_utf8): Use grub_utf8_process.
41 Check resulting code range.
42 (grub_utf8_to_ucs4): Use grub_utf8_process.
43 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
44 valid character.
45
46 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
47
48 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
49
50 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
51
52 * docs/grub.texi (Filesystems): Mention AFS.
53
54 2011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * docs/grub.texi (Filesystems): Clarify restrictions.
57 (Regexp): Mention non-Unicode regexp behaviour.
58 (Other): Mention non-Unicode matching behaviour.
59
60 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
61
62 Make HFS implementation use MacRoman.
63
64 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
65 (macroman): New const array.
66 (macroman_to_utf8): New function.
67 (utf8_to_macroman): Likewise.
68 (grub_hfs_find_dir): Use utf8_to_macroman.
69 (grub_hfs_dir): Use macroman_to_utf8.
70 Set case_insensitive.
71
72 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
75
76 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
77
78 Integrate hints into autogeneration scripts.
79
80 * docs/grub.texi (Filesystems): Add a hostdisk example.
81 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
82 (grub-probe): Add ofpath.
83 * gentpl.py: Remove group nosparc64.
84 * grub-core/commands/search.c (cache_entry): New struct.
85 (cache): New var.
86 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
87 * grub-core/commands/search_wrap.c (options): Add platform-specific
88 hint options.
89 (grub_cmd_search): Handle platform-specific hints.
90 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
91 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
92 (grub_util_biosdisk_data): Likewise.
93 (grub_util_biosdisk_open): Set device_map.
94 (read_device_map): Handle "" as indication of no map.
95 Set device_map.
96 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
97 (grub_util_biosdisk_get_compatibility_hint): New function.
98 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
99 * include/grub/emu/hostdisk.h
100 (grub_util_biosdisk_get_compatibility_hint): New proto.
101 * util/grub-install.in: Don't call grub-mkdevicemap.
102 Add platform-specific hint to load.cfg.
103 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
104 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
105 hints. Set root preliminary to compatibility hint, not to OS name.
106 * util/grub-probe.c (PRINT_*): Add hints.
107 (print): Make static.
108 (escape_of_path): New function.
109 (guess_bios_drive): Likewise.
110 (guess_efi_drive): Likewise.
111 (guess_baremetal_drive): Likewise.
112 (print_full_name): Likewise.
113 (probe): Handle hints.
114 (main): Likewise.
115 * util/ieee1275/devicemap.c: Removed.
116 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
117 updated.
118 (grub_util_devname_to_ofpath): Return NULL on failure.
119
120 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
121 resource leak.
122 * util/getroot.c (grub_util_pull_device): Fix memory leak.
123
124 * po/POTFILES.in: Regenerated.
125
126 Allow purely long options
127
128 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
129 (SHORT_ARG_USAGE): Likewise.
130 (grub_arg_show_help): Compare opt with help_options.
131 (parse_option): Receive opt as argument. If makes big simplificatons.
132 All users updated
133
134 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
135
136 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
137 Restructure to avoid warning.
138
139 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
140
141 * util/grub-install.in: Account for possible escaped comma in device
142 name.
143
144 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
145
146 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
147 channel.
148
149 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
150
151 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
152 allocation and zero-setting.
153 (grub_ieee1275_get_devname): Check that alias is complete.
154
155 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
156
157 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
158 unaligned segments.
159
160 2011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
161
162 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
163 prefix.
164 (grub_ofdisk_open): Check and discard ieee1275 prefix.
165 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
166 Add ieee1275 prefix.
167
168 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * docs/grub.texi (Filesystems): Update.
171
172 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
173
174 Support odc, newc and bigendian cpio formats.
175
176 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
177 * grub-core/Makefile.core.def (newc): New module.
178 (odc): Likewise.
179 (cpio_be): Likewise.
180 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
181 (MAGIC): Likewise.
182 (MAGIC2): Likewise.
183 (head) [MODE_ODC]: Adapt for the format.
184 (head) [MODE_NEWC]: Likewise.
185 (head) [!MODE_*]: Write fields of interest as arrays.
186 (MAGIC_USTAR): Removed.
187 (read_number) [MODE_NEWC]: Change to hex.
188 (read_number) [!MODE_*]: Parse binary arrays.
189 (grub_cpio_find_file): Factor out the code for better structure and
190 always use read_number.
191 (grub_cpio_mount): Use MAGIC and MAGIC2.
192 (grub_cpio_dir): Exit on first hook non-0 return.
193 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
194 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
195 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
196 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
197 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
198 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
199 * grub-core/fs/newc.c: New file.
200 * grub-core/fs/odc.c: Likewise.
201 * grub-core/fs/cpio_be.c: Likewise.
202
203 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
204
205 Fix handling of tar numbers occupying the whole field.
206
207 * grub-core/fs/cpio.c (read_number): New function.
208 (grub_cpio_find_file): Use read_number instead of strtoull.
209
210 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
211
212 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
213 occupying the whole field size.
214
215 2011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
216
217 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
218
219 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
220
221 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
222
223 2011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
224
225 * grub-core/Makefile.core.def (lzma_decompress): Add missing
226 TARGET_IMG_LDFLAGS.
227
228 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
229
230 * util/getroot.c (ESCAPED_PATH_MAX): New define.
231 (mountinfo_entry): Increase the field size to take escaping into
232 account.
233 (find_root_device_from_libzfs): Add one byte to size of strings for
234 security.
235
236 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
237
238 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
239 an assert.
240 * util/grub-setup.c (setup): Likewise.
241
242 2011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
243
244 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
245 _LzmaDecodeA.
246
247 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * docs/grub.texi (Internationalisation): New section.
250
251 2011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
252
253 * docs/grub.texi (Loopback booting): New section.
254
255 2011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
256
257 * util/grub-mkstandalone.in: Fix minor typo errors.
258
259 2011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
260
261 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
262
263 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
264 net/icmp.c and net/icmp6.c.
265 (http): New module.
266 (priority_queue): Likewise.
267 * grub-core/io/bufio.c: Rewritten.
268 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
269 TYPE_WITH_CONFIGFILE_OPTION.
270 (legacy_commands): Add bootp and dhcp.
271 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
272 (grub_legacy_parse): Likewise.
273 * grub-core/lib/priority_queue.c: New file.
274 * grub-core/net/arp.c: Add missing license header.
275 (arp_find_entry): Removed.
276 (arp_find_entry): Likewise.
277 (grub_net_arp_resolve): Rename to ...
278 (grub_net_arp_send_request): ...this.
279 (grub_net_arp_receive): New card argument.
280 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
281 Set router and DNS server.
282 (grub_net_configure_by_dhcp_ack): Handle routing information.
283 (grub_cmd_bootp): Set checksum.
284 (grub_bootp_init): Remove net_dhcp.
285 * grub-core/net/dns.c: New file.
286 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
287 completion.
288 (get_card_packet): Handle allocation.
289 (grub_efinet_findcards): Set mtu.
290 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
291 (get_card_packet): Handle allocation.
292 (emucard): Set mtu.
293 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
294 (GRUB_MOD_INIT): Set mtu.
295 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
296 mtu.
297 (get_card_packet): Handle allocation.
298 (grub_ofnet_findcards): Set mtu.
299 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
300 assert.
301 (grub_net_recv_ethernet_packet): Handle IPv6.
302 * grub-core/net/http.c: New file.
303 * grub-core/net/icmp.c: Likewise.
304 * grub-core/net/icmp6.c: Likewise.
305 * grub-core/net/ip.c (ip6addr): New type.
306 (ip6hdr): Likewise.
307 (reassemble): Likewise.
308 (cmp): New function.
309 (reassembles): New variable.
310 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
311 (id): New variable.
312 (send_fragmented): New function.
313 (grub_net_send_ip_packet): Rename to ...
314 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
315 Handle non-UDP.
316 (grub_net_recv_ip_packets): Rename to ...
317 (handle_dgram): ... this. Check checksum. Handle non-UDP.
318 (free_rsm): New function.
319 (free_old_fragments): Likewise.
320 (grub_net_recv_ip4_packets): New function.
321 (grub_net_send_ip6_packet): Likewise.
322 (grub_net_send_ip_packet): Likewise.
323 (grub_net_recv_ip6_packets): Likewise.
324 (grub_net_recv_ip_packets): Likewise.
325 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
326 (LINK_LAYER_CACHE_SIZE): New const.
327 (link_layer_find_entry): New function.
328 (grub_net_link_layer_add_address): Likewise.
329 (grub_net_link_layer_resolve_check): Likewise.
330 (grub_net_link_layer_resolve): Likewise.
331 (grub_net_ipv6_get_slaac): Likewise.
332 (grub_net_ipv6_get_link_local): Likewise.
333 (grub_cmd_ipv6_autoconf): Likewise.
334 (parse_ip): Handle one number representation.
335 (parse_ip6): New functoion.
336 (match_net): Handle IPv6.
337 (grub_net_resolve_address): Handle IPv6 and DNS.
338 (grub_net_resolve_net_address): Handle IPv6.
339 (route_cmp): New function.
340 (grub_net_route_address): Find best route.
341 (grub_net_addr_to_str): Handle IPv6.
342 (grub_net_addr_cmp): New function.
343 (grub_net_add_addr): Register local route.
344 (print_net_address): Handle net address.
345 (grub_net_poll_cards): Retransmit TCP.
346 (grub_net_poll_cards_idle_real): Likewise.
347 (have_ahead): New function.
348 (grub_net_seek_real): Use underlying seek.
349 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
350 * grub-core/net/tcp.c: New file.
351 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
352 (cmp): New function.
353 (ack): Likewise.
354 (tftp_receive): Handle unordered input.
355 (destroy_pq): New function.
356 (tftp_close): Close pq.
357 * grub-core/net/udp.c: Put missing license header.
358 (grub_net_udp_socket): New function.
359 (udp_socket_register): Likewise.
360 (grub_net_udp_close): Likewise.
361 (grub_net_recv_udp_packet): Check checksum.
362 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
363 * include/grub/misc.h (grub_memchr): New function.
364 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
365 (grub_net_card_driver): Return buf in recv.
366 (grub_net_slaac_mac_list): New struct.
367 (grub_network_level_protocol_id): Add ipv6.
368 (grub_net_network_level_addr): Likewise.
369 (grub_net_network_level_net_addr): Likewise.
370 (grub_net_app_protocol): Add seek.
371 (grub_net_socket): Removed.
372 (grub_net_sockets): Likewise.
373 (grub_net_socket_register): Likewise.
374 (grub_net_socket_unregister): Likewise.
375 (FOR_NET_SOCKETS): Likewise.
376 (grub_net_add_addr): Add const.
377 (GRUB_NET_BOOTP_*): New enum.
378 (grub_net_addr_cmp): New proto.
379 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
380 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
381 (grub_net_hwaddr_to_str): NEw proto.
382 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
383 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
384 (grub_dns_init): New proto.
385 (grub_dns_fini): Likewise.
386 (grub_net_tcp_retransmit): Likewise.
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_dns_lookup): Likewise.
391 (grub_net_add_dns_server): Likewise.
392 (grub_net_remove_dns_server): Likewise.
393 (GRUB_NET_TRIES): New const.
394 (GRUB_NET_INTERVAL): Likewise.
395 * include/grub/net/arp.h: Mostly rewritten.
396 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
397 * include/grub/net/ip.h: Mostly rewritten.
398 * include/grub/net/netbuff.h: Indent.
399 * include/grub/net/tcp.h: New file.
400 * include/grub/net/udp.h: Mostly rewritten.
401 * include/grub/priority_queue.h: New file.
402 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
403 (grub_swap_bytes64_compile_time): Likewise.
404 (grub_cpu_to_be16_compile_time): Likewise.
405 (grub_cpu_to_be32_compile_time): Likewise.
406 (grub_cpu_to_be64_compile_time): Likewise.
407 (grub_be_to_cpu64_compile_time): Likewise.
408
409 2011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
410
411 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
412 UINT_TO_PTR with cast.
413
414 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
415
416 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
417 don't use them.
418
419 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
422 already there.
423
424 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
425
426 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
427 confusing ipxe.
428
429 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
430
431 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
432 Add missing const attribute.
433 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
434 Likewise.
435 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
436 Likewise.
437
438 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
439
440 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
441 misaligned access.
442 (serpent_setkey): Likewise.
443 (serpent_encrypt_internal): Likewise.
444 (serpent_decrypt_internal): Likewise.
445 (serpent_encrypt): Don't put an alignment-increasing cast.
446 (serpent_decrypt): Likewise.
447 (serpent_test): Likewise.
448
449 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
450
451 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
452
453 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
454
455 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
456
457 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
458 grub_addr_t casts.
459 (PTR_TO_UINT64): Likewise.
460 (PTR_TO_UINT32): Likewise.
461
462 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * util/grub-mkimage.c (generate_image): Decrease the higher limit
465 because of stack.
466 * util/grub-setup.c (setup): Don't add redundancy past the higher load
467 limit.
468
469 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
470
471 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
472 text_width > available width a bit more gracefully.
473
474 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
475
476 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
477 current address calculation.
478
479 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
480
481 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
482 stack.
483 (encode_block): Likewise.
484
485 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
486
487 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
488 certainety.
489
490 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
491
492 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
493 non-RS part to avoid RS messing with GDT.
494 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
495 Increase to suit in realmode routines.
496
497 2011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * grub-core/kern/i386/realmode.S: Increase alignment.
500 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
501
502 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
503
504 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
505 be deterministic.
506 (syndroms): Compute 0 syndrom.
507 (rs_recover): Use 0 syndrom.
508
509 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
510
511 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
512
513 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
516 brackets.
517
518 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
519
520 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
521 account.
522 (get_top_pad): Likewise.
523 (get_right_pad): Likewise.
524 (get_bottom_pad): Likewise.
525
526 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
527
528 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
529
530 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
533 attribute as the structure isn't guaranteed to be properly aligned.
534 (grub_efi_pci_device_path): Likewise.
535 (grub_efi_pccard_device_path): Likewise.
536 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
537 specify the size of `memory_type'.
538 (grub_efi_vendor_device_path): Likewise.
539 (grub_efi_controller_device_path): Likewise.
540 (grub_efi_acpi_device_path): Likewise.
541 (grub_efi_expanded_acpi_device_path): Likewise.
542 (grub_efi_atapi_device_path): Likewise.
543 (grub_efi_scsi_device_path): Likewise.
544 (grub_efi_fibre_channel_device_path): Likewise.
545 (grub_efi_1394_device_path): Likewise.
546 (grub_efi_usb_device_path): Likewise.
547 (grub_efi_usb_class_device_path): Likewise.
548 (grub_efi_i2o_device_path): Likewise.
549 (grub_efi_mac_address_device_path): Likewise.
550 (grub_efi_ipv4_device_path): Likewise.
551 (grub_efi_ipv6_device_path): Likewise.
552 (grub_efi_infiniband_device_path): Likewise.
553 (grub_efi_uart_device_path): Likewise.
554 (grub_efi_vendor_messaging_device_path): Likewise.
555 (grub_efi_hard_drive_device_path): Likewise.
556 (grub_efi_cdrom_device_path): Likewise.
557 (grub_efi_vendor_media_device_path): Likewise.
558 (grub_efi_file_path_device_path): Likewise.
559 (grub_efi_protocol_device_path): Likewise.
560 (grub_efi_piwg_device_path): Likewise.
561 (grub_efi_bios_device_path): Likewise.
562
563 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
566 (grub_ucs4_to_utf8_alloc): Likewise.
567 (grub_ucs4_to_utf8): Likewise.
568 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
569 (grub_ucs4_to_utf8_alloc): Likewise.
570
571 2011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
572
573 AFFS never uses unicode.
574
575 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
576 (grub_latin1_to_utf8): New inline function.
577 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
578
579 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
580
581 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
582 overflow.
583
584 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
585
586 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
587 (grub_squash_dirent_header): Likewise.
588 (read_chunk): Don't double swap.
589 (grub_squash_iterate_dir): Fix swap sizes.
590
591 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
592
593 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
594
595 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
596
597 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
598 (grub_hfs_iterate_dir): Likewise.
599
600 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
601
602 Fix video on platforms where unaligned access is forbidden.
603 Make several optimisations while on it.
604
605 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
606 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
607 (grub_video_fbblit_replace_32bit_1bit): Likewise.
608 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
609 Disable.
610 (grub_video_fbblit_replace_16bit_1bit):
611 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
612 (grub_video_fbblit_replace_8bit_1bit): Likewise.
613 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
614 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
615 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
616 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
617 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
618 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
619 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
620 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
621 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
622 (grub_video_fbblit_replace_index_RGB888): Likewise.
623 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
624 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
625 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
626 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
627 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
628 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
629 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
630 Disable.
631 (grub_video_fbblit_blend_XXX565_1bit):
632 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
633 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
634 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
635 void *.
636 * grub-core/video/fb/video_fb.c (common_blitter)
637 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
638 (grub_video_fb_create_render_target_from_pointer)
639 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
640 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
641 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
642 definition.
643 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
644
645 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
646
647 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
648 HH22 and HM10 relocations.
649
650 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
653
654 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
655
656 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
657 allocation succeeded.
658
659 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
662 argument a u8 pointer. All users updated.
663 Handle unaligned buffers.
664
665 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
666
667 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
668 add_part to workaround compiler bug.
669
670 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
671
672 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
673
674 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
675
676 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
677 Reserve alignment invariants.
678 (grub_multiboot_load): Likewise.
679 (retrieve_video_parameters): Likewise.
680 (grub_multiboot_make_mbi): Likewise.
681
682 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
683
684 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
685 incorrect pointer.
686
687 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
690 (grub_pata_pio_write): Likewise.
691
692 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
693
694 Add noreturn attributes and remove unreachable code.
695
696 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
697 code.
698 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
699 code. Mark as noreturn.
700 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
701 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
702 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
703 unreachable code.
704 * grub-core/kern/main.c (grub_main): Mark as noreturn.
705 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
706 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
707 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
708 * include/grub/kernel.h (grub_main): Mark as noreturn.
709 * include/grub/reader.h (grub_rescue_run): Likewise.
710
711 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
712
713 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
714 redundant declaration.
715
716 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * include/grub/net.h (grub_net_network_level_interfaces): Remove
719 redundant declaration.
720 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
721
722 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
725 to ensure alignment.
726 (grub_hdparm_print_identify): Make argument uint16 * to ensure
727 alignment. Ensure tmp alignment.
728 (grub_cmd_hdparm): Ensure buf alignment.
729 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
730 to ensure alignment.
731 (grub_ata_dumpinfo): Ensure text alignment.
732 (grub_atapi_identify): Preserve alignment invariant.
733 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
734
735 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
738 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
739 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
740 * include/grub/misc.h (grub_reboot)
741 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
742 (grub_halt) [__mips__]: Likewise.
743
744 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
745
746 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
747 Remove redundant declaration.
748 (grub_mmap_get_post64): Likewise.
749 (grub_mmap_get_upper): Likewise.
750 (grub_mmap_get_lower): Likewise.
751
752 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
755 uint32_t * to ensure alignment.
756 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
757
758 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
761 uint16_t * to ensure alignment.
762 (sun_pc_partition_map_iterate): Make `block' a union to ensure
763 alignment.
764
765 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
766
767 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
768 to ensure alignment.
769 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
770
771 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
772
773 * grub-core/fs/ntfs.c (u16at): Make into inline function.
774 Handle unaligned pointers.
775 (u32at): Likewise.
776 (u64at): Likewise.
777 (fixup): Use byte access instead of v16at.
778 (find_attr): Fix imporper usage of v32at.
779 (read_data): Likewise.
780 (list_file): Handle byte-swapping and unaligned strings.
781 (grub_ntfs_label): Likewise.
782
783 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
786 as it's not necessarily aligned.
787
788 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
789
790 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
791 redundant declaration.
792 (grub_serial_init): Likewise.
793 (grub_terminfo_init): Likewise.
794
795 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
798 function.
799 (ZAP_HASH_IDX): Likewise.
800 (ZAP_LEAF_HASH_SHIFT): Likewise.
801 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
802 (LEAF_HASH): Likewise.
803 (ZAP_LEAF_NUMCHUNKS): Likewise.
804 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
805 alignment invariants. Return pointer. All users updated.
806 (ZAP_LEAF_ENTRY): Make into inline function.
807 (NBBY): Removed.
808 (xor): LIkewise.
809 (xor_out): Use grub_crypto_xor.
810 (dnode_get_path): Use grub_get_unaligned.
811 (nvlist_find_value): Likewise.
812 (grub_zfs_nvlist_lookup_uint64): Likewise.
813 (grub_zfs_nvlist_lookup_string): Likewise.
814 (get_nvlist_size): Likewise.
815 (grub_zfs_open): Likewise.
816 (fill_fs_info): Likewise.
817 (grub_zfs_dir): Likewise.
818 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
819 alignment invariants.
820 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
821 necessarily aligned.
822
823 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
824
825 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
826
827 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
828
829 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
830 arithmetic to conserve alignment invariants.
831
832 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
833
834 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
835 redundant declaration.
836 (grub_efiemu_mm_obtain_request): Likewise.
837 (grub_efiemu_prepare): Likewise.
838
839 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
842 to match types.
843
844 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
847 case of aunaligned recptr.
848 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
849 alignment.
850 (grub_hfsplus_btree_search): Handle unaligned index.
851
852 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
855 to get freetag and skip.
856
857 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
858
859 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
860 array.
861 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
862 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
863
864 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
867 name for checksum and fix allocation algorithm.
868
869 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * include/grub/types.h (grub_properly_aligned_t): New type.
872 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
873 (grub_get_unaligned16): Add explicit casts.
874 (grub_get_unaligned32): Likewise.
875 (grub_get_unaligned64): Likewise.
876 (grub_set_unaligned16): New function.
877 (grub_set_unaligned32): Likewise.
878
879 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
882
883 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
886 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
887 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
888
889 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
892 conditionals.
893
894 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
897 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
898
899 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
900
901 Unify and improve RAID and crypto xor.
902
903 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
904 changed to grub_crypto_xor
905 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
906 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
907 Use bigger types when possible.
908
909 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * grub-core/disk/raid.c (scan_devices): Fix condition.
912
913 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
914
915 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
916 Make name a const ptr.
917
918 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
919
920 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
921 first argument a const pointer.
922 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
923 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
924 proto.
925 (grub_children_iterate): Likewise.
926 (grub_machine_mmap_iterate): Remove redundant declaration.
927
928 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
931 (grub_cmd_acpi) [!x86]: Disable EBDA.
932
933 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
934
935 Enable UTF8 in gnulib regexp.
936
937 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
938 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
939 (isupper): Use grub_isupper.
940 (isascii): New inline function.
941 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
942 * grub-core/lib/posix_wrap/wctype.h: Likewise.
943 * grub-core/normal/charset.c (grub_utf8_process): New function.
944 (grub_utf8_to_utf16): Use grub_utf8_process.
945 (grub_encode_utf8_character): New function.
946 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
947 * include/grub/charset.h (grub_utf8_process): New declaration.
948 (grub_encode_utf8_character): Likewise.
949 * include/grub/misc.h (grub_islower): New inline function.
950 (grub_isupper): Likewise.
951 (grub_strchrsub): Moved down to fix the definitions.
952
953 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
956 specification.
957
958 2011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
959
960 * include/grub/loader.h (grub_loader_register_preboot_hook):
961 Use struct preboot * and not void * for handle. All users updated.
962 (grub_loader_unregister_preboot_hook): Likewise.
963
964 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
965
966 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
967 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
968 UTF-16-BE. All users updated.
969 (grub_hfsplus_cmp_catkey): Fix unicode handling.
970 (grub_hfsplus_iterate_dir): Likewise.
971 (grub_hfsplus_label): Likewise.
972
973 2011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
974
975 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
976
977 2011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
978
979 Add missing const qualifiers.
980
981 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
982 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
983 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
984 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
985 (grub_lvm_check_flag): Likewise.
986 * grub-core/efiemu/i386/coredetect.c
987 (grub_efiemu_get_default_core_name): Likewise
988 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
989 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
990 * grub-core/fs/ntfs.c (fixup): Likewise.
991 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
992 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
993 (fzap_lookup): Likewise.
994 (zap_lookup): Likewise.
995 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
996 * grub-core/lib/legacy_parse.c (check_option): Likewise.
997 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
998 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
999 (grub_freebsd_add_meta_module): Likewise.
1000 (grub_cmd_freebsd_module): Likewise.
1001 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
1002 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
1003 (grub_xnu_writetree_get_size): Likewise.
1004 (grub_xnu_writetree_toheap_real): Likewise.
1005 (grub_xnu_find_key): Likewise.
1006 (grub_xnu_create_key): Likewise.
1007 (grub_xnu_create_value): Likewise.
1008 (grub_xnu_register_memory): Likewise.
1009 (grub_xnu_check_os_bundle_required): Likewise.
1010 (grub_xnu_scan_dir_for_kexts): Likewise.
1011 (grub_xnu_load_kext_from_dir): Likewise.
1012 * grub-core/normal/color.c (color_list): Likewise.
1013 * grub-core/normal/completion.c (current_word): Likewise.
1014 * grub-core/normal/menu_entry.c (insert_string): Likewise.
1015 * grub-core/term/serial.c (grub_serial_find): Likewise.
1016 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
1017 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
1018 Likewise.
1019 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
1020 (grub_freebsd_add_meta_module): Likewise.
1021 * include/grub/lib/arg.h (grub_arg_option): Likewise.
1022 * include/grub/net.h (grub_net_card_driver): Likewise.
1023 (grub_net_card): Likewise.
1024 (grub_net_app_protocol): Likewise.
1025 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
1026 * include/grub/serial.h (grub_serial_find): Likewise.
1027 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
1028 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
1029 (grub_xnu_create_value): Likewise.
1030 (grub_xnu_find_key): Likewise.
1031 (grub_xnu_scan_dir_for_kexts): Likewise.
1032 (grub_xnu_load_kext_from_dir): Likewise.
1033
1034 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
1035 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
1036 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
1037 Moved from here ...
1038 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
1039
1040 2011-11-28 Colin Watson <cjwatson@ubuntu.com>
1041
1042 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
1043
1044 2011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
1047 (read_device): Fix size calculation.
1048
1049 2011-11-25 Robert Millan <rmh@gnu.org>
1050
1051 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1052 (find_root_device_from_libzfs): Add zpool output parser to be used
1053 as fallback when libzfs isn't available.
1054
1055 2011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1056
1057 * po/Makefile.in.in: Add missing escape-continuation.
1058
1059 2011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1062
1063 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1066
1067 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1070
1071 2011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1072
1073 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1074
1075 2011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * grub-core/lib/adler32.c: Add missing license specification.
1078 * grub-core/lib/crc64.c: Likewise.
1079 * grub-core/loader/i386/pc/plan9.c: Likewise.
1080 * grub-core/partmap/plan.c: Likewise.
1081
1082 2011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1083
1084 Add facility to debug GRUB with gdb under qemu.
1085
1086 * grub-core/gdb_grub.in: New file.
1087 * grub-core/gmodule.pl.in: Likewise.
1088 * grub-core/Makefile.core.def (gmodule.pl): New script.
1089 (gdb_grub): Likewise.
1090
1091 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * util/grub-mount.c (argp_parser): Accept relative pathes.
1094 * util/grub-fstest.c (argp_parser): Likewise.
1095
1096 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1097
1098 Plan9 support.
1099
1100 * Makefile.util.def (libgrubmods): Add
1101 grub-core/partmap/plan.c.
1102 * docs/grub.texi: Notice Plan9 support.
1103 * grub-core/Makefile.core.def (plan9): New module.
1104 (part_plan): Likewise.
1105 * grub-core/loader/i386/pc/plan9.c: New file.
1106 * grub-core/partmap/plan.c: Likewise.
1107 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1108 define.
1109 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1110 * include/grub/mm.h (grub_extend_alloc): New inline function.
1111
1112 2011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1113
1114 Make Reed-Solomon faster by using power of generator representation of
1115 GF(256)*.
1116
1117 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1118 (gf_double_t): Likewise.
1119 (gf_invert): Removed.
1120 (gf_powx): New array.
1121 (gf_powx_inv): Likewise.
1122 (scratch): Move higher.
1123 (gf_reduce): Removed.
1124 (gf_mul): Use powx.
1125 (gf_invert): Likewise.
1126 (init_inverts): Replaced with ...
1127 (init_powx): ...this. All users updated.
1128 (pol_evaluate): Replace multiplications with additions.
1129 (rs_encode): Likewise.
1130 (gauss_eliminate): Call gf_invert.
1131 (grub_reed_solomon_add_redundancy): Call init_powx.
1132 (grub_reed_solomon_recover): Call init_powx unconditionally.
1133
1134 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1137
1138 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1141 disk->partiton for safety.
1142
1143 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1144
1145 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1146 Fix a memory leak.
1147 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1148
1149 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1150
1151 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1152
1153 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1156
1157 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1158
1159 Fix spaces handling in proc/self/mountinfo.
1160
1161 * util/getroot.c (unescape): New function.
1162 (grub_find_root_device_from_mountinfo): Use unescape.
1163
1164 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Support ZFS embedding.
1167
1168 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1169 (grub_zfs_fs): Register grub_zfs_embed.
1170
1171 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 Fix MIPS compilation.
1174
1175 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1176 * include/grub/offsets.h: Rename decompressor fields from
1177 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1178 * util/grub-mkimage.c (image_targets): Use new names.
1179
1180 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 Defer multiboot device parsing until we're in compressed part.
1183
1184 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1185 bsd_part. setdevice has fallen into disuse.
1186 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1187 (bsd_part): Likewise.
1188 (boot_dev): New variable.
1189 (multiboot_trampoline): Don't parse multiboot device.
1190 Pass multiboot device in %edx.
1191 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1192 grub_boot_device.
1193 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1194 Likewise.
1195 * grub-core/kern/i386/pc/startup.S: Save edx.
1196 (grub_boot_drive): Removed.
1197 (grub_install_dos_part): Likewise.
1198 (grub_install_bsd_part): Likewise.
1199 (grub_boot_device): New variable.
1200 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1201 (grub_install_bsd_part): Likewise.
1202 (grub_boot_drive): Likewise.
1203 (grub_boot_device): New variable.
1204 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1205 Removed.
1206 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1207 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1208 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1209 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1210 * util/grub-install.in: Remove redundant condition.
1211
1212 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 Fix bug introduced by previous commit.
1215
1216 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1217
1218 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 Use decompressors framework on i386-pc. It increases core size
1221 by 46 bytes but improves compatibility and maintainability.
1222
1223 * grub-core/Makefile.core.def (lzma_decompress): New image.
1224 (kernel): Add i386_pc_ldflags.
1225 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1226 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1227 to real_to_prot, prot_to_real and device info.
1228 * include/grub/offsets.h: Renamed decompressor offsets.
1229 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1230 (image_target_desc): Remove raw_size and rename decompressor fields.
1231 (compress_kernel): Handle lzma.
1232 (generate_image): Handle decompressors on i386-pc.
1233
1234 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * configure.ac: Add -fno-asynchronous-unwind-tables.
1237
1238 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 Move assembly code to C by using intwrap. It increases core size
1241 by 88 bytes but improves compatibility and maintainability.
1242
1243 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1244 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1245 ... here. Translated to C.
1246 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1247 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1248 ... here. Translated to C.
1249 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1250 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1251 ... here. Translated to C.
1252 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1253 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1254 ... here. Translated to C.
1255 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1256 * grub-core/term/i386/pc/console.c (grub_console_cls):
1257 ... here. Translated to C.
1258 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1259 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1260 ... here. Translated to C.
1261 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1262 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1263 Translated to C.
1264 * grub-core/term/i386/pc/console.c (int10_9): New function.
1265 (grub_console_putchar): Likewise.
1266 * include/grub/i386/pc/console.h: Removed the not anymore shared
1267 functions.
1268
1269 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1270
1271 Move grub_chainloader_real_boot out of the kernel.
1272
1273 * grub-core/Makefile.am: Remove machine/loader.h.
1274 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1275 Removed.
1276 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1277 variable.
1278 (grub_relocator16_keep_a20_enabled): Likewise.
1279 (grub_relocator16_boot): Fill new variables.
1280 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1281 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1282 relocator.
1283 (grub_chainloader_unload): Likewise.
1284 (grub_chainloader_cmd): Likewise.
1285 * include/grub/i386/pc/loader.h: Removed.
1286 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1287 and esi. All initialisers updated.
1288
1289 2011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1290 2011-11-12 Colin Watson <cjwatson@ubuntu.com>
1291
1292 * Makefile.util.def (grub-mount): New util.
1293 * .bzrignore: Add grub-mount.
1294 * configure.ac: Check for fuse and enable grub-mount if available.
1295 * docs/man/grub-mount.h2m: New file.
1296 * util/grub-mount.c: Likewise.
1297
1298 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/commands/efi/fixvideo.c: Gettextize.
1301 * grub-core/commands/hashsum.c: Likewise.
1302 * grub-core/commands/i386/cmostest.c: Likewise.
1303 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1304 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1305 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1306 * grub-core/commands/lsmmap.c: Likewise.
1307 * grub-core/commands/menuentry.c: Likewise.
1308 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1309 * grub-core/commands/setpci.c: Likewise.
1310 * grub-core/loader/i386/bsd.c: Likewise.
1311 * grub-core/loader/i386/linux.c: Likewise.
1312 * util/getroot.c: Likewise.
1313 * util/grub-editenv.c: Likewise.
1314 * util/grub-fstest.c: Likewise.
1315 * util/grub-mkfont.c: Likewise.
1316 * util/grub-mkimage.c: Likewise.
1317 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1318 * util/grub-pe2elf.c: Likewise.
1319 * util/grub-probe.c: Likewise.
1320 * util/grub-setup.c: Likewise.
1321 * util/ieee1275/ofpath.c: Likewise.
1322 * util/misc.c: Likewise.
1323 * util/raid.c: Likewise.
1324
1325 2011-11-11 Robert Millan <rmh@gnu.org>
1326
1327 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1328 __attribute__((unused)) from `os_dev', which *is* being used.
1329
1330 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1331
1332 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1333 forgotten define.
1334 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1335 GRUB_IA64_DL_GOT_ALIGN.
1336 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1337 GRUB_IA64_DL_TRAMP_ALIGN.
1338
1339 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 Replace grub_fatal with normal errors in i386 linux loader.
1342
1343 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1344 (allocate_pages): Check find_efi_mmap_size return value.
1345 (grub_e820_add_region): Return error.
1346 (grub_linux_boot): Check mmap return value.
1347
1348 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/commands/acpihalt.c: Gettextized.
1351 * grub-core/commands/cacheinfo.c: Likewise.
1352 * grub-core/commands/cmp.c: Likewise.
1353 * grub-core/commands/efi/loadbios.c: Likewise.
1354 * grub-core/commands/gptsync.c: Likewise.
1355 * grub-core/commands/ieee1275/suspend.c: Likewise.
1356 * grub-core/commands/legacycfg.c: Likewise.
1357 * grub-core/commands/memrw.c: Likewise.
1358 * grub-core/commands/minicmd.c: Likewise.
1359 * grub-core/commands/parttool.c: Likewise.
1360 * grub-core/commands/time.c: Likewise.
1361 * grub-core/commands/videoinfo.c: Likewise.
1362 * grub-core/disk/geli.c: Likewise.
1363 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1364 * grub-core/disk/luks.c: Likewise.
1365 * grub-core/disk/lvm.c: Likewise.
1366 * grub-core/font/font_cmd.c: Likewise.
1367 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1368 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1369 * grub-core/gfxmenu/view.c: Likewise.
1370 * grub-core/kern/emu/hostdisk.c: Likewise.
1371 * grub-core/kern/emu/main.c: Likewise.
1372 * grub-core/kern/emu/misc.c: Likewise.
1373 * grub-core/kern/emu/mm.c: Likewise.
1374 * grub-core/kern/mips/arc/init.c: Likewise.
1375 * grub-core/kern/mips/loongson/init.c: Likewise.
1376 * grub-core/kern/partition.c: Likewise.
1377 * grub-core/lib/i386/halt.c: Likewise.
1378 * grub-core/lib/mips/arc/reboot.c: Likewise.
1379 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1380 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1381 * grub-core/loader/i386/xnu.c: Likewise.
1382 * grub-core/loader/multiboot.c: Likewise.
1383 * grub-core/net/bootp.c: Likewise.
1384 * grub-core/net/net.c: Likewise.
1385 * grub-core/normal/term.c: Likewise.
1386 * grub-core/partmap/bsdlabel.c: Likewise.
1387 * grub-core/parttool/msdospart.c: Likewise.
1388 * grub-core/term/gfxterm.c: Likewise.
1389 * grub-core/term/terminfo.c: Likewise.
1390 * grub-core/video/i386/pc/vbe.c: Likewise.
1391 * util/grub-menulst2cfg.c: Likewise.
1392 * util/grub-mkdevicemap.c: Likewise.
1393 * util/grub-mklayout.c: Likewise.
1394 * util/grub-mkrelpath.c: Likewise.
1395 * util/grub-script-check.c: Likewise.
1396 * util/ieee1275/grub-ofpathname.c: Likewise.
1397 * util/resolve.c: Likewise.
1398
1399 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 Support %1$d syntax.
1402
1403 * tests/printf_unit_test.c: New file.
1404 * Makefile.util.def (printf_test): New test.
1405 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1406
1407 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1408
1409 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1410 fix.
1411
1412 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1413
1414 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1415 dprintf.
1416 * grub-core/font/font.c (grub_font_load): Likewise.
1417
1418 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * util/grub-macho2img.c: Add comment concerning gettext.
1421 * grub-core/lib/legacy_parse.c: Likewise.
1422
1423 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1426 (grub_xvasprintf): Likewise.
1427
1428 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 Add const keyword to grub_env_get and gettextize week days.
1431
1432 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1433 (grub_read_hook_datetime): Return const char *.
1434 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1435 updated.
1436 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1437 Mark for gettext.
1438 (grub_get_weekday_name): Return const char *. Call gettext.
1439 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1440 char * and len as the argument. All users updated.
1441 (grub_script_argv_split_append): Receive const char *.
1442 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1443 * include/grub/env.h (grub_env_get): Likewise.
1444 (grub_env_read_hook_t): Return const char *.
1445 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1446 (grub_script_argv_split_append): Likewise.
1447
1448 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1451
1452 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1455 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1456
1457 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1460 Fix prototype.
1461
1462 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 Fix mips compilation.
1465
1466 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1467 normal decoder.
1468 (hashes): Use in embed decoder as well (for sizes).
1469 (dec_stream_header): Fix embed decompressor logic.
1470 (dec_stream_footer): Likewise.
1471
1472 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1475 an error and not a fatal on unrecognised relocation types.
1476
1477 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1480 Issue error rather than printf on unknown arguments.
1481
1482 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1485 Make buf a const.
1486
1487 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1490 Fix module name.
1491
1492 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1495 leftover debug printf.
1496
1497 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1500
1501 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1504 A stylistic fix.
1505
1506 2011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1509
1510 2011-11-10 Shea Levy <slevy@tieronedesign.com>
1511
1512 Allow all modules to perform serial IO
1513
1514 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1515 * include/grub/serial.h (grub_serial_port_configure): New inline
1516 function.
1517 (grub_serial_port_fetch): Likewise.
1518 (grub_serial_port_put): Likewise.
1519 (grub_serial_port_fini): Likewise.
1520 (grub_serial_find): New proto.
1521
1522 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1523
1524 Put symlink at the end of the node and fix a potential
1525 memory corruption.
1526
1527 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1528 Make symlink into an array.
1529 (set_rockridge): Set have_symlink and alloc_dirents.
1530 (grub_iso9660_read_symlink): Use new layout.
1531 (grub_iso9660_iterate_dir): Fix memory corruption.
1532 Use new layout.
1533 (grub_iso9660_dir): Set have_symlink.
1534 (grub_iso9660_open): Likewise.
1535
1536 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 Remove local keyword.
1539
1540 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1541 (version_test_gt): Likewise.
1542 (version_find_latest): Likewise.
1543 (gettext_printf): Likewise.
1544 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1545
1546 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1549
1550 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 Fix ZFS memory and resource leaks.
1553
1554 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1555 All users updated.
1556 Free type on exit.
1557 (fill_vdev_info): New parameter inserted. All users updated.
1558 (check_pool_label): Likewise.
1559 (scan_disk): Likewise.
1560 (scan_devices): Close non-inserted disks.
1561 (fzap_iterate): Free l.
1562 (unmount_device): Free children descripto memory.
1563
1564 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1565
1566 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1567 argument (access out of bounds).
1568
1569 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1570
1571 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1572 >= 6 drives.
1573
1574 2011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1575
1576 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1577 Fix declaration.
1578
1579 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1580
1581 Fix several memory leaks.
1582
1583 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1584 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1585 (grub_cpio_dir): Likewise.
1586 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1587 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1588 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1589 (grub_romfs_label): Likewise.
1590 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1591 (squash_unmount): New function.
1592 (grub_squash_dir): Fix memory leak.
1593 (grub_squash_open): Likewise.
1594 (grub_squash_read): Likewise.
1595 (grub_squash_mtime): Likewise.
1596 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1597 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1598 * util/grub-fstest.c (fstest): Likewise.
1599
1600 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1601
1602 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1603 avoid accessing beyond the array.
1604
1605 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1608
1609 2011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1610
1611 Several AFFS fixes.
1612
1613 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1614 (GRUB_AFFS_FLAG_FFS): Removed.
1615 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1616 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1617 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1618 (grub_fshelp_node): Make block 32-bit.
1619 Add block_cache and last_block_cache.
1620 (grub_affs_read_block): Fill and use block cache.
1621 (grub_affs_read_file): Removed.
1622 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1623 boot block.
1624 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1625 safety.
1626 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1627 space.
1628 (grub_affs_close): Free block cache.
1629 (grub_affs_read): Use grub_fshelp_read_file directly.
1630
1631 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1634 with no error set.
1635
1636 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1637
1638 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1639 used variable.
1640 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1641 Likewise.
1642
1643 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1644
1645 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1646
1647 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1648 byteswap when needed.
1649
1650 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 Fix FreeBSD compilation.
1653
1654 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1655 to avoid circular dependency.
1656 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1657 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1658 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1659
1660 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1661
1662 Fix ZFS crypto error types.
1663
1664 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1665 (grub_gcm_decrypt): Likewise.
1666 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1667 from PBKDF2.
1668
1669 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1670
1671 Illumos support.
1672
1673 * Makefile.util.def (10_illumos): New script.
1674 * configure.ac: Set COND_HOST_ILLUMOS.
1675 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
1676 Support Illumos calls.
1677 (find_partition_start) [__sun__]: Likewise.
1678 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
1679 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
1680 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
1681 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
1682 device.
1683 * util/grub-probe.c (probe) [__sun__]: Do character check.
1684 * util/grub.d/10_illumos.in: New file.
1685
1686 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 Support escaped commas in hostdisk.
1689
1690 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
1691 (find_grub_drive): Use unescape_cmp.
1692 (make_device_name): Escape commas.
1693
1694 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
1697
1698 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1699
1700 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
1701 variable.
1702
1703 2011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 Support trampoline jumps on powerpc.
1706
1707 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
1708 __ia64__ path.
1709 (grub_dl_load_segments): Set mod->sz.
1710 (grub_dl_flush_cache): Flush whole space occupied by module, not just
1711 segments.
1712 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
1713 (jump): Likewise.
1714 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
1715 function.
1716 (trampoline): New struct.
1717 (trampoline_template): New const.
1718 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
1719 * include/grub/dl.h (grub_dl): Add sz element.
1720 [__powerpc__]: Follow __ia64__.
1721 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
1722 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
1723 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
1724 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
1725
1726 2011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 ZFS crypto support.
1729
1730 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
1731 * grub-core/Makefile.core.def (zfscrypt): New module.
1732 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
1733 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
1734 it. All users updated.
1735 (grub_zfs_decrypt): New var.
1736 (grub_zfs_load_key): Likewise.
1737 (zio_checksum_functions): Add SHA256+MAC.
1738 (zio_checksum_verify): Handle incomplete comparison due to MAC.
1739 (zio_read): Handle encrypted blocks.
1740 (zap_verify): Remove incorrect check.
1741 (fzap_iterate): Handle non-standard fzap.
1742 (zap_iterate): Likewise.
1743 (zap_iterate_u64): New function.
1744 (dnode_get_fullpath): Load keys.
1745 * grub-core/fs/zfs/zfscrypt.c: New file.
1746 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
1747 (grub_crypto_ecb_encrypt): Make input const.
1748 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
1749 (grub_crypto_ecb_encrypt): Make input const.
1750 (GRUB_CIPHER_AES): New macro.
1751 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
1752 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
1753 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
1754 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
1755 prefix. All users updated.
1756 (grub_zfs_add_key): New proto.
1757 (grub_zfs_decrypt): Likewise.
1758 (grub_zfs_load_key): Likewise.
1759 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
1760 * util/grub-fstest.c (options): Add -K option.
1761 (argp_parser): Likewise.
1762
1763 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 Support zle compression on ZFS.
1766
1767 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
1768 (decomp_table): Add zle.
1769 * include/grub/zfs/zio.h (zio_compress): Add zle.
1770
1771 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1772
1773 Support BtrFS embedding.
1774
1775 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
1776 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
1777 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
1778 * util/grub-setup.c (setup): Use fs embedding if available.
1779 Add additional sanity check.
1780
1781 2011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1782
1783 * util/grub-install.in: Fix condition for config_opt.
1784
1785 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 Support third redundancy strip on raidz3.
1788
1789 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
1790 Return error on singularity. All users updated.
1791 (read_device): Don't stop on 3rd failure on raidz3.
1792
1793 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1794
1795 Support case-insensitive ZFS subvolumes.
1796
1797 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
1798 All users updated.
1799 (zap_hash): Likewise.
1800 (name_cmp): New function.
1801 (zap_leaf_array_equal): New parameter case_insensitive.
1802 All users updated.
1803 (zap_leaf_lookup): Likewise.
1804 (fzap_lookup): Likewise.
1805 (zap_lookup): Likewise.
1806 (dnode_get_path): New parameter case_insensitive. Retrieve case
1807 sensitiviness of a volume. All users updated.
1808 (dnode_get_fullpath): New parameter case_insensitive.
1809 All users updated.
1810 (grub_zfs_dir): Set info.case_insensitiveness.
1811
1812 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1813
1814 Support second redundancy strip on raidz(2,3).
1815
1816 * grub-core/fs/zfs/zfs.c (powx): New array.
1817 (powx_inv): Likewise.
1818 (poly): New const.
1819 (xor_out): New function.
1820 (gf_mul): Likewise.
1821 (recovery): Likewise.
1822 (read_device): Use second redundancy strip.
1823
1824 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 Use a power of generator representation of GF(256) multiplication group
1827 to save space time and complexity.
1828
1829 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
1830 (raid6_table2): Likewise.
1831 (powx): New array.
1832 (powx_inv): Likewise.
1833 (poly): New const.
1834 (grub_raid_block_mul): Replace with ...
1835 (grub_raid_block_mulx): ...this.
1836 (grub_raid6_init_table): Rewritten.
1837 (grub_raid6_recover): Use power of generator representation.
1838
1839 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
1842 for the right device.
1843
1844 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1845
1846 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
1847 expected by grub-mkimage and it's more clear since there is no implicit
1848 padding.
1849
1850 2011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1851
1852 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
1853 disk.
1854 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1855
1856 2011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
1857
1858 * util/grub-mkrescue.in: Fix handling xorriso option.
1859
1860 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1861
1862 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
1863 NULL.
1864
1865 2011-11-03 crocket <crockabiscuit@gmail.com>
1866
1867 * util/grub.d/10_linux.in: Add Slackware initrd naming.
1868
1869 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1870
1871 XZ CRC64 and SHA256 support.
1872
1873 * Makefile.util.def (libgrubmods): Add crc64.c.
1874 * grub-core/Makefile.core.def (crc64): New module.
1875 * grub-core/lib/crc64.c: New file.
1876 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
1877 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
1878 Fix the type.
1879 (MAX_HASH_SIZE): New define.
1880 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
1881 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
1882 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1883 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1884 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
1885 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
1886 Handle non-crc32 hashes.
1887 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
1888 (dec_stream_header): Handle non-crc32 hashes.
1889 (dec_stream_footer): Likewise.
1890 (dec_block_header): Likewise.
1891 (dec_main): Likewise.
1892 (xz_dec_init): Likewise.
1893 (xz_dec_reset): Likewise.
1894 (xz_dec_end): Likewise.
1895 * util/import_gcry.py: Add CRC64 line.
1896
1897 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
1900 as well.
1901
1902 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 Make reiserfs label retrieval similar to other *_label functions.
1905
1906 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
1907 (REISERFS_MAX_LABEL_LENGTH): Removed.
1908 (REISERFS_LABEL_OFFSET): Likewise.
1909 (grub_reiserfs_label): Rewritten.
1910
1911 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
1914 field.
1915
1916 2011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
1919
1920 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
1923 drive failure on both raidz and raidz2.
1924
1925 2011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1926
1927 Fix RAIDZ(2) for >= 5 devices.
1928
1929 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
1930 asize argument. All users updated.
1931
1932 2011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 Fix RAIDZ(2).
1935
1936 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
1937 (fill_vdev_info_real): Set ashift.
1938 (read_device): Rewrite RAIDZ part based on reverse engineering.
1939
1940 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
1943 don't report potentially unavialiable fields in debug output.
1944 (find_path): Fix double-free and memory leak.
1945
1946 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 Read label on UFS1.
1949
1950 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
1951 (grub_ufs_fs): Always set .label.
1952
1953 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 Use shifts in UFS.
1956
1957 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
1958 (grub_ufs_data): New field log2_blksz.
1959 (grub_ufs_read_file): Use shifts.
1960 (grub_ufs_mount): Check block size and logarithm it.
1961
1962 2011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
1965 long symlinks.
1966
1967 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 Handle symlinks and long names on tar and cpio.
1970
1971 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
1972 (ATTR_FILE): Likewise.
1973 (ATTR_DIR): Likewise.
1974 (ATTR_LNK): Likewise.
1975 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
1976 (grub_cpio_find_file): Fill mode, handle linkname field as well as
1977 L and K entries.
1978 (grub_cpio_mount): Zero-fill data.
1979 (handle_symlink): New function.
1980 (grub_cpio_dir): Handle symlinks.
1981 (grub_cpio_open): Likewise.
1982 (grub_cpio_close) [MODE_USTAR]: Free linkname.
1983
1984 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1985
1986 Fix iso9660 filename limitations and fix memory leaks.
1987
1988 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
1989 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
1990
1991 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Fix JFS file name length limitations.
1994
1995 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
1996 (grub_jfs_diropen): Fix maximum filename length.
1997 (grub_jfs_getent): Fix filename length.
1998 (grub_jfs_lookup_symlink): Fix size checks.
1999
2000 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
2003 string.
2004
2005 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 Leverage BFS implementation to read AFS.
2008
2009 * Makefile.util.def (libgrubmods): Add afs.c.
2010 * grub-core/Makefile.core.def (afs): New module
2011 * grub-core/fs/afs.c: New file.
2012 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
2013
2014 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
2017
2018 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2019
2020 * grub-core/fs/bfs.c: Run indent.
2021
2022 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 BFS implementation based on the specification.
2025
2026 * grub-core/fs/bfs.c: New file.
2027 * Makefile.util.def (libgrubmods): Add bfs.c.
2028 * grub-core/Makefile.core.def (bfs): New module.
2029
2030 2011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
2031
2032 * util/grub-fstest.c (cmd_cp): Clarify error message.
2033 (cmd_cmp): Likewise.
2034
2035 2011-10-30 Yves Blusseau <blusseau@zetam.org>
2036
2037 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
2038 and befs_be.
2039
2040 2011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
2041
2042 Remove afs and befs because of copyright problem.
2043
2044 * grub-core/fs/afs.c: Removed.
2045 * grub-core/fs/afs_be.c: Removed.
2046 * grub-core/fs/befs.c: Removed.
2047 * grub-core/fs/befs_be.c: Removed.
2048 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2049 * grub-core/Makefile.core.def (afs): Removed.
2050 (afs_be): Likewise.
2051 (befs): Likewise.
2052 (befs_be): Likewise.
2053
2054 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2055
2056 Prefer rockridge over Joliet.
2057
2058 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2059 to ...
2060 (set_rockridge): ... here.
2061 (grub_iso9660_mount): Check rockridge on the primary label when
2062 discovering. Ignore Joliet if Rockridge is present.
2063
2064 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2065
2066 Use shifts in nilfs2.
2067
2068 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2069 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2070 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2071 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2072 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2073 (grub_nilfs2_entries_per_block): Replaced with ...
2074 (grub_nilfs2_log_entries_per_block_log): ... this.
2075 (grub_nilfs2_blocks_per_group): Replaced with ...
2076 (grub_nilfs2_blocks_per_group_log): ... this.
2077 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2078 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2079 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2080 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2081 (grub_nilfs2_palloc_entry_offset): Replaced ...
2082 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2083 (grub_nilfs2_dat_translate): Use shifts.
2084 (grub_nilfs2_read_inode): Likewise.
2085 (GRUB_MOD_INIT): Ensure that logs are correct.
2086
2087 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 Use shifts in minix filesystem.
2090
2091 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2092 (GRUB_MINIX_ZONE2SECT): Likewise.
2093 (grub_minix_data): Replace block_size with log_block_size.
2094 (grub_minix_read_file): Use shifts.
2095 (grub_minix_mount): Check block size and take a logarithm.
2096
2097 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 Use shifts in squash4.
2100
2101 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2102 (squash_mount): Check block size and take logarithm.
2103 (direct_read): Use shifts.
2104
2105 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 Correct befs block counting logic.
2108
2109 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2110 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2111 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2112 (grub_afs_read_inode): Use block_shift.
2113 (RANGE_SHIFT): New definition.
2114 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2115 unexpected conditions, use shifts and appropriate types.
2116 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2117
2118 2011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2119
2120 * grub-core/disk/raid.c (scan_devices): Check partition.
2121 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2122
2123 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 Support BFS (befs) UUID.
2126
2127 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2128 (grub_afs_small_data_element_header): New struct.
2129 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2130 (grub_afs_read_attribute) [MODE_BFS]: New function.
2131 (grub_afs_iterate_dir): Allocate for complete inode.
2132 (grub_afs_mount): Likewise.
2133 (grub_afs_uuid) [MODE_BFS]: New function.
2134 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2135
2136 2011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2139 (zfs_unmount): Fix memory leak.
2140
2141 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2142
2143 Support NTFS reparse points.
2144
2145 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2146 (symlink_descriptor): New struct.
2147 (grub_ntfs_read_symlink): New function.
2148 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2149 (grub_ntfs_open): Likewise.
2150
2151 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2152
2153 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2154
2155 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2156
2157 fstest xnu_uuid subcommand.
2158
2159 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2160 grub-core/commands/xnu_uuid.c.
2161 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2162 (fstest): Handle xnu_uuid.
2163 (options): Document xnu_uuid.
2164 (argp_parser): Parse xnu_uuid.
2165
2166 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2167
2168 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2169 -l argument. Add newline at the end if printing.
2170 (GRUB_MOD_INIT): Document -l.
2171
2172 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2175
2176 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 ZFS multi-device and version 33 support.
2179
2180 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2181 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2182 (grub_zfs_data): Add multidev-ice-related fields.
2183 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2184 (dva_get_offset): Make dva const.
2185 (zfs_fetch_nvlist): New function.
2186 (fill_vdev_info_real): Likewise.
2187 (fill_vdev_info): Likewise.
2188 (check_pool_label): Likewise.
2189 (scan_disk): Likewise.
2190 (scan_devices): Likewise.
2191 (read_device): Likewise.
2192 (read_dva): Likewise.
2193 (zio_read_gang): Use read_dva.
2194 (zio_read_data): Likewise.
2195 (zap_leaf_lookup): Add missing endian conversion.
2196 (zap_verify): Add missing endian conversion. All users updated.
2197 (fzap_lookup): Likewise.
2198 (fzap_iterate): Likewise.
2199 (dnode_get_path): Handle SA bonus.
2200 (nvlist_find_value): Make input const. All users updated.
2201 (unmount_device): New function.
2202 (zfs_unmount): Use unmount_device.
2203 (zfs_mount): Use scan_disk.
2204 (zfs_mtime): New function.
2205 (grub_zfs_open): Handle system attributes.
2206 (fill_fs_info): Likewise.
2207 (grub_zfs_dir): Likewise.
2208 (grub_zfs_fs): Add mtime.
2209 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2210 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2211 (SA_MTIME_OFFSET): Likewise.
2212 (SA_SYMLINK_OFFSET): Likewise.
2213 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2214 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2215 (fstest): Support zfsinfo.
2216 (argp_parser): Likewise.
2217
2218 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2221 error.
2222
2223 2011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 ZFS fixes.
2226
2227 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2228 sharing the same block. Iterate over correct number of indices.
2229 (dnode_get_path): Handle symlinks correctly.
2230
2231 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2234
2235 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2236
2237 Read label on HFS+.
2238
2239 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2240 (grub_hfsplus_btree_search): Fix types.
2241 (grub_hfsplus_label): Implement.
2242
2243 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2246
2247 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2250
2251 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2252
2253 Fix symlink handling on iso9660.
2254
2255 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2256 All users updated.
2257 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2258 (grub_iso9660_read_symlink): Moved most of code ...
2259 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2260
2261 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2262
2263 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2264 Use union to avoid breaking strict-aliasing rules.
2265
2266 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2267
2268 Support multi-extent iso files.
2269
2270 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2271 Add node.
2272 (grub_fshelp_node): Revamp. All users updated.
2273 (FLAG_*): New enum.
2274 (read_node): New function.
2275 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2276 All users updated.
2277 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2278 (get_node_size): New function.
2279 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2280 entries.
2281 Fix memory leak on . and ..
2282 (grub_iso9660_read): Use read_node.
2283 (grub_iso9660_close): Free node.
2284
2285 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 Fix tar 4G limit and handle paths containing dot.
2288
2289 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2290 (canonicalize): New function.
2291 (grub_cpio_find_file): Use canonicalize. Store offs in
2292 grub_disk_addr_t.
2293 (grub_cpio_dir): Use grub_disk_addr_t.
2294 (grub_cpio_open): Likewise.
2295
2296 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2297
2298 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2299
2300 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2301 unused flags.
2302 (grub_squash_inode): Add long_file and block_size.
2303 (grub_squash_cache_inode): New struct.
2304 (grub_squash_dirent): Make types into enum.
2305 (SQUASH_TYPE_LONG_REGULAR): New type.
2306 (grub_squash_frag_desc): Add field size.
2307 (SQUASH_BLOCK_FLAGS): New enum.
2308 (grub_squash_data): Use grub_squash_cache_inode.
2309 (grub_fshelp_node): Make ino_chunk 64-bit.
2310 (read_chunk): Minor argument change. All users updated.
2311 (squash_mount): Use correct le_to_cpu.
2312 (grub_squash_open): Handle LONG_REGULAR.
2313 (direct_read): New function.
2314 (grub_squash_read_data): Handle blocks correctly.
2315
2316 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2319
2320 2011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2321
2322 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2323
2324 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2325
2326 Fix 2G limit on ZFS.
2327
2328 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2329 types.
2330 (uberblock_verify): Likewise.
2331 (dmu_read): Likewise.
2332 (grub_zfs_read): Likewise. Remove invalid cast.
2333
2334 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2335
2336 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2337 (grub_jfs_blkno): Fix incorrect shift.
2338 (grub_jfs_read_file): Use more appropriate types.
2339
2340 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 Support triple indirect on minix2 and minix3.
2343
2344 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2345 Declare triple_indir_zone.
2346 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2347 indirect.
2348
2349 2011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2350
2351 Minix FS fixes.
2352
2353 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2354 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2355 Rename ctime to mtime. All users updated.
2356 (grub_minix_get_file_block): Fix types and double indirect computations.
2357
2358 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2361 if no label is found.
2362 (grub_fat_iterate_dir): Fix file size type.
2363 (grub_fat_iterate_dir): Likewise.
2364
2365 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2366
2367 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2368 save some space.
2369 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2370 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2371
2372 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2375
2376 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2377
2378 * util/import_gcry.py: Accept space between # and include.
2379
2380 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2383
2384 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2385
2386 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2387
2388 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2389 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2390 yylex_strncpy.
2391 * grub-core/script/yylex.l: Add fine-grained #pragma.
2392
2393 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2396 New inline function.
2397 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2398 Likewise.
2399 (memset) [GRUB_UTIL]: Likewise.
2400 (memcmp) [GRUB_UTIL]: Likewise.
2401
2402 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2403
2404 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2405 inline function rather than a define.
2406
2407 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * util/grub-setup.c: Add missing include.
2410
2411 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * util/ieee1275/grub-ofpathname.c: Add missing include.
2414
2415 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2418 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2419 Likewise.
2420
2421 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2422
2423 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2424 grub_memcmp usage.
2425
2426 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2427
2428 * util/grub-install.in: Add datarootdir as per automake manual
2429 suggestion.
2430 * util/grub-mknetdir.in: Likewise.
2431
2432 2011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2433
2434 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2435 suggestion.
2436 * util/grub.d/10_kfreebsd.in: Likewise.
2437 * util/grub.d/10_linux.in: Likewise.
2438 * util/grub.d/10_netbsd.in: Likewise.
2439 * util/grub.d/10_windows.in: Likewise.
2440 * util/grub.d/20_linux_xen.in: Likewise.
2441
2442 2011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2443
2444 Remove redundant grub_kernel_image_size.
2445
2446 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2447 _edata and _start.
2448 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2449 the small code. It moves it only by few bytes but simplifies the code.
2450 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2451 _start.
2452 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2453 (grub_kernel_image_size): Removed.
2454 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2455 (grub_kernel_image_size): Removed.
2456 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2457 compiled with Apple toolchain.
2458 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2459 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2460 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2461 (grub_total_module_size): Likewise.
2462 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2463 Removed.
2464 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2465 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2466 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2467 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2468 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2469 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2470 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2471 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2472 Removed.
2473 (grub_total_module_size): Removed.
2474 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2475 (image_targets): Likewise.
2476 Set .compressed_size to no field on sparc.
2477 (generate_image): Remove kernel_image_size handling.
2478
2479 2011-10-19 Szymon Janc <szymon@janc.net.pl>
2480
2481 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2482 NULL pointer dereference.
2483
2484 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2487 done with a dedicated section.
2488
2489 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2490 Ensure the correct position of boot_path.
2491 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2492 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2493 other fields.
2494 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2495 * include/grub/boot.h: Removed. All references removed.
2496 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2497 Removed.
2498 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2499
2500 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2503 name.
2504
2505 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2508
2509 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2510
2511 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2512 Don't add the bogus brackets.
2513
2514 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2515
2516 ExFAT support.
2517
2518 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2519 * grub-core/Makefile.core.def (exfat): New module.
2520 * grub-core/fs/exfat.c: New file.
2521 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2522 (GRUB_FAT_ATTR_*): Make into an enum.
2523 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2524 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2525 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2526 (GRUB_FAT_MAXFILE): Removed.
2527 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2528 (grub_current_fat_bpb_t): New type.
2529 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2530 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2531 (grub_fat_dir_node_t): New type.
2532 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2533 (fat_log2) [MODE_EXFAT]: Removed.
2534 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2535 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2536 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2537 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2538 (grub_fat_label) [MODE_EXFAT]: New function.
2539 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2540 reserved_first_sector to 0.
2541
2542 2011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2543
2544 Move grub_reboot out of the kernel.
2545
2546 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2547 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2548 * grub-core/lib/efi/reboot.c: ... here.
2549 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2550 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2551 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2552 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2553 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2554 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2555 * grub-core/lib/ieee1275/reboot.c: ... here.
2556 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2557 * grub-core/lib/mips/arc/reboot.c: ... here.
2558 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2559 * grub-core/lib/mips/loongson/reboot.c: ...here.
2560 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2561 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2562 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2563 * include/grub/i386/reboot.h: New file.
2564 * include/grub/mips/loongson/ec.h: Fix includes.
2565 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2566 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2567 * grub-core/lib/i386/reboot.c: New file.
2568
2569 2011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 Make grub_prefix into module to fix the arbitrary limit and save
2572 some space.
2573
2574 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2575 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2576 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2577 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2578 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2579 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2580 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2581 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2582 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2583 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2584 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2585 * include/grub/ia64/efi/kernel.h: Removed.
2586 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2587 (grub_prefix): Removed.
2588 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2589 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2590 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2591 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2592 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2593 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2594 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2595 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2596 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2597 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2598 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2599 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2600 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2601 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2602 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2603 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2604 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2605 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2606 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2607 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2608 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2609 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2610 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2611 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2612 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2613 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2614 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2615 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2616 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2617 from module.
2618 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2619 prefix_end.
2620 (image_targets): Likewise.
2621 (generate_image): Put prefix as a module.
2622
2623 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2624
2625 Replace grub_module_iterate with FOR_MODULES.
2626
2627 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2628 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2629 (grub_efi_modules_addr): ...this.
2630 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2631 (grub_efi_init): Set grub_modbase.
2632 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2633 (grub_modbase): New variable.
2634 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2635 (grub_modbase): New variable.
2636 (grub_machine_init): Set grub_modbase.
2637 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2638 (grub_modbase): New variable.
2639 (grub_machine_init): Set grub_modbase.
2640 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2641 (grub_modbase): New variable.
2642 (grub_machine_init): Set grub_modbase.
2643 * grub-core/kern/main.c (grub_module_iterate): Remove.
2644 (grub_modules_get_end): Use grub_modbase.
2645 (grub_load_modules): Use FOR_MODULES.
2646 (grub_load_config): Likewise.
2647 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2648 (grub_modbase): New variable.
2649 (grub_machine_init): Set grub_modbase.
2650 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2651 (grub_modbase): New variable.
2652 (grub_machine_init): Set grub_modbase.
2653 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2654 Removed.
2655 (grub_modbase): New variable.
2656 (grub_machine_init): Set grub_modbase.
2657 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2658 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2659 (grub_module_iterate): Likewise.
2660 (grub_modbase): New variable declaration.
2661 (FOR_MODULES): New macro.
2662
2663 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2666 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2667
2668 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 Fix few obvious type discrepancies.
2671
2672 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2673 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2674 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
2675 variable.
2676 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
2677 and connected types.
2678 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
2679 offset.
2680 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
2681 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
2682 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
2683 and connected types.
2684
2685 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2686
2687 Fix python 3.x incompatibilities.
2688
2689 * gentpl.py: Put brackets around print strings.
2690 * util/import_gcry.py: Open explicitly as utf-8.
2691 Use in instead of has_key.
2692
2693 2011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
2696 (GRUB_XFS_INO_AGBITS): Make into inline function.
2697 (GRUB_XFS_INO_INOINAG): Likewise.
2698 (GRUB_XFS_INO_AG): Likewise.
2699 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2700 (GRUB_XFS_EXTENT_OFFSET): Likewise.
2701 (GRUB_XFS_EXTENT_BLOCK): Likewise.
2702 (GRUB_XFS_EXTENT_SIZE): Likewise.
2703 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
2704 (GRUB_XFS_NEXT_DIRENT): Likewise.
2705 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
2706 (grub_xfs_read_file): Fix offset type.
2707
2708 2011-10-15 Robert Millan <rmh@gnu.org>
2709
2710 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
2711
2712 2011-10-15 Robert Millan <rmh@gnu.org>
2713
2714 Fix build problem on FreeBSD and GNU/kFreeBSD.
2715
2716 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
2717
2718 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
2721
2722 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
2723 types.
2724 (grub_hfsplus_btree_recoffset): Likewise.
2725 (grub_hfsplus_btree_recptr): Likewise.
2726 (grub_hfsplus_find_block): Likewise.
2727 (grub_hfsplus_btree_search): Likewise.
2728 (grub_hfsplus_read_block): Likewise.
2729 (grub_hfsplus_read_file): Likewise.
2730 (grub_hfsplus_mount): Likewise.
2731 (grub_hfsplus_btree_iterate_node): Likewise.
2732 (grub_hfsplus_btree_search): Likewise.
2733 (grub_hfsplus_iterate_dir): Likewise.
2734 (grub_hfsplus_read): A small code simplification.
2735
2736 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * grub-core/kern/emu/hostdisk.c
2739 (convert_system_partition_to_system_disk): Don't assume that children
2740 of mapper nodes are mapper nodes.
2741
2742 2011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2743
2744 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
2745 * include/grub/misc.h (grub_isxdigit): New function.
2746 * grub-core/video/colors.c (my_isxdigit): Removed. All users
2747 switched to grub_isxdigit.
2748 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
2749 number starting with a letter.
2750
2751 2011-10-09 Robert Millan <rmh@gnu.org>
2752
2753 LVM support for FreeBSD and GNU/kFreeBSD.
2754
2755 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
2756 GNU/kFreeBSD.
2757 (LVM_DEV_MAPPER_STRING): Move from here ...
2758 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
2759 * util/getroot.c: Include `<grub/util/lvm.h>'.
2760 (grub_util_get_dev_abstraction): Enable
2761 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
2762 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
2763 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
2764 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
2765 support it.
2766 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
2767 GNU/kFreeBSD.
2768 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
2769 when LVM abstraction is required for ${GRUB_DEVICE}.
2770
2771 2011-10-06 Szymon Janc <szymon@janc.net.pl>
2772
2773 Add support for LZO compression in GRUB:
2774 - import of minilzo library,
2775 - LZO decompression for btrfs,
2776 - lzop files decompression.
2777
2778 * grub-core/io/lzopio.c: New file.
2779 * grub-core/lib/adler32.c: Likewise.
2780 * grub-core/lib/minilzo/lzoconf.h: Likewise.
2781 * grub-core/lib/minilzo/lzodefs.h: Likewise.
2782 * grub-core/lib/minilzo/minilzo.c: Likewise.
2783 * grub-core/lib/minilzo/minilzo.h: Likewise.
2784 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
2785 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
2786 grub-core/lib/minilzo/minilzo.c to common.
2787 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
2788 cflags in cppflags.
2789 * grub-core/Makefile.core.def (btrfs): Likewise.
2790 * grub-core/Makefile.core.def (lzopio): New module.
2791 (adler32): Likewise.
2792 * grub-core/fs/btrfs.c: Include minilzo.h.
2793 (GRUB_BTRFS_COMPRESSION_LZO): New define.
2794 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
2795 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
2796 (grub_btrfs_lzo_decompress): New function.
2797 (grub_btrfs_extent_read): Add support for LZO compression type.
2798 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
2799 (GRUB_USHRT_MAX): Likewise.
2800 (GRUB_UINT_MAX): Likewise.
2801 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
2802 (UINT_MAX): Likewise.
2803 (CHAR_BIT): Likewise.
2804 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
2805 grub-core/lib/posix_wrap/limits.h
2806 (UCHAR_MAX): Likewise.
2807 * include/grub/file.h (grub_file_filter_id): New compression filter
2808 GRUB_FILE_FILTER_LZOPIO.
2809 * include/grub/file.h (grub_file_filter_id): Set
2810 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
2811 * include/grub/types.h (grub_get_unaligned16): New function.
2812 (grub_get_unaligned32): Likewise.
2813 (grub_get_unaligned64): Likewise.
2814 * util/import_gcry.py (cryptolist): Add adler32.
2815
2816 2011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
2819 in perspective decreases the complexity of build system and fixes
2820 compilation right now.
2821
2822 2011-10-01 Ales Nesrsta <starous@volny.cz>
2823
2824 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
2825 (fixed problem related to using UHCI with coreboot).
2826
2827 2011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2828
2829 * gentpl.py: Use Autogen macros so that the output template file
2830 (Makefile.tpl) size is reduced.
2831
2832 2011-09-29 Mads Kiilerich <mads@kiilerich.com>
2833
2834 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
2835 extra_dist.
2836
2837 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2838
2839 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
2840 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
2841
2842 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2843
2844 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
2845 _fullpath.
2846
2847 2011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2848
2849 Remove extra declaration of sleep for mingw32.
2850
2851 * util/misc.c (sleep) [__MINGW32__]: Removed.
2852 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
2853
2854 2011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2855
2856 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
2857 type and packname.
2858 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
2859 Resurrected.
2860 (NETBSD_BTINFO_BOOTWEDGE): New definition.
2861 (grub_netbsd_btinfo_bootwedge): New struct.
2862 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2863 New function.
2864 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
2865
2866 2011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2867
2868 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
2869 loader.
2870
2871 2011-09-28 Andreas Born <futur.andy@googlemail.com>
2872
2873 Fix incorrect identifiers in bash-completion.
2874
2875 * util/bash-completion.d/grub-completion.bash.in
2876 (_grub_mkpasswd-pbkdf2): Rename to ...
2877 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
2878 (_grub_script-check): Rename to ...
2879 (_grub_script_check): ... this. All users updated.
2880
2881 2011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2882
2883 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2884 Return 0 if disk isn't biosdisk.
2885
2886 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2887
2888 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
2889 on NetBSD.
2890 * Makefile.util.def (grub-fstest): Likewise.
2891
2892 2011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2893
2894 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
2895 Get sector size from disk label.
2896
2897 2011-09-05 Colin Watson <cjwatson@ubuntu.com>
2898
2899 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
2900 */README* as well as README*.
2901 Reported by: Axel Beckert.
2902
2903 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
2906 case of less than 256 MiB of RAM.
2907
2908 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 * grub-core/commands/wildcard.c (make_regex): Handle @.
2911
2912 2011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * util/grub-install.in: Move cryptodisk logic to appropriate place.
2915
2916 2011-08-21 Szymon Janc <szymon@janc.net.pl>
2917
2918 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
2919 AC_LANG_CONFTEST macros.
2920
2921 2011-08-20 Szymon Janc <szymon@janc.net.pl>
2922
2923 Add grub-fstest option to uncompress data for commands.
2924
2925 * util/grub-fstest.c (uncompress): New var.
2926 (options): New option -u.
2927
2928 2011-08-20 Szymon Janc <szymon@janc.net.pl>
2929
2930 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2931 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
2932
2933 2011-08-20 Szymon Janc <szymon@janc.net.pl>
2934
2935 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
2936 file type was not recognized correctly (not gzip or corrupted).
2937
2938 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2939
2940 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
2941 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
2942
2943 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
2946 loongson.
2947 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2948 video_radeon_fuloong2e.
2949 * grub-core/video/radeon_fuloong2e.c: New file.
2950 * include/grub/video.h (grub_video_id_t): Add new ID
2951 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
2952
2953 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2954
2955 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
2956 define.
2957 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
2958 that PRID matches the detected subplatform and reset the subplatform
2959 if it doesn't.
2960
2961 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
2964
2965 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 Fix PCI iterating on functions >= 4.
2968
2969 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
2970 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
2971 Removed.
2972 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
2973 (grub_pci_read): Fix bitmask.
2974 (grub_pci_read_word): Likewise.
2975 (grub_pci_read_byte): Likewise.
2976 (grub_pci_write): Likewise.
2977 (grub_pci_write_word): Likewise.
2978 (grub_pci_write_byte): Likewise.
2979
2980 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
2983 can still be specified in TARGET_CFLAGS)
2984
2985 2011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
2988
2989 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
2990 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
2991 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
2992 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
2993 (FULOONG): Rename to ...
2994 (FULOONG2F): ... this. All users updated.
2995 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
2996 (machtype_fuloong2f_str): ... this.
2997 (machtype_fuloong2e_str): New string.
2998 Check for machtype_fuloong2e_str.
2999 * grub-core/loader/mips/linux.c (loongson_machtypes)
3000 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
3001 * grub-core/term/serial.c (loongson_defserial)
3002 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
3003 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
3004 loongson_defserial.
3005 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
3006 Rename to ...
3007 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
3008 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
3009 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
3010 to IMAGE_FULOONG2F_FLASH. All users updated.
3011 (image_targets): Rename images.
3012 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
3013
3014 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3015
3016 Make enable of disk cache statistics code configurable.
3017
3018 * configure.ac: --enable-cache-stats added.
3019 * config.h.in (DISK_CACHE_STATS): New define.
3020 * grub-core/Makefile.core.def (cacheinfo): New command.
3021 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
3022 * grub-core/commands/cacheinfo.c: New file.
3023 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
3024 moved to cacheinfo.c.
3025 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
3026 debug code.
3027 * include/grub/disk.h: Likewise.
3028
3029 2011-08-19 Szymon Janc <szymon@janc.net.pl>
3030
3031 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
3032 * grub-core/Makefile.am: Likewise.
3033
3034 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
3037 non-zero pull.
3038
3039 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
3042 All users updated.
3043 (grub_jfs_lookup_symlink): Use correct starting inode.
3044
3045 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * util/grub-setup.c (main): Add missing gcry initialisation.
3048
3049 2011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3050
3051 Don't accept text modes on EFI when booting Linux.
3052
3053 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3054 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3055
3056 2011-08-15 Mario Limonciello <mario_limonciello@dell.com>
3057 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3058
3059 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3060 use of "/path/.." as in grub-install for EFI as well as handling
3061 symlinks correctly.
3062 Fixes Debian bug #637768.
3063
3064 2011-08-15 Colin Watson <cjwatson@ubuntu.com>
3065
3066 * util/grub-probe.c: Remove duplicate #include.
3067
3068 2011-08-10 Robert Millan <rmh@gnu.org>
3069
3070 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3071
3072 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3073 function.
3074 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3075 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3076
3077 2011-08-03 Robert Millan <rmh@gnu.org>
3078
3079 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3080 la_array as packed.
3081 Reported by: Zachary Bedell
3082
3083 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3084
3085 * configure.ac: The Loongson port requires grub-mkfont due to its
3086 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3087 be built.
3088
3089 2011-07-26 Colin Watson <cjwatson@ubuntu.com>
3090
3091 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3092 processing arguments (otherwise help2man fails when GRUB has not yet
3093 been installed).
3094
3095 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3096
3097 New script grub-mkstandalone.
3098
3099 * Makefile.util.def (grub-mkstandalone): New script.
3100 * docs/man/grub-mkstandalone.h2m: New file.
3101 * util/grub-mkstandalone.in: Likewise.
3102
3103 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3104
3105 Support ATA disks with 4K sectors.
3106
3107 * include/grub/ata.h (grub_ata): New member log_sector_size.
3108 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3109 (grub_ata_identify): Read sector size.
3110 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3111
3112 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3113
3114 * util/grub-install.in: Don't use uhci outside of x86.
3115
3116 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3117
3118 * util/grub-mkrescue.in: Add missing quotes.
3119
3120 2011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3123 dereference.
3124
3125 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3128
3129 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * include/grub/video.h: add missing EXPORT_FUND on
3132 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3133
3134 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * include/grub/mips/kernel.h: Fix define conflict.
3137
3138 2011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3141 all four ways.
3142
3143 2011-07-21 Colin Watson <cjwatson@ubuntu.com>
3144
3145 Preferred resolution detection for VBE.
3146
3147 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3148 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3149 the Flat Panel extension, in line with the X.org VESA driver.
3150 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3151 New function.
3152 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3153 (grub_vbe_bios_read_edid): Likewise.
3154 (grub_vbe_get_preferred_mode): Likewise.
3155 (grub_video_vbe_setup): When the mode is "auto", try to get the
3156 preferred mode from VBE, and use the largest mode that is no larger
3157 than the preferred mode (some BIOSes expose a preferred mode that is
3158 not in their mode list!). If this fails, fall back to 640x480 as a
3159 safe conservative choice.
3160 (grub_video_vbe_get_edid): New function.
3161 (grub_video_vbe_adapter): Add get_edid.
3162 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3163 (struct grub_video_adapter): Add get_edid.
3164 (grub_video_edid_checksum): Add prototype.
3165 (grub_video_edid_preferred_mode): Likewise.
3166 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3167 structure.
3168
3169 * grub-core/commands/videoinfo.c (print_edid): New function.
3170 (grub_cmd_videoinfo): Print EDID if available.
3171
3172 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3173 is more appropriate on a wider range of platforms than 640x480.
3174 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3175 documentation.
3176
3177 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3180
3181 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 * po/POTFILES.in: Regenerate.
3184
3185 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3186
3187 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3188 incorrect memory usage.
3189
3190 2011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3191
3192 * util/grub-install.in: Source grub-mkconfig_lib.
3193
3194 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 Remove getroot.c from core on emu platform.
3197
3198 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3199 kern/emu/raid.c.
3200 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3201 useless.
3202 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3203 * util/getroot.c (get_win32_path): ... here.
3204 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3205 * util/getroot.c (fini_libzfs): ... here.
3206 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3207 * util/getroot.c (grub_get_libzfs_handle): ... here.
3208 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3209 Moved from here...
3210 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3211 * grub-core/kern/emu/misc.c
3212 (grub_make_system_path_relative_to_its_root): Moved from here...
3213 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3214 * grub-core/kern/emu/getroot.c: Moved from here ...
3215 * util/getroot.c: ... here. All users updated.
3216 * grub-core/kern/emu/raid.c: Moved from here ...
3217 * util/raid.c: ... here. All users updated.
3218
3219 2011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * po/POTFILES.in: Regenerate.
3222
3223 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 Fix compilation on GNU/Linux.
3226
3227 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3228 Disable geli.
3229 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3230 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3231 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3232
3233 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3234 2011-07-07 Michael Gorven <michael@gorven.za.net>
3235 2011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3236
3237 LUKS and GELI support.
3238
3239 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3240 grub-core/disk/luks.c, grub-core/disk/geli.c,
3241 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3242 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3243 grub-core/lib/arg.c.
3244 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3245 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3246 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3247 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3248 (grub-bin2h): Add libgcry.a.
3249 (grub-mkimage): Likewise.
3250 (grub-mkrelpath): Likewise.
3251 (grub-script-check): Likewise.
3252 (grub-editenv): Likewise.
3253 (grub-mkpasswd-pbkdf2): Likewise.
3254 (grub-pe2elf): Likewise.
3255 (grub-fstest): Likewise.
3256 (grub-mkfont): Likewise.
3257 (grub-mkdevicemap): Likewise.
3258 (grub-probe): Likewise.
3259 (grub-ofpath): Likewise.
3260 (grub-mklayout): Likewise.
3261 (example_unit_test): Likewise.
3262 (grub-menulst2cfg): Likewise.
3263 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3264 * grub-core/Makefile.core.def (cryptodisk): New module.
3265 (luks): Likewise.
3266 (geli): Likewise.
3267 * grub-core/disk/AFSplitter.c: New file.
3268 * grub-core/disk/cryptodisk.c: Likewise.
3269 * grub-core/disk/geli.c: Likewise.
3270 * grub-core/disk/luks.c: Likewise.
3271 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3272 grub_util_is_lvm.
3273 (grub_util_get_dm_abstraction): New function.
3274 (grub_util_follow_gpart_up): Likewise.
3275 (grub_util_get_geom_abstraction): Likewise.
3276 (grub_util_get_dev_abstraction): Use new functions.
3277 (grub_util_pull_device): Pull GELI and LUKS.
3278 (grub_util_get_grub_dev): Handle LUKS and GELI.
3279 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3280 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3281 (follow_geom_up): Removed.
3282 (grub_util_fd_seek): New function.
3283 (open_device): Use grub_util_fd_seek.
3284 (nread): Rename to ..
3285 (grub_util_fd_read): ... this. All users updated.
3286 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3287 (grub_crypto_cbc_decrypt): Likewise.
3288 (grub_crypto_hmac_write): Likewise.
3289 (grub_crypto_hmac_buffer): Likewise.
3290 (grub_password_get): Extend to util.
3291 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3292 New member modname.
3293 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3294 * include/grub/cryptodisk.h: New file.
3295 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3296 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3297 LUKS and GELI.
3298 (grub_util_follow_gpart_up): New proto.
3299 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3300 (grub_util_fd_read): Likewise.
3301 (grub_cryptodisk_cheat_mount): Likewise.
3302 (grub_util_cryptodisk_print_uuid): Likewise.
3303 (grub_util_get_fd_sectors): Likewise.
3304 * util/grub-fstest.c (mount_crypt): New var.
3305 (fstest): Mount crypto if requested.
3306 (options): New option -C.
3307 (argp_parser): Parse -C.
3308 (main): Init and fini gcry.
3309 * util/grub-install.in: Support cryptodisk install.
3310 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3311 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3312 cryptodisk.
3313 (prepare_grub_to_access_device): Likewise.
3314 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3315 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3316 (probe_cryptodisk_uuid): New function.
3317 (probe_abstraction): Likewise.
3318 (probe): Use new functions.
3319 * util/import_gcry.py: Create Makefile.utilgcry.def.
3320 Add modname member.
3321
3322 2011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 Lazy device scanning.
3325
3326 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3327 (grub-setup): Remove util/raid.c.
3328 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3329 * grub-core/disk/lvm.c (scan_depth): New variable.
3330 (grub_lvm_iterate): Rescan if necessary.
3331 (find_lv): New function based on grub_lvm_open.
3332 (grub_lvm_open): Use find_lv. Rescan on error.
3333 (is_node_readable): New function.
3334 (is_lv_readable): Likewise.
3335 (grub_lvm_scan_device): Skip already found disks.
3336 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3337 Stop if searched device is found and readable.
3338 * grub-core/disk/raid.c (inscnt): New variable.
3339 (scan_depth): Likewise.
3340 (scan_devices): New function based on grub_raid_register. Abort if
3341 looked for device is found.
3342 (grub_raid_iterate): Rescan if needed.
3343 (find_array): NEw function based on -grub_raid_open.
3344 (grub_raid_open): Use find_array and rescan.
3345 (insert_array): Set became_readable_at.
3346 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3347 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3348 New function.
3349 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3350 (grub_util_pull_device): New function.
3351 (grub_util_get_grub_dev): Call grub_util_pull_device.
3352 * util/raid.c: Moved to ..
3353 * grub-core/kern/emu/raid.c: ... here.
3354 (grub_util_raid_getmembers): New parameter "bootable".
3355 All users updated. Support 1.x.
3356 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3357 All users updated.
3358 * include/grub/disk.h (grub_disk_pull_t): New enum.
3359 (grub_disk_dev): Change iterate prototype.
3360 All users updated.
3361 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3362 New proto.
3363 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3364 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3365 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3366 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3367 All users updated.
3368 * include/grub/util/raid.h: Removed.
3369
3370 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3371
3372 * po/POTFILES.in: Regenerate.
3373
3374 2011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3375
3376 Unify sparc init with other ieee1275.
3377
3378 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3379 instead of kern/sparc64/ieee1275/init.c.
3380 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3381 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3382 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3383 grub/machine/kernel.h.
3384 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3385 (grub_claim_heap) [__sparc__]: Use sparc version.
3386 (grub_machine_init): Moved args parsing to
3387 (grub_parse_cmdline): ...this.
3388 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3389 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3390 New definition.
3391 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3392
3393 Move BOOTP to separate file.
3394
3395 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3396 * grub-core/net/net.c: Move all BOOTP functions to
3397 * grub-core/net/bootp.c: ... here.
3398
3399 Use frame interface on PXE.
3400
3401 * grub-core/Makefile.core.def (pxecmd): Removed.
3402 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3403 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3404 * grub-core/i386/pc/pxe.c: Moved from here ...
3405 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3406 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3407 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3408
3409 EFI network support.
3410
3411 * grub-core/Makefile.core.def (efinet): New module.
3412 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3413 here...
3414 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3415 All users updated.
3416 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3417 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3418 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3419 * grub-core/net/drivers/efi/efinet.c: New file.
3420 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3421 (grub_efi_net_config): New extern var.
3422
3423 Various cleanups and bugfixes.
3424
3425 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3426 error.
3427 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3428 disk declared as partition.
3429 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3430 leak on failure.
3431 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3432 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3433 (grub_debug_zalloc): Likewise.
3434 (grub_debug_realloc): Likewise.
3435 (grub_debug_memalign): Likewise.
3436 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3437 Check that target is IPv4.
3438 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3439 local-mac-address as fallback.
3440 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3441 memory leak.
3442 * grub-core/net/ip.c (ipchksum): Rename to ...
3443 (grub_net_ip_chksum): ... this. All users updated.
3444 (grub_net_recv_ip_packets): Special handling for DHCP.
3445 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3446
3447 Unify prefix handling
3448
3449 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3450 (grub_machine_get_bootlocation): ... this.
3451 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3452 (grub_machine_get_bootlocation): ... this.
3453 (grub_prefix): New variable.
3454 (prefix): Removed.
3455 (root_dev): New variable.
3456 (dir): Likewise.
3457 (main): Use new variables.
3458 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3459 Revamped into ...
3460 (grub_machine_get_bootlocation): ... this.
3461 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3462 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3463 (grub_machine_get_bootlocation): ... this.
3464 (grub_machine_set_prefix): Removed.
3465 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3466 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3467 Revamped into ...
3468 (grub_machine_get_bootlocation): ... this.
3469 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3470 (grub_set_prefix_and_root): ... this. All users updated.
3471 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3472 Revamped into ...
3473 (grub_machine_get_bootlocation): ... this.
3474 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3475 (grub_machine_get_bootlocation): New proto.
3476 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3477
3478 Less intrusive and more reliable seek on network implementation.
3479
3480 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3481 (grub_file_seek): Don't call grub_file_net_seek.
3482 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3483 (grub_net_fs_read_real): .. this.
3484 (grub_net_seek_real): Use net->offset.
3485 (grub_net_fs_read): Seek if necessary.
3486
3487 Unify IEEE1275 netwotk config with the other platforms.
3488
3489 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3490 New variable.
3491 (grub_machine_get_bootlocation): Support network.
3492 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3493 Support type and device parsing.
3494 (grub_ieee1275_get_device_type): New function.
3495 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3496 into ...
3497 (grub_ieee1275_net_config_real): ... this.
3498 (grub_ofnet_probecards): Removed.
3499 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3500 * include/grub/ieee1275/ofnet.h: Removed.
3501 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3502 extern var.
3503 (grub_ieee1275_get_device_type): New function.
3504
3505 Unify network device closing across platforms and make more robust.
3506
3507 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3508 grub_grubnet_fini.
3509 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3510 already.
3511 * grub-core/net/net.c (grub_net_network_level_interface_register):
3512 Update num_ifaces.
3513 (grub_net_card_unregister): Close all interfaces.
3514 (receive_packets): Don't poll if no iterfaces are registered.
3515 Open if necessary.
3516 (grub_net_fini_hw): New function.
3517 (grub_net_restore_hw): Likewise.
3518 (fini_hnd): New variable.
3519 (GRUB_MOD_INIT): Register preboot hook.
3520 (GRUB_MOD_FINI): Run and unregister preboot hook.
3521
3522 Poll network cards when idle.
3523
3524 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3525 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3526 * grub-core/net/net.c (receive_packets): Save last poll time.
3527 (grub_net_poll_cards_idle_real): New function.
3528 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3529 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3530 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3531
3532 Rename ofnet interfaces.
3533
3534 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3535 (grub_ofnet_findcards): Use ofnet_%s names.
3536
3537 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3538
3539 Cleanup socket opening.
3540
3541 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3542 (grub_net_fs_close): Likewise.
3543 (grub_net_fs_read_real): Use eof member.
3544 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3545 (+grub_net_udp_close): New inline function.
3546
3547 * include/grub/net/tftp.h: Moved to the top of ...
3548 * grub-core/net/tftp.c: ... here.
3549 * include/grub/net/ip.h: Moved mostly to the top of ...
3550 * grub-core/net/ip.c: ... here.
3551 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3552 * grub-core/net/ethernet.c: ... here.
3553
3554 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3555
3556 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3557 FS name.
3558
3559 * include/grub/net/ip.h (ipv4_ini): Removed.
3560 (ipv4_fini): Likewise.
3561
3562 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3563 (grub_net_send_ip_packets): Likewise.
3564
3565 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3566
3567 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3568 grub_read_cmos prototype.
3569
3570 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3571
3572 VGA text support in qemu-mips
3573
3574 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3575 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3576 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3577 text.
3578 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3579 * grub-core/kern/vga_init.c: ... this.
3580 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3581 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3582 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3583 Adjust.
3584 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3585 GRUB_MACHINE_PCI_IO_BASE.
3586
3587 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 MIPS qemu flash support.
3590
3591 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3592 magic.
3593 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3594 (grub_machine_init): Probe memory if its size isn't known.
3595 * util/grub-mkimage.c (image_targets): Add flash targets.
3596 (generate_image): Handle flash targets.
3597
3598 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 MIPS qemu at_keyboard support.
3601
3602 * gentpl.py (videoinkernel): Add qemu-mips.
3603 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3604 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3605 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3606 modules.
3607 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3608 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3609 * grub-core/term/serial.c (grub_serial_register)
3610 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3611
3612 2011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 CMOS support on sparc.
3615
3616 * gentpl.py (cmos): Add powerpc and sparc.
3617 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3618 powerpc and sparc.
3619 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3620 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3621 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3622 grub_set_datetime_cmos.
3623 * grub-core/lib/ieee1275/cmos.c: New file.
3624 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3625 (find_rtc): Set no_ieee1275_rtc on error.
3626 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3627 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3628 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3629 fail. Move value to argument. All users updated
3630 (grub_cmos_write): Likewise.
3631 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3632 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3633 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3634 grub_get_datetime_cmos and grub_set_datetime_cmos.
3635
3636 2011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3637
3638 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3639 sourcing grub-mkconfig_lib.
3640 * util/update-grub_lib.in: Likewise.
3641 * util/grub.d/00_header.in: Likewise.
3642 * util/grub.d/10_hurd.in: Likewise.
3643 * util/grub.d/10_kfreebsd.in: Likewise.
3644 * util/grub.d/10_linux.in: Likewise.
3645 * util/grub.d/10_netbsd.in: Likewise.
3646 * util/grub.d/10_windows.in: Likewise.
3647 * util/grub.d/20_linux_xen.in: Likewise.
3648 * util/grub.d/30_os-prober.in: Likewise.
3649
3650 2011-06-28 Colin Watson <cjwatson@ubuntu.com>
3651
3652 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3653 default_bg_color rather than black.
3654 (grub_gfxterm_fullscreen): Likewise.
3655 (grub_gfxterm_background_color_cmd): Save new background color in
3656 default_bg_color.
3657
3658 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3659
3660 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3661
3662 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3663
3664 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3665 mismerge.
3666
3667 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3668
3669 Chainloading on coreboot support.
3670
3671 * grub-core/Makefile.core.def (chain): Add coreboot.
3672 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3673
3674 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3675
3676 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
3677 if it happens.
3678
3679 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3680
3681 Implement time command.
3682
3683 * grub-core/Makefile.core.def (time): New module.
3684 * grub-core/commands/time.c: New file.
3685 * grub-core/script/parser.y: Remove "time" keyword.
3686 * grub-core/script/yylex.l: Likewise.
3687
3688 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3689
3690 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
3691
3692 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
3695 when handling leftovers.
3696
3697 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3698
3699 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
3700 so that help2man doesn't fail.
3701
3702 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3703
3704 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
3705 type in pointers on sparc64.
3706 (get_card_packet): Likewise.
3707
3708 2011-06-27 Colin Watson <cjwatson@ubuntu.com>
3709
3710 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
3711 with `*'.
3712 (grub_cmd_videoinfo): Fetch current video mode.
3713
3714 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3715
3716 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
3717 because of underlying system restrictions.
3718
3719 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3720
3721 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
3722 necessary.
3723
3724 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 Coreboot video support.
3727
3728 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
3729 (vbe): Likewise.
3730 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
3731 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
3732 here ...
3733 * grub-core/kern/i386/int.S: ... here.
3734 * grub-core/video/i386/pc/vbe.c: Updated includes.
3735 * grub-core/video/i386/pc/vga.c: Likewise.
3736 * include/grub/i386/coreboot/memory.h
3737 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
3738 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
3739 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
3740 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
3741 Disable interrupts.
3742 * include/grub/i386/pc/vga.h: Removed. All users updated.
3743
3744 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3745
3746 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
3747 definitions for dprintf.
3748 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
3749
3750 2011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3751
3752 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
3753 prototype.
3754 (get_card_packet): Likewise.
3755
3756 2011-06-26 Yves Blusseau <blusseau@zetam.org>
3757
3758 Display the path of the file when file is not found
3759
3760 * grub-core/fs/fat.c: Display the filename when file is not found.
3761 * grub-core/fs/fshelp.c: Likewise.
3762 * grub-core/fs/hfs.c: Likewise.
3763 * grub-core/fs/jfs.c: Likewise.
3764 * grub-core/fs/minix.c: Likewise.
3765 * grub-core/fs/ufs.c: Likewise.
3766 * grub-core/fs/btrfs.c: Likewise.
3767 * grub-core/commands/i386/pc/play.c: Likewise.
3768
3769 2011-06-26 Szymon Janc <szymon@janc.net.pl>
3770
3771 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
3772 pointer checks before calling grub_free().
3773 * grub-core/commands/wildcard.c (match_devices): Likewise.
3774 * grub-core/commands/wildcard.c (match_files): Likewise.
3775 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
3776 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
3777 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
3778 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
3779 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
3780 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
3781 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
3782 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3783 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
3784
3785 2011-06-25 Patrick <p55@mailinator.com>
3786
3787 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
3788
3789 2011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
3792 (grub_pxe_send): Likewise.
3793 (GRUB_MOD_INIT): Fix types.
3794
3795 2011-06-24 Szymon Janc <szymon@janc.net.pl>
3796
3797 * grub-core/io/xzio.c: Fix code style issues
3798
3799 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3800 2011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
3801
3802 Network infrastructure.
3803 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
3804
3805 * include/grub/net/arp.h: New file.
3806 * include/grub/net/device.h: Likewise.
3807 * include/grub/net/ethernet.h: Likewise.
3808 * include/grub/net/ip.h: Likewise.
3809 * include/grub/net/netbuff.h: Likewise.
3810 * include/grub/net/tftp.h: Likewise.
3811 * include/grub/net/udp.h: Likewise.
3812 * include/grub/ieee1275/ofnet.h: Likewise.
3813 * include/grub/emu/export.h: Likewise.
3814 * include/grub/net.h: Likewise.
3815 * grub-core/net/arp.c: Likewise.
3816 * grub-core/net/ethernet.c: Likewise.
3817 * grub-core/net/ip.c: Likewise.
3818 * grub-core/net/udp.c: Likewise.
3819 * grub-core/net/tftp.c: Likewise.
3820 * grub-core/net/netbuff.c: Likewise.
3821 * grub-core/net/net.c: Likewise.
3822 * grub-core/net/drivers/emu/emunet.c: Likewise.
3823 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
3824 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
3825 export.h.
3826 * grub-core/Makefile.core.def (net): New module.
3827 (tftp): Likewise.
3828 (ofnet): Likewise.
3829 (emunet): Likewise.
3830 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
3831 network protocols.
3832 * grub-core/kern/device.c (grub_net_open) : New variable.
3833 (grub_device_open): Handle network device.
3834 (grub_device_close): Likewise.
3835 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
3836 (grub_grubnet_fini): Likewise.
3837 (grub_file_seek): Seek in network device.
3838 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
3839 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
3840 network root.
3841 (grub_machine_fini): Call grub_grubnet_fini.
3842 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
3843 network.
3844 (grub_ieee1275_get_aliasdevname): New function.
3845 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3846 Add unofficial Solaris network info.
3847 (grub_multiboot_make_mbi): Likewise.
3848 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
3849 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
3850 * include/grub/device.h (grub_fs): Removed.
3851 * include/grub/err.h (grub_err_t): Add network-related values.
3852 * include/grub/i386/pc/pxe.h: Removed bootp parts.
3853 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
3854 (grub_ieee1275_get_aliasdevname): New proto.
3855 * include/grub/net.h: Rewritten.
3856
3857 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
3860 names.
3861
3862 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
3865 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
3866 it truncates the output.
3867 Reported by: Ximin Luo.
3868
3869 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3870
3871 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
3872
3873 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3874
3875 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3876 partmap before abstraction.
3877
3878 2011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
3879
3880 * util/grub-mkconfig_lib.in: Add missing quotes.
3881
3882 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3883
3884 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
3885 old method if mountinfo would return /dev/root and /dev/root doesn't
3886 exist.
3887
3888 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3889
3890 ZFS zlib support
3891
3892 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
3893 (decomp_table): Add zlib entries.
3894 (zio_read): USe 8 bits for compression function rather than 3.
3895 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
3896
3897 2011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3898
3899 * grub-core/disk/ahci.c: Add missing license statements.
3900 * grub-core/fs/romfs.c: Likewise.
3901 * grub-core/lib/ia64/setjmp.S: Likewise.
3902 * grub-core/loader/i386/pc/freedos.c: Likewise.
3903 * grub-core/loader/ia64/efi/linux.c: Likewise.
3904 * grub-core/video/colors.c: Likewise.
3905 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
3906
3907 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3908
3909 AHCI support.
3910
3911 * grub-core/Makefile.core.def (ata_pthru): Removed.
3912 (ahci): New module.
3913 (pata): Likewise.
3914 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
3915 on unload.
3916 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
3917 readwrite.
3918 (grub_hdparm_do_check_powermode_cmd): Likewise.
3919 (grub_hdparm_do_smart_cmd): Likewise.
3920 (grub_hdparm_set_val_cmd): Likewise.
3921 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
3922 * grub-core/disk/ahci.c: New file.
3923 * grub-core/disk/ata.c: Factor out the low-level part into ...
3924 * grub-core/disk/pata.c: ... here.
3925 * grub-core/disk/ata_pthru.c: Contents moved to ...
3926 * grub-core/disk/pata.c: ... here.
3927 * grub-core/disk/scsi.c (grub_scsi_names): New array.
3928 (grub_scsi_iterate): Use grub_scsi_names.
3929 (grub_scsi_open): Likewise.
3930 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
3931 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
3932 (grub_ata_regs_t): New struct.
3933 (grub_disk_ata_pass_through_parms): Likewise.
3934 (grub_ata_device): Renamed to ...
3935 (grub_ata): ... this.
3936 (grub_ata_dev): New struct.
3937 Removed all low-level inline functions.
3938 * include/grub/scsi.h: Add PATA and AHCI subsystems.
3939 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
3940 iterate hooks and open. All users updated.
3941 * util/grub-install.in: Handle AHCI disk module.
3942
3943 2011-06-23 Szymon Janc <szymon@janc.net.pl>
3944
3945 Add support for DRI and RSTn markers in JPEG files.
3946
3947 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
3948 (JPEG_MARKER_RST0): Likewise.
3949 (JPEG_MARKER_RST1): Likewise.
3950 (JPEG_MARKER_RST2): Likewise.
3951 (JPEG_MARKER_RST3): Likewise.
3952 (JPEG_MARKER_RST4): Likewise.
3953 (JPEG_MARKER_RST5): Likewise.
3954 (JPEG_MARKER_RST6): Likewise.
3955 (JPEG_MARKER_RST7): Likewise.
3956 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
3957 (grub_jpeg_decode_dri): New function.
3958 (grub_jpeg_decode_sos): Move image data related part into
3959 grub_jpeg_decode_data function.
3960 (grub_jpeg_decode_data): New function.
3961 (grub_jpeg_reset): New function.
3962 (grub_jpeg_decode_jpeg): Handle new markers.
3963
3964 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * util/ieee1275/ofpath.c (check_sas): Close fd.
3967 (main): Free of_path.
3968 Reported by: David Volgyes <dvolgyes>.
3969
3970 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
3973 Reported by: David Volgyes <dvolgyes>.
3974
3975 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3976
3977 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
3978 file after stat.
3979 Reported by: David Volgyes <dvolgyes>.
3980
3981 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3982
3983 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
3984
3985 Reported by: David Volgyes <dvolgyes>.
3986
3987 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3988
3989 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
3990 Prevent memory leak.
3991
3992 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3993
3994 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
3995 (main): Close file.
3996 Reported by: David Volgyes <dvolgyes>.
3997
3998 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3999
4000 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
4001 to continue if allocation is failed.
4002
4003 Reported by: David Volgyes <dvolgyes>.
4004
4005 2011-06-23 David Volgyes <dvolgyes>
4006
4007 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
4008 dereference.
4009
4010 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4011
4012 Fix spurious warning.
4013
4014 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
4015 (acorn_partition_map_find): Use .bin member.
4016
4017 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
4020 /dev/root as a valid device.
4021
4022 2011-06-23 Jim Meyering <meyering@redhat.com>
4023
4024 Avoid NULL deref in grub_device_open.
4025
4026 * grub-core/kern/device.c (grub_device_open): Don't dereference
4027 a NULL pointer upon failed grub_env_get.
4028
4029 2011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 Support non-512B sectors and agglomerate reads.
4032
4033 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
4034 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
4035 (disk_io_guid): Removed.
4036 (make_devices): Locate solely by BlockIO.
4037 (grub_efidisk_open): Fill log_sector_size and total_sectors.
4038 (grub_efidisk_read): Use read_blocks.
4039 (grub_efidisk_write): Use write_blocks.
4040 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
4041 log_sector_size.
4042 (get_safe_sectors): Handle non-512B sectors.
4043 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
4044 sectors.
4045 (grub_biosdisk_write): Handle non-512B sectors.
4046 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
4047 (grub_scsi_read): Remove special non-512B block handling (now handled
4048 one level up).
4049 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4050 and do sanity checks.
4051 (grub_disk_adjust_range): Handle non-512B sectors.
4052 (transform_sector): New function.
4053 (grub_disk_read_small): Likewise.
4054 (grub_disk_read): Rewritten.
4055 (grub_disk_write): Handle non-512B sectors.
4056 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4057 log_sector_size.
4058 (open_device): Use log_sector_size.
4059 (grub_util_biosdisk_read): Likewise.
4060 (grub_util_biosdisk_write): Likewise.
4061 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4062 non-512B sectors.
4063 (pc_partition_map_embed): Likewise.
4064 * include/grub/disk.h (grub_disk): New field log_sector_size.
4065 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4066 (GRUB_DISK_CACHE_BITS): Increased to 6.
4067 * util/grub-fstest.c (fstest): New command testload.
4068 (argp_parser): Likewise.
4069
4070 2011-06-16 Robert Millan <rmh@gnu.org>
4071
4072 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4073 `ata' driver on kernel of FreeBSD 9.
4074
4075 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4076 (get_ataraid_disk_name): New functions.
4077 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4078 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4079 get_ataraid_disk_name() and get_ada_disk_name().
4080
4081 2011-06-13 Colin Watson <cjwatson@ubuntu.com>
4082
4083 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4084 input format.
4085
4086 2011-05-29 Colin Watson <cjwatson@ubuntu.com>
4087
4088 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4089 `ftp.gnu.org' for `alpha.gnu.org'.
4090
4091 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4092
4093 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4094 partitions under /dev/disk/by-id/.
4095
4096 2011-05-27 Colin Watson <cjwatson@ubuntu.com>
4097
4098 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4099 after ten consecutive open failures. Scanning all the way up to
4100 10000 is excessive and can cause serious performance problems in
4101 some configurations.
4102 Fixes Ubuntu bug #787461.
4103
4104 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4105
4106 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4107 opening new one.
4108
4109 2011-05-21 Colin Watson <cjwatson@ubuntu.com>
4110 2011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4111
4112 Don't stat devices unless we have to.
4113
4114 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4115 dir == /dev/mapper.
4116 (grub_guess_root_device): Use already known os_dev if possible.
4117 * grub-core/kern/emu/hostdisk.c
4118 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4119 if device is known to be a dm one.
4120
4121 2011-05-20 Colin Watson <cjwatson@ubuntu.com>
4122
4123 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4124 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4125 Reported by: Pawel Tecza.
4126
4127 2011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4130 (lsefisystab): Likewise.
4131 (lssal): Likewise.
4132 (lsefimmap): Likewise.
4133 (hdparm): Enable on qemu-mips.
4134 (setjmp): Add ia64 nodist.
4135 (serial): Simplify tags.
4136
4137 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4138
4139 * Makefile.util.def (grub-ofpathname): Install manual page.
4140
4141 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4142
4143 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4144
4145 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4146
4147 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4148
4149 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4150
4151 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4152 into dprintf.
4153
4154 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4155
4156 Use full 64-bit division.
4157
4158 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4159 (grub_divmod64): ... this.
4160 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4161 version.
4162
4163 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4164
4165 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4166 `source'.
4167
4168 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4169
4170 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4171 to avoid accidents when debugging with 'sh -x'.
4172 * grub-core/gensyminfo.sh.in: Likewise.
4173 * tests/example_scripted_test.in: Likewise.
4174 * tests/grub_cmd_regexp.in: Likewise.
4175 * tests/grub_script_blanklines.in: Likewise.
4176 * tests/grub_script_dollar.in: Likewise.
4177 * tests/grub_script_expansion.in: Likewise.
4178 * tests/grub_script_final_semicolon.in: Likewise.
4179 * tests/partmap_test.in: Likewise.
4180 * tests/util/grub-shell-tester.in: Likewise.
4181 * tests/util/grub-shell.in: Likewise.
4182
4183 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4184
4185 Move gfxmenu color handling to video, so that gfxterm can use it
4186 too.
4187
4188 * grub-core/gfxmenu/named_colors.c: Move to ...
4189 * grub-core/video/colors.c: ... here. Rename
4190 grub_gui_get_named_color to grub_video_get_named_color.
4191 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4192 * grub-core/video/colors.c (my_isxdigit): ... here.
4193 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4194 Move to ...
4195 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4196 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4197 to ...
4198 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4199
4200 * include/grub/gui.h (grub_gui_color_t): Move to ...
4201 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4202 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4203 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4204 * include/grub/gui.h (grub_gui_map_color): Move to ...
4205 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4206 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4207 to ...
4208 * include/grub/video.h (grub_video_get_named_color): ... here.
4209 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4210 * include/grub/video.h (grub_video_parse_color): ... here.
4211
4212 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4213 video/colors.c.
4214 (gfxmenu): Remove gfxmenu/named_colors.c.
4215 (video) [videomodules]: Add video/colors.c.
4216
4217 Add a background_color command.
4218
4219 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4220 function.
4221 (GRUB_MOD_INIT): Register background_color command.
4222 (GRUB_MOD_FINI): Unregister background_color command.
4223 (redraw_screen_rect): Allow blend/replace of text layer to be
4224 controlled independently from whether there is a background bitmap.
4225 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4226 changing bitmap.
4227
4228 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4229
4230 Patch BPB in ntldr and chainloader --bpb.
4231
4232 * grub-core/fs/fat.c: Include grub/fat.h.
4233 (grub_fat_bpb): Moved to ...
4234 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4235 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4236 grub/ntfs.h.
4237 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4238 Moved from here...
4239 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4240 here.
4241 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4242 New function.
4243 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4244 (GRUB_MOD_INIT): Show --bpb.
4245 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4246 * grub-core/normal/main.c (features): New variable.
4247 (GRUB_MOD_INIT): Set feature_* variables.
4248 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4249 proto.
4250 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4251
4252 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4255 for cleanness.
4256
4257 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 FreeDOS direct loading support.
4260
4261 * docs/grub.texi (Supported OS): Add FreeDOS.
4262 * grub-core/Makefile.core.def (freedos): New module.
4263 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4264 variable.
4265 (grub_relocator16_boot): Handle %ebx.
4266 * grub-core/lib/i386/relocator16.S: Likewise.
4267 * grub-core/loader/i386/pc/freedos.c: New file.
4268
4269 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 Long Linux command line support.
4272
4273 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4274 (maximal_cmdline_size): New variable.
4275 (allocate_pages): Use maximal_cmdline_size.
4276 (grub_cmd_linux): Set and use maximal_cmdline_size.
4277 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4278 (allocate_pages): Use maximal_cmdline_size.
4279 (grub_cmd_linux): Set and use maximal_cmdline_size.
4280 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4281 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4282 and cmdline_size.
4283
4284 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4285 2011-05-18 Colin Watson <cjwatson@ubuntu.com>
4286
4287 Improve devmapper support
4288
4289 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4290 (grub_util_is_lvm): New function.
4291 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4292 than lvm if not dmraid.
4293 Handle mapped md nodes.
4294 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4295 (grub_util_device_is_mapped): ... this. Make always available. All users
4296 updated.
4297 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4298 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4299 dmraid nodes.
4300 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4301
4302 2011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4303
4304 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4305
4306 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4307 * grub-core/modinfo.sh.in: New file.
4308 * grub-core/Makefile.core.def (modinfo.sh): New script.
4309 * util/grub-mknetdir.in: Use modinfo.sh.
4310 * util/grub-mkrescue.in: Likewise.
4311
4312 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4315 Fix potential usage of Elf32 instead of Elf64 when compiling on
4316 32-bit architecture. Add endianness macros while on it.
4317
4318 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4319
4320 Use mipsel- rather than mips- in directories involving mipsel ports to
4321 allow both endiannesses coexist.
4322
4323 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4324 mips. All conditions adjusted.
4325 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4326 variable.
4327 * util/grub-install.in: Adjust conditions to take renaming into account.
4328 * util/grub-mkimage.c (image_targets): Likewise. New target
4329 mips-qemu_mips-elf for bigendian mips.
4330
4331 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 Avoid unnecessary copying on MIPS.
4334
4335 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4336 early if src == dest.
4337 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4338 compression is none.
4339
4340 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4341
4342 Reduce memory footprint on SGI by putting modules before the kernel
4343 as opposed to after.
4344
4345 * grub-core/Makefile.core.def (kernel): Increase linking address.
4346 (none_decompress): Likewise.
4347 (xz_decompress): Likewise.
4348 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4349 address.
4350 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4351 layout change.
4352 (grub_arch_modules_addr): New function.
4353 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4354 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4355 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4356 here.
4357 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4358 (grub_total_modules_size): ... this. Make global.
4359 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4360 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4361 New definition.
4362 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4363 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4364 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4365 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4366 * util/grub-mkimage.c (image_target_desc): New flag
4367 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4368 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4369 (generate_image): Handle images with modules before kernel.
4370
4371 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 Prevent potential loss of memory map by overwrite on qemu-mips.
4374
4375 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4376 Save ram size in $s4.
4377 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4378 All users changed to grub_arch_memsize.
4379 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4380 Loongson.
4381 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4382 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4383 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4384 external variable.
4385
4386 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4387
4388 * .bzrignore: Remove grub-dumpbios.
4389
4390 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4391
4392 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4393 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4394 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4395 existing options which append).
4396 * docs/grub.texi (Simple configuration): Document new options.
4397 Reported by: Ian Jackson. Fixes Debian bug #617538.
4398
4399 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4400
4401 * util/grub-fstest.c (cmd_cat): New function.
4402 (fstest): Handle CMD_CAT.
4403 (options): Add cat.
4404 (argp_parser): Handle cat.
4405
4406 2011-05-17 Colin Watson <cjwatson@ubuntu.com>
4407
4408 * Makefile.util.def (grub-bin2h): Don't install.
4409 * docs/man/grub-bin2h.h2m: Remove.
4410
4411 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4412
4413 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4414 place.
4415
4416 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4417
4418 Reenable qemu-mips port.
4419
4420 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4421 Fix small arc bug while on it.
4422 * gentpl.py: Handle qemu_mips.
4423 * grub-core/Makefile.am: Likewise.
4424 * grub-core/Makefile.core.def: Likewise.
4425 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4426 inappropriate includes.
4427 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4428 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4429 * grub-core/kern/main.c (grub_modules_get_end)
4430 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4431 * grub-core/kern/mips/qemu-mips: Moved to ..
4432 * grub-core/kern/mips/qemu_mips: ... this.
4433 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4434 (grub_machine_init): Call terminfo_init and serial_init.
4435 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4436 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4437 New variable.
4438 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4439 parameter passing.
4440 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4441 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4442 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4443 * include/grub/mips/qemu_mips/cmos.h: New file.
4444 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4445 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4446 Removed.
4447 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4448 Use correct mips-style address.
4449 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4450 (GRUB_TICKS_PER_SECOND): Removed.
4451 (grub_get_rtc): Likewise.
4452 (grub_cpu_idle): Likewise.
4453 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4454 New definition.
4455 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4456 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4457 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4458 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4459 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4460 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4461 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4462 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4463
4464 2011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4465
4466 SGI ARCS port.
4467
4468 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4469 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4470 platforms.
4471 * configure.ac: New target mips-arc.
4472 * gentpl.py: Likewise.
4473 * grub-core/Makefile.am: Likewise.
4474 * grub-core/Makefile.core.def: Likewise.
4475 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4476 (none_decompress): Likewise.
4477 (lsdev): New module.
4478 (datetime): Use lib/arc/datetime.c on ARC.
4479 (part_dvh): New module.
4480 * grub-core/commands/arc/lsdev.c: New file.
4481 * grub-core/disk/arc/arcdisk.c: Likewise.
4482 * grub-core/kern/mips/arc/init.c: Likewise.
4483 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4484 aligned addresses.
4485 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4486 support.
4487 (grub_arch_dl_relocate_symbols): Likewise.
4488 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4489 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4490 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4491 platforms.
4492 * grub-core/lib/arc/datetime.c: New file.
4493 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4494 pci.h on non-loongson.
4495 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4496 (grub_linux_boot): Set unused registers to 0.
4497 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4498 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4499 * grub-core/mmap/mips/uppermem.c: ...here.
4500 * grub-core/partmap/dvh.c: New file.
4501 * grub-core/term/arc/console.c: Likewise.
4502 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4503 (grub_terminfo_set_current): Add terminal "arc".
4504 (grub_terminfo_readkey): Support ARC sequences.
4505 * include/grub/arc/arc.h: New file.
4506 * include/grub/arc/console.h: Likewise.
4507 * include/grub/disk.h (grub_disk_dev_id): Add
4508 GRUB_DISK_DEVICE_ARCDISK_ID.
4509 * include/grub/mips/arc/kernel.h: New file.
4510 * include/grub/mips/arc/memory.h: Likewise.
4511 * include/grub/mips/arc/time.h: Likewise.
4512 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4513 * include/grub/mips/kernel.h (grub_halt): ... here.
4514 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4515 here...
4516 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4517 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4518 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4519 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4520 proto.
4521 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4522 from here ...
4523 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4524 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4525 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4526 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4527 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4528 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4529 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4530 (grub_phys_addr_t): Moved from here ...
4531 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4532 (grub_vtop): Moved from here ...
4533 * include/grub/mips/memory.h (grub_vtop): ... here.
4534 (grub_map_memory): Moved from here ...
4535 * include/grub/mips/memory.h (grub_map_memory): ... here.
4536 (grub_unmap_memory): Moved from here ...
4537 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4538 (grub_machine_mmap_iterate): Moved from here ...
4539 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4540 (grub_mmap_get_lower): Moved from here ...
4541 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4542 (grub_mmap_get_upper): Moved from here ...
4543 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4544 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4545 here ...
4546 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4547 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4548 here ...
4549 * include/grub/mips/time.h (grub_get_rtc): ... here.
4550 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4551 here ...
4552 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4553 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4554 here ...
4555 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4556 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4557 definition.
4558 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4559 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4560 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4561 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4562 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4563 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4564 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4565 (GRUB_MACHINE_LINK_ADDR): Likewise.
4566 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4567 to 6.
4568 * util/grub-install.in: Run dvhtool on ARC.
4569 * util/grub-mkimage.c (image_targets): Add mips-arc.
4570 (generate_image): Handle ECOFF output for mips-arc.
4571
4572 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4575 blocks.
4576
4577 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4580 after enabling port.
4581
4582 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 Skip incorrect USB devices.
4585
4586 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4587 configcnt == 0.
4588 * include/grub/usb.h (grub_usb_err_t): New enum value
4589 GRUB_USB_ERR_BADDEVICE.
4590
4591 2011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4592
4593 Fuloong video init support.
4594
4595 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4596 well.
4597 (grub_vga_read_arx): New function.
4598 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4599 definition.
4600 (framebuffer): New members io, mmioptr and mmiobase.
4601 (read_sis_cmd): New function.
4602 (write_sis_cmd): Likewise.
4603 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4604 rather than 640x400.
4605 * grub-core/video/sis315_init.c: New file.
4606
4607 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4610 non-loongson.
4611 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4612 to grub_dl_register_symbol.
4613
4614 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4615
4616 Fix compilation errors.
4617
4618 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4619 potentially unused.
4620 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4621 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4622 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4623 to loongson machines.
4624
4625 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4626
4627 Several FS mtime support.
4628
4629 * grub-core/fs/affs.c (grub_affs_time): New struct.
4630 (grub_affs_file): New field mtime.
4631 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4632 type. Removed 'size'. New field 'di'. All users updated.
4633 (grub_affs_mount): Simplify checsum checking.
4634 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4635 (grub_affs_dir): Handle mtime.
4636 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4637 (grub_cpio_dir): Likewise.
4638 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4639 (grub_hfs_filerec): New field mtime.
4640 (grub_hfs_dir): Handle mtime.
4641 (grub_hfs_mtime): New function.
4642 (grub_hfs_fs): Register grub_hfs_mtime.
4643 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4644 (grub_iso9660_dir): New field mtime.
4645 (grub_fshelp_node): New field dirent.
4646 (iso9660_to_unixtime): New function.
4647 (iso9660_to_unixtime2): Likewise.
4648 (grub_iso9660_read_symlink): Use node->dirent.
4649 (grub_iso9660_iterate_dir): Likewise.
4650 (grub_iso9660_dir): Set mtime.
4651 (grub_iso9660_mtime): New function.
4652 (grub_iso9660_fs): Register grub_iso9660_mtime.
4653 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4654 (grub_jfs_inode): New fields atime, ctime and mtime.
4655 (grub_jfs_dir): Set mtime.
4656 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4657 * grub-core/fs/ntfs.c (list_file): Set mtime.
4658 (grub_ntfs_dir): Likewise.
4659 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4660 (grub_reiserfs_iterate_dir): Set mtime.
4661 (grub_reiserfs_dir): Likewise.
4662 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4663 (grub_fshelp_node): Likewise.
4664 (grub_sfs_iterate_dir): Set mtime.
4665 (grub_sfs_dir): Likewise.
4666 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4667 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4668 (grub_xfs_inode): New fields atime, mtime, ctime.
4669 (grub_xfs_dir): Set mtime.
4670 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4671 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4672 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4673
4674 Support UDF symlinks.
4675
4676 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
4677 (grub_ufs_read_symlink): New function. All users updated.
4678
4679 Check amiga partmap checksum.
4680
4681 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
4682 (grub_amiga_partition): Likewise.
4683 (amiga_partition_map_checksum): New function.
4684 (amiga_partition_map_iterate): Check checksum.
4685
4686 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4687
4688 ROMFS support.
4689
4690 * Makefile.util.def (libgrubmods.a): Add romfs.
4691 * grub-core/Makefile.core.def (romfs): New module.
4692 * grub-core/fs/romfs.c: New file.
4693
4694 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4695
4696 Squashfs v4 support.
4697
4698 * Makefile.util.def (libgrubmods.a): Add squash4.
4699 * grub-core/Makefile.core.def (squash4): New module.
4700 * grub-core/fs/squash4.c: New file.
4701 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
4702 disk_input_start, disk_input.
4703 (get_byte): Handle disk_input.
4704 (grub_zlib_disk_read): New function.
4705 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
4706
4707 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4708 2011-05-15 Feiran Zheng <famcool@gmail.com>
4709
4710 * Makefile.util.def (libgrubmods.a): Add minix3.
4711 * grub-core/Makefile.core.def (minix3): New module.
4712 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
4713 (GRUB_MINIX_BSIZE): Removed.
4714 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
4715 (grub_minix_ino_t): New type.
4716 (grub_minix_le_to_cpu_ino): New macro.
4717 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
4718 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
4719 (grub_minix_data): New field block_size.
4720 (grub_minix_read_file): Handle 64-bit correctly.
4721 * grub-core/fs/minix3.c: New file.
4722
4723 2011-05-15 Tristan Gingold <gingold@free.fr>
4724 2011-05-15 Robert Millan <rmh.grub@aybabtu.com>
4725 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4726
4727 IA64 support.
4728
4729 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
4730 * configure.ac: Add ia64-efi target.
4731 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
4732 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
4733 * gentpl.py: Add ia64_efi platform.
4734 Rename x86_efi to efi and Add ia64-efi. All users updated.
4735 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
4736 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
4737 Remove kern/generic/rtc_get_time_ms.c on EFI.
4738 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
4739 kern/ia64/dl_helper.c on ia64-efi.
4740 Add kern/emu/cache.c on emu.
4741 (linux): Use on loader/ia64/efi/linux.c on ia64.
4742 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
4743 whether symbol is a function.
4744 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
4745 (grub_symbol): New field 'isfunc'.
4746 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
4747 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
4748 (grub_dl_load_segments): Place all sections into the same region.
4749 [__ia64__]: Create trampolines and got.
4750 [GRUB_MACHINE_EMU]: Call mprotect.
4751 (grub_dl_resolve_symbols): Resolve symbol type as well.
4752 [__ia64__]: Create function descriptors.
4753 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
4754 (grub_rtc_get_time_ms): ... this. Expressions simplified.
4755 (grub_get_rtc): New function.
4756 * grub-core/kern/emu/cache.c [__ia64__]: New file.
4757 * grub-core/kern/emu/cache.S: Renamed to ...
4758 * grub-core/kern/emu/cache_s.S: ... this.
4759 [__ia64__]: Add a nop.
4760 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
4761 [__ia64__]: New function.
4762 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
4763 * grub-core/kern/ia64/dl.c: New file.
4764 * grub-core/kern/ia64/dl_helper.c: Likewise.
4765 * grub-core/kern/ia64/efi/init.c: New file.
4766 * grub-core/kern/ia64/efi/startup.S: Likewise.
4767 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
4768 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
4769 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
4770 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
4771 * grub-core/loader/ia64/efi/linux.c: New file.
4772 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
4773 (GRUB_MOD_DEP): Likewise.
4774 (grub_dl) [__ia64__]: New fields got and tramp.
4775 (grub_dl): New field 'base'.
4776 (grub_dl_register_symbol): New argument isfunc. All users updated.
4777 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
4778 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
4779 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
4780 (grub_ia64_dl_get_tramp_got_size): New proto.
4781 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
4782 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
4783 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
4784 * include/grub/efi/api.h: Skip call wrappers on ia64.
4785 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
4786 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
4787 * include/grub/elf.h (ELF_ST_INFO): New definition.
4788 * include/grub/ia64/efi/kernel.h: New file.
4789 * include/grub/ia64/efi/memory.h: Likewise.
4790 * include/grub/ia64/efi/time.h: Likewise.
4791 * include/grub/ia64/kernel.h: Likewise.
4792 * include/grub/ia64/setjmp.h: Likewise (from glibc).
4793 * include/grub/ia64/time.h: New file.
4794 * include/grub/ia64/types.h: Likewise.
4795 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
4796 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
4797 New protos.
4798 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
4799 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4800 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
4801 * util/grub-mkimage.c (image_target_desc): New field pe_target.
4802 All users updated.
4803 (EFI64_HEADER_SIZE): New definition. All users updated.
4804 (image_targets): Add ia64-efi.
4805 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
4806 jumpers_addr. All users updated.
4807 Create function descriptors.
4808 (count_funcs): New function.
4809 (unaligned_uint32): New struct.
4810 (MASK20): New definition.
4811 (MASK19): Likewise.
4812 (MASKF21): Likewise.
4813 (add_value_to_slot_20b): New function.
4814 (add_value_to_slot_21_real): Likewise.
4815 (add_value_to_slot_21): Likewise.
4816 (ia64_kernel_trampoline): New struct.
4817 (nopm): New variable.
4818 (jump): Likewise.
4819 (make_trampoline): New function.
4820 (relocate_addresses): Handle ia64.
4821 (make_reloc_section): Likewise.
4822 (load_image): Likewise.
4823
4824 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4825
4826 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
4827 warning. Move variables before code while on it.
4828
4829 2011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4830
4831 Fuloong support.
4832
4833 * configure.ac: Rename yeeloong platform to loongson. All users updated.
4834 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
4835 * grub-core/boot/mips/loongson/fuloong.S: New file.
4836 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
4837 Explicitly init CS5536.
4838 [FULOONG]: Don't use serial until CS5536 is available.
4839 Set GPIO based on dumps.
4840 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
4841 [FULOONG]: Handle GPIO and memory controller differences.
4842 Parse machine type in $a2.
4843 * grub-core/boot/mips/startup_raw.S: Determine and save the
4844 architecture.
4845 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
4846 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
4847 init on architecture type.
4848 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4849 SIS315E. Don't init at_keyboard on fuloong.
4850 (grub_halt): Support Fuloong.
4851 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
4852 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
4853 (loongson_machtypes): New array.
4854 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
4855 type.
4856 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
4857 config. All users updated. Handle CS5536 serial.
4858 * grub-core/term/serial.c (grub_serial_register): Conditionalise
4859 default port on machine type. Register serial as inactive.
4860 * grub-core/video/sis315pro.c: New file.
4861 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
4862 definition.
4863 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
4864 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
4865 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
4866 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
4867 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
4868 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
4869 to ...
4870 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
4871 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
4872 definition.
4873 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
4874 (grub_arch_machine): New extern var.
4875 * include/grub/mips/loongson/serial.h
4876 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
4877 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
4878 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
4879 (GRUB_MACHINE_SERIAL_PORT0): ... this.
4880 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
4881 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
4882 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
4883 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
4884 * include/grub/term.h (grub_term_register_input_inactive): New inline
4885 function.
4886 (grub_term_register_output_inactive): Likewise.
4887 * include/grub/video.h (grub_video_driver_id): New value
4888 GRUB_VIDEO_DRIVER_SIS315PRO.
4889 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
4890 New field "names". All users updated.
4891 New field value IMAGE_FULOONG_FLASH.
4892 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
4893
4894 2011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
4895
4896 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
4897 and add some clarification.
4898
4899 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4900
4901 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
4902 platforms if kernel is compressed.
4903
4904 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4905
4906 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
4907 unused modules since currently referrence counter isn't reliable and
4908 there isn't much memory to recover there anyway.
4909
4910 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4911
4912 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
4913 rather than resetting it to allow modules to reference themselves
4914 in init.
4915
4916 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
4919 counter on dependencies since grub_dl_unref already handles this.
4920
4921 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4922
4923 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
4924 on error if not already done.
4925
4926 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Fix few potential memory misusage.
4929
4930 * grub-core/font/font.c (load_font_index): Don't free char_index to
4931 avoid double free.
4932 (grub_font_load): Zero-fill font at alloc for safety.
4933 Close file on error.
4934 (free_font): Free bmp_idx.
4935
4936 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4937
4938 * docs/grub.texi (Installation): Fix several outdated claims.
4939
4940 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 Handle module_license on windows.
4943
4944 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
4945 sections shifted.
4946 (insert_string): Make argument const char * instead of char *.
4947 (write_section_data): Handle long section names.
4948 Handle module_license.
4949
4950 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
4953 handle class-free menuentries.
4954 (grub_normal_add_menu_entry): Add a check to be sure.
4955
4956 2011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
4959 PgUp and PgDown.
4960
4961 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * configure.ac: Bump version to 1.99.
4964
4965 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 Give ATA device a bit more time on first try in order to allow disks
4968 to spin up.
4969
4970 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
4971 if dev->present is 1. Reset dev->present on failure.
4972 (grub_ata_device_initialize): Set dev->present to 1.
4973 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
4974 (grub_ata_device): New member 'present'.
4975
4976 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * util/grub-mkimage.c (generate_image): Update hash.
4979
4980 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4981
4982 Flush caches on DMA memory.
4983
4984 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
4985 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
4986 (grub_dma_free): Likewise.
4987 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
4988
4989 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
4992 to avoid asm treating ld and sd as macros.
4993
4994 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
4997 decompressor.
4998
4999 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
5002 grub_decompress_core since later would fail if grub_decompress_core
5003 is too far.
5004
5005 2011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
5006
5007 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
5008 R_MIPS_JALR since it's used by newer compiler.
5009
5010 2011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
5011
5012 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
5013
5014 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
5017 file_path to 0 for surety.
5018 (grub_chainloader_boot): Set exit_data to NULL.
5019 Unset the loader once done.
5020 (grub_cmd_chainloader): Fix confusing error message if file is empty.
5021
5022 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5023
5024 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
5025 unknown key into a dprintf.
5026
5027 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5028
5029 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
5030 on first non-existant partition.
5031
5032 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
5035 openning fails.
5036 Reported by: Mark Korenberg.
5037
5038 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5039
5040 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
5041 overflow.
5042
5043 2011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
5044
5045 * util/grub-mkimage.c (main): Explicitely flush and sync the output
5046 before closing to ensure that it will be readable by grub-setup.
5047
5048 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5049
5050 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5051 (devpath_1): Use MAKE_PIWG_PATH.
5052 (devpath_2): Likewise.
5053 (devpath_3): Likewise.
5054 (devpath_4): Likewise.
5055 (devpath_5): Likewise.
5056 (devpath_6): Likewise.
5057
5058 The appleldr.mod was checked that to be binary identical to previous
5059 version.
5060
5061 2011-05-05 Zach <mikezackles>
5062
5063 Support 2010 Macbooks.
5064
5065 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5066 (devs): Add devpath_6.
5067
5068 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5069
5070 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5071 /dev/random. /dev/urandom is good enough for our purposes (salting).
5072
5073 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5076
5077 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5078
5079 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5080 hexadecimal.
5081
5082 2011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5083
5084 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5085 and not 0 on failure.
5086
5087 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5088
5089 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5090 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5091 disk; otherwise grub_fs_probe will not fall back to the next
5092 filesystem.
5093 (grub_pxefs_open): Likewise, for consistency.
5094 Reported and tested by: Ezekiel Grave.
5095
5096 2011-05-03 Colin Watson <cjwatson@ubuntu.com>
5097
5098 * tests/partmap_test.in: Don't hardcode path to parted.
5099 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5100
5101 2011-05-01 Colin Watson <cjwatson@ubuntu.com>
5102
5103 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5104 of `ls' to find out which devices are available.
5105
5106 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5107
5108 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5109 than source address for efi mmap buffer.
5110
5111 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5112
5113 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5114 wrong action on non-detecting the magic.
5115
5116 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5117
5118 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5119 already supplied by another part of the module (fixes compilation on
5120 FreeBSD).
5121
5122 2011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5123
5124 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5125 match the one used by mdadm.
5126
5127 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5128
5129 * po/README: Add instructions for creating po/LINGUAS.
5130
5131 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5132
5133 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5134 #551428.
5135
5136 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5137 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5138 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5139 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5140 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5141 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5142 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5143 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5144 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5145 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5146 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5147 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5148 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5149 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5150 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5151 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5152 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5153 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5154 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5155 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5156 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5157 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5158
5159 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5160
5161 * grub-core/kern/emu/getroot.c
5162 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5163 test that was incorrectly reintroduced in r3214.
5164 Reported by: Ian Dall. Fixes Savannah bug #33133.
5165
5166 2011-04-21 Colin Watson <cjwatson@ubuntu.com>
5167
5168 Fix stack pointer handling in 16-bit relocator.
5169
5170 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5171 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5172 Fixes Ubuntu bug #683904.
5173
5174 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * configure.ac: Bump version to 1.99~rc2.
5177
5178 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5179
5180 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5181 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5182 * grub-core/lib/x86_64/setjmp.S: Likewise.
5183 * grub-core/lib/mips/setjmp.S: Likewise.
5184 * grub-core/lib/powerpc/setjmp.S: Likewise.
5185 * grub-core/lib/sparc64/setjmp.S: Likewise.
5186
5187 2011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5188
5189 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5190 * grub-core/lib/efi/datetime.c: Likewise.
5191
5192 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5193
5194 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5195 New function.
5196 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5197 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5198 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5199
5200 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5203 bitmap.
5204 (grub_gfxterm_term_init): Likewise.
5205
5206 2011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5207
5208 Take into account the decorations the computing menu entry width.
5209
5210 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5211 (grub_gfxmenu_create_box): Register get_border_width.
5212 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5213 if available.
5214 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5215 get_border_width.
5216
5217 2011-04-18 Endres Puschner <code@e7p.de>
5218
5219 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5220 Don't skip first class.
5221
5222 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5225 chunks.
5226 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5227
5228 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Complete 64-bit division support.
5231
5232 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5233 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5234 * include/grub/misc.h (grub_divmod64): Rename to ...
5235 (grub_divmod64_full): ... this.
5236 (grub_divmod64): New inline function.
5237
5238 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5239
5240 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5241
5242 2011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5243
5244 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5245 performing the necessary test.
5246
5247 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5248
5249 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5250 (kfreebsd.elf): Likewise.
5251 (pc-chainloader.elf): Likewise.
5252 (ntldr.elf): Likewise.
5253
5254 2011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 Identify RAID by its UUID rather than (guessed) name.
5257
5258 * grub-core/disk/raid.c (ascii2hex): New function.
5259 (grub_raid_open): Accept mduuid/%s specification.
5260 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5261 (get_mdadm_uuid): ... this.
5262 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5263
5264 2011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5265
5266 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5267 to negative size.
5268
5269 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5270
5271 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5272 btrfs subvolume.
5273 * util/grub.d/20_linux_xen.in: Likewise.
5274
5275 2011-04-13 Colin Watson <cjwatson@ubuntu.com>
5276
5277 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5278 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5279
5280 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5281 Build a list of relevant visible mounts using the mnt_id and
5282 parent_mnt_id fields, and then scan that list at the end.
5283
5284 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5285
5286 * docs/grub.texi (normal): New section.
5287 (normal_exit): New section.
5288 (Embedded configuration): Add reference to normal.
5289 (GRUB only offers a rescue shell): Likewise.
5290 * docs/grub-dev.texi (Error Handling): Fix typo.
5291
5292 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5293
5294 * NEWS: Drop obsolete entry about probe-only btrfs support.
5295
5296 2011-04-12 Colin Watson <cjwatson@ubuntu.com>
5297
5298 * util/import_gcry.py: Fix typo.
5299
5300 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5301
5302 * NEWS: Add btrfs support.
5303
5304 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5305 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5306
5307 BtrFS support. Written by me (Vladimir) with important bugfixes and
5308 even more important testing by Colin.
5309
5310 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5311 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5312 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5313 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5314 mem_input_off and mem_input. All users updated to accept in-RAM input.
5315 (gzio_seek): New function.
5316 (test_zlib_header): Likewise.
5317 (grub_gzio_read): Likewise.
5318 (grub_zlib_decompress): Likewise.
5319 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5320 Accept partial and non-virtual mounts.
5321 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5322 avoid receiving /dev/dm-X as device.
5323 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5324 Handle bind and partial mounts.
5325 * grub-core/lib/crc.c: New file.
5326 * include/grub/deflate.h: Likewise.
5327 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5328 proto.
5329 * include/grub/lib/crc.h: New file.
5330
5331 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5332
5333 Implement automatic module license checking according to new GNU
5334 guidelines.
5335
5336 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5337 (grub_dl_load_core): Use grub_dl_check_license.
5338 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5339 (GRUB_MOD_LICENSE): Likewise.
5340 (GRUB_MOD_DUAL_LICENSE): Likewise.
5341 All modules updated.
5342
5343 2011-04-11 Colin Watson <cjwatson@ubuntu.com>
5344
5345 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5346 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5347 loaders.
5348 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5349
5350 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5351
5352 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5353
5354 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5355
5356 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5357 failed.
5358
5359 2011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5362 parenthesis in the middle of the filename.
5363
5364 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5365
5366 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5367 rather than trying to put initrd way too high.
5368 Reported by: Ryan Lortie <desrt@desrt.ca>
5369
5370 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5371
5372 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5373 improperly removed string.
5374
5375 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5376
5377 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5378 is_disk.
5379 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5380 (open_device) Likewise.
5381 (grub_util_biosdisk_close): Likewise.
5382 Reported by: Mark Korenberg.
5383
5384 2011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5385
5386 * util/grub-mkconfig_lib.in: Add missing quotes.
5387
5388 2011-04-10 Colin Watson <cjwatson@ubuntu.com>
5389
5390 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5391 is NULL.
5392
5393 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5394
5395 Dynamically count the number of lines for the lower banner.
5396
5397 * grub-core/normal/menu_entry.c (per_term_screen): New member
5398 num_entries.
5399 (print_down): Use num_entries.
5400 (update_screen): Likewise.
5401 (grub_menu_entry_run): Set num_entries.
5402 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5403 num_entries.
5404 (grub_print_message_indented): Move real part to ...
5405 (grub_print_message_indented_real): ... here. Additional argument
5406 dry_run.
5407 (draw_border): Additional argument num_entries.
5408 (print_message): Additional argument dry_run.
5409 (print_entries): Receive menu viewer data.
5410 (grub_menu_init_page): New argment num_entries.
5411 (menu_text_set_chosen_entry): Use num_entries.
5412 (grub_menu_try_text): Likewise.
5413 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5414 All users updated.
5415 (grub_ucs4_count_lines): New function.
5416 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5417 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5418 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5419 (grub_term_border_height): Likewise.
5420 (grub_term_num_entries): Likewise.
5421
5422 2011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5423
5424 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5425 Remove now unused string.
5426
5427 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5428
5429 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5430 build system.
5431 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5432
5433 (Comment): Fix typo.
5434 (Getting started): General copy-editing.
5435 (Typical Development Experience): Likewise.
5436 (Error Handling): Likewise.
5437 (Video API): Likewise.
5438
5439 2011-04-09 Colin Watson <cjwatson@ubuntu.com>
5440
5441 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5442 throughout.
5443
5444 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5445
5446 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5447 directory.
5448
5449 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5450
5451 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5452 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5453 "development".
5454
5455 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5456
5457 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5458 grub_strcpy since the lines aren't necessarily 0-terminated.
5459
5460 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5461
5462 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5463 root on legacy.
5464
5465 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5466
5467 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5468 (GRUB_MOD_INIT): DEVICE isn't optional.
5469
5470 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5471
5472 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5473 word on new line if it's too long anyway. Fixes a hang.
5474
5475 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5476
5477 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5478 const.
5479 * util/grub-setup.c (main): Reuse md device name if available.
5480 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5481 not GRUB name as argument.
5482 Based on patch by: Florian Wagner <fwagner>.
5483
5484 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5485
5486 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5487 Place mbi on low memory for better compatibility.
5488
5489 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5490
5491 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5492
5493 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5494 2011-04-08 Colin Watson <cjwatson@ubuntu.com>
5495
5496 * autogen.sh: Ensure that collate and ctype locale is C.
5497 * conf/Makefile.common: Likewise.
5498
5499 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5500
5501 * grub-core/normal/menu.c: Add missing include.
5502
5503 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5504
5505 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
5506
5507 2011-04-08 Martin Zuther <mzuther@mzuther.de>
5508
5509 * util/grub-mkconfig.in: Ignore emacsen backup.
5510
5511 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5512
5513 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5514 on open.
5515 (grub_util_biosdisk_close): Likewise.
5516
5517 2011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5518
5519 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5520 const attribute and use grub_isdigit.
5521
5522 2011-04-06 Andrey <dev_null@ukr.net>
5523
5524 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5525 gcc warning.
5526
5527 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5528
5529 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5530 useful grub_dprintf's.
5531
5532 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5533
5534 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5535
5536 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5537
5538 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5539
5540 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 Output errors if theme loading failed.
5543
5544 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5545 grub_gfxterm_fullscreen on error paths to ...
5546 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5547 theme loading error.
5548
5549 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5552 space for older compilers.
5553 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5554
5555 2011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5556
5557 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5558 and report them as not RAID members since they are useless for GRUB.
5559 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5560
5561 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 Increase LVM implementation robustness in order not to crash on
5564 configurations like pvmove. Previously code assumed that in some places
5565 only lvs or only pvs are used whereas it seems that they are used
5566 interchangeably.
5567
5568 * grub-core/disk/lvm.c (read_node): New function.
5569 (read_lv): Use read_node.
5570 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5571 Match volumes only at the end when all lvs are found. Take both
5572 pvs (first) and lvs (second) into account.
5573 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5574 mirror_* into node_*. All users updated.
5575 (grub_lvm_stripe): Merge this ...
5576 (grub_lvm_mirror): ... and this ...
5577 (grub_lvm_node): ... into this. All users updated.
5578
5579 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5580
5581 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5582 of function to allow further scanning for LVMs.
5583
5584 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5585
5586 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5587 on failed seek as it breaks open fd reusage.
5588
5589 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 * util/grub-install.in: Add a recommendation to use --recheck before
5592 reporting bugs.
5593
5594 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5595
5596 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5597 are obtained.
5598
5599 2011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5600
5601 GRUB developper manual based on existing Internals section and
5602 contributions by the various authors with active copyright assignment.
5603
5604 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5605 * docs/font_char_metrics.png: New file.
5606 * docs/font_char_metrics.txt: Likewise.
5607 * docs/grub-dev.texi: Likewise.
5608 * docs/grub.texi (Internals): Move from here ...
5609 * docs/grub-dev.texi: ... here.
5610
5611 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5612
5613 Store the loopback device as data on loopback grub_disk structures,
5614 rather than the file it points to. This fixes use of freed memory
5615 if an existing loopback device is replaced.
5616
5617 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5618 disk->data, not dev->file.
5619 (grub_loopback_read): Adjust file assignment to match.
5620 Fixes Ubuntu bug #742967.
5621
5622 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5623
5624 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5625 when replacing an existing device.
5626
5627 2011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5628
5629 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5630 memory corruptions.
5631
5632 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5633 unsigned.
5634 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5635 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5636 (grub_jfs_read_inode): Likewise.
5637 (grub_jfs_opendir): Likewise. Remove now useless casts.
5638 (grub_jfs_getent): Likewise.
5639 Make ino a grub_uint32_t rather than int.
5640 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5641 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5642 division and module with bit operations.
5643 (grub_jfs_find_file): Make ino a grub_uint32_t.
5644 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5645
5646 2011-04-01 Colin Watson <cjwatson@ubuntu.com>
5647
5648 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5649 warning. (This was in fact always initialised before use, but GCC
5650 wasn't smart enough to prove that.)
5651 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5652
5653 2011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5656 stack alignment.
5657 (efi_wrap_1): Likewise.
5658 (efi_wrap_2): Likewise.
5659 (efi_wrap_3): Likewise.
5660 (efi_wrap_4): Likewise.
5661 (efi_wrap_5): Likewise.
5662 (efi_wrap_6): Likewise.
5663 (efi_wrap_10): Likewise.
5664 Based on information by: Red Hat/Peter Jones.
5665
5666 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
5667
5668 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5669 set-but-not-used variable.
5670
5671 2011-03-31 Colin Watson <cjwatson@ubuntu.com>
5672
5673 * docs/grub.texi (Simple configuration): Be more explicit about
5674 GRUB_DEFAULT, and add an example.
5675 Reported by: Leslie Rhorer.
5676
5677 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5678
5679 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
5680 shell".
5681
5682 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5683
5684 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
5685 * util/grub.d/20_linux_xen.in: Likewise.
5686
5687 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5688
5689 * util/grub.d/10_linux.in: Try alternative config filenames where
5690 we parse config file.
5691 * util/grub.d/20_linux_xen.in: Likewise.
5692
5693 2011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5694
5695 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
5696 * util/grub.d/20_linux_xen.in: Likewise.
5697
5698 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5699
5700 * grub-core/disk/raid.c (insert_array): Add few potentially
5701 useful grub_util_info.
5702 (grub_raid_register): Likewise.
5703
5704 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5705
5706 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
5707 Preserve partition number in mdadm code path.
5708
5709 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5710
5711 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
5712 few potentially useful grub_util_info.
5713
5714 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5715
5716 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
5717
5718 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5719
5720 * docs/grub.texi (default): Use @example rather than nested
5721 itemized lists to avoid breaking gendocs.
5722
5723 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5724
5725 * docs/grub.texi (Future): Update.
5726
5727 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5728
5729 * docs/grub.texi (Environment): New chapter.
5730 (Changes from GRUB Legacy): Link to "Environment block" section for
5731 details of limitations.
5732 (Simple configuration): Likewise. Link to documentation of gfxmode
5733 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
5734 respectively.
5735 (Shell-like scripting): Note that normal variables are stored in the
5736 environment.
5737 (gettext): Link to documentation of lang and locale_dir.
5738 (list_env): New section.
5739 (load_env): New section.
5740 (save_env): New section.
5741
5742 (Reporting bugs): Fix typo.
5743
5744 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5745
5746 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
5747 the example.
5748
5749 2011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/term/at_keyboard.c (set_scancodes)
5752 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
5753
5754 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5755
5756 * docs/grub.texi (Menu-specific commands): Remove some semantics
5757 that were true in GRUB Legacy but not in GRUB 2.
5758 (submenu): New section.
5759 (false): New section.
5760 (read): New section.
5761 (true): New section.
5762
5763 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5764
5765 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
5766
5767 2011-03-30 Colin Watson <cjwatson@ubuntu.com>
5768
5769 * docs/grub.texi (Simple configuration): Explain some of the
5770 current limitations of grub-mkconfig.
5771 Reported by: Leslie Rhorer.
5772
5773 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 Old macs search for boot.efi rather than for bootia32.efi.
5776
5777 * util/grub-install.in: Copy bootia32.efi to boot.efi.
5778 * util/grub-mkrescue.in: Likewise.
5779 Suggested by: Peter Jones.
5780
5781 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5782
5783 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
5784
5785 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
5788 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
5789 (grub_lvm_mirror): New struct.
5790 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
5791 (grub_lvm_iterate): Iterate only visible volumes.
5792 (grub_lvm_read): Factor out to ..
5793 (read_lv): ... this. Support mirrors.
5794 (grub_lvm_read): New wrapper function.
5795 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
5796 stripped or mirrored.
5797
5798 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5799
5800 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
5801
5802 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5803
5804 * docs/grub.texi (loopback): New section.
5805
5806 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5807
5808 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
5809 removed -p option.
5810
5811 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5812
5813 * docs/grub.texi (BIOS installation): New section, partly based on
5814 previous text in other sections.
5815 (Installing GRUB using grub-install): Replace BIOS discussion with a
5816 cross-reference.
5817 (Images): Likewise.
5818
5819 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 * grub-core/kern/emu/hostdisk.c (find_partition_start)
5822 [HAVE_DIOCGDINFO]: Add safety checks.
5823
5824 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5825
5826 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
5827 per default compiled in kernel and prior to 8.0 isn't shipped at all.
5828
5829 2011-03-29 Colin Watson <cjwatson@ubuntu.com>
5830
5831 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
5832 real_sb->size is zero (e.g. RAID-0), get the disk size from
5833 real_sb->data_size instead.
5834 Fixes Ubuntu bug #743136.
5835
5836 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
5839 printf clauses for printing size and start.
5840
5841 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5842
5843 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
5844 Reported and tested by: Timothy Nikkel.
5845
5846 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5847
5848 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
5849 (dirty_region_add_real): ... this.
5850 (dirty_region_add): Don't discard margin refresh when performing
5851 scheduled repaint.
5852
5853 2011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5854
5855 * grub-core/lib/relocator.c (allocate_regstart)
5856 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
5857 terminals are capabple of malloc-free operation.
5858 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5859 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5860
5861 2011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
5862
5863 * util/grub-setup.c: Copy the partition table zone if floppy support
5864 is disabled, even if no partition table is found.
5865
5866 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
5867 during POST if an invalid partition table is contained in the PBR
5868 of the active partition when GRUB is installed to a partition.
5869
5870 2011-03-28 Colin Watson <cjwatson@debian.org>
5871
5872 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
5873 comment.
5874
5875 2011-03-28 Colin Watson <cjwatson@debian.org>
5876
5877 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
5878 to be specific about what kind of RAID device we're scanning for.
5879
5880 2011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
5881
5882 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
5883 return freed string.
5884
5885 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5886
5887 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
5888
5889 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 Use libgeom on FreeBSD to detect partitions.
5892
5893 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
5894 (grub-mkrelpath): Likewise.
5895 (grub-script-check): Likewise.
5896 (grub-editenv): Likewise.
5897 (grub-mkpasswd-pbkdf2): Likewise.
5898 (grub-fstest): Likewise.
5899 (grub-mkfont): Likewise.
5900 (grub-mkdevicemap): Likewise.
5901 (grub-probe): Likewise.
5902 (grub-setup): Likewise.
5903 (grub-ofpathname): Likewise.
5904 (grub-mklayout): Likewise.
5905 (example_unit_test): Likewise.
5906 (grub-menulst2cfg): Likewise.
5907 * grub-core/Makefile.core.def (grub-emu): Likewise.
5908 (grub-emu-lite): Likewise.
5909 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
5910 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
5911 define HAVE_DIOCGDINFO.
5912 (follow_geom_up) [FreeBSD]: New function.
5913 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
5914 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
5915 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
5916 unconditionally of HAVE_DIOCGDINFO.
5917
5918 2011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 Fix FreeBSD compilation problem.
5921
5922 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
5923 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
5924
5925 2011-03-24 Colin Watson <cjwatson@ubuntu.com>
5926
5927 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
5928 Switch back to page zero before loading a kernel, since some kernel
5929 drivers expect that.
5930 Thanks to: Felix Kuehling.
5931
5932 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5933
5934 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
5935 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
5936 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
5937
5938 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
5941 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
5942
5943 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
5946 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
5947 malloc is disabled.
5948
5949 2011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
5952 for modules headers when counting the needed allocation size.
5953
5954 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5955
5956 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
5957 if no ASCII character is found to prevent crash.
5958
5959 2011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
5960
5961 * grub-core/video/bitmap.c (match_extension): Ignore case.
5962
5963 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5964
5965 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
5966
5967 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5968
5969 * grub-core/script/parser.y: Declare "time" as valid argument.
5970
5971 2011-03-23 Peter Jones <pjones@redhat.com>
5972
5973 Fix incorrect assert failure reporting.
5974
5975 * grub-core/tests/example_functional_test.c (example_test): Add
5976 a failure comment.
5977 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
5978 (failure_start): ...this. Check that malloc succeeded.
5979 Don't call xvasprintf. Return failure struct.
5980 (failure_append_vtext): New function.
5981 (failure_append_text): Likewise.
5982 (add_failure): Likewise.
5983 (grub_test_assert_helper): Likewise.
5984 * include/grub/test.h (grub_test_assert_helper): New declaration.
5985 (grub_test_assert): Macro rewritten.
5986
5987 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5988
5989 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
5990
5991 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5992
5993 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
5994
5995 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5996
5997 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
5998 into GRUB-style one.
5999
6000 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6001
6002 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
6003 error and not grub_errno.
6004 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
6005
6006 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6007
6008 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
6009 GRUB_USB_SPEED_NONE in case of failure and not the error code.
6010
6011 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * grub-core/efiemu/i386/pc/cfgtables.c
6014 (grub_machine_efiemu_init_tables): Make declaration a prototype.
6015 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
6016 (grub_xnu_unlock): Likewise.
6017 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
6018
6019 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6020
6021 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
6022 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
6023 * grub-core/commands/hashsum.c (aliases): Likewise.
6024 * grub-core/commands/setpci.c (pci_registers): Likewise.
6025 * grub-core/disk/usbms.c (attach_hook): Likewise.
6026 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
6027 (zio_checksum_table): Likewise.
6028 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
6029 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
6030 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
6031 * grub-core/lib/relocator.c (leftovers): Likewise.
6032 (extra_blocks): Likewise.
6033 * grub-core/loader/i386/bsd.c (relocator): Likewise.
6034 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
6035 (modules_last): Likewise.
6036 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
6037 (devices): Likewise.
6038 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
6039 (modules_last): Likewise.
6040 * grub-core/normal/auth.c (users): Likewise.
6041 * grub-core/normal/context.c (initial_menu): Likewise.
6042 (current_menu): Likewise.
6043 * grub-core/normal/crypto.c (crypto_specs): Likewise.
6044 * grub-core/term/serial.c (grub_serial_ports): Likewise.
6045 (grub_serial_terminfo_input_template): Likewise.
6046 (grub_serial_terminfo_output_template): Likewise.
6047 (grub_serial_terminfo_input): Likewise.
6048 (grub_serial_terminfo_output): Likewise.
6049 (registered): Likewise.
6050 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6051
6052 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6053
6054 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6055 grub_video_mode_type_t.
6056 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6057 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6058 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6059
6060 2011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * util/grub-install.in: Correct the x86-64 name as x86_64.
6063
6064 2011-03-11 Colin Watson <cjwatson@ubuntu.com>
6065
6066 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6067 initial chunk read from the kernel always includes GRUB's multiboot
6068 header, which is now outside the first sector.
6069
6070 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6071
6072 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6073 cached mmap_size, so that this works correctly when called multiple
6074 times.
6075 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6076
6077 2011-03-09 Colin Watson <cjwatson@ubuntu.com>
6078
6079 * docs/grub.texi (Simple configuration): Tidy up formatting.
6080
6081 2011-03-07 Szymon Janc <szymon@janc.net.pl>
6082
6083 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6084 Set-but-not-used variable removed.
6085
6086 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6087
6088 Workaround yet another IEEE1275 bug.
6089
6090 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6091 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6092 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6093 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6094 is set.
6095 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6096 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6097
6098 2011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6099
6100 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6101 error.
6102
6103 2011-02-11 Colin Watson <cjwatson@ubuntu.com>
6104
6105 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6106 empty, since in that case we can only generate either nothing or a
6107 syntactically invalid configuration file.
6108 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6109
6110 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6111
6112 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6113 (Making a GRUB bootable CD-ROM): Likewise.
6114 (Invoking grub-mkrescue): New section.
6115 Reported by: Yann Dirson. Fixes Debian bug #612585.
6116
6117 2011-02-09 Colin Watson <cjwatson@ubuntu.com>
6118
6119 * util/grub-install.in: Remove unnecessary brackets from tr
6120 arguments.
6121 * util/grub.d/10_hurd.in: Likewise.
6122 * util/grub.d/10_kfreebsd.in: Likewise.
6123 * util/grub.d/10_linux.in: Likewise.
6124 * util/grub.d/20_linux_xen.in: Likewise.
6125 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6126
6127 2011-02-08 Colin Watson <cjwatson@ubuntu.com>
6128
6129 * include/grub/file.h (not_easly_seekable): Rename to ...
6130 (not_easily_seekable): ... this. Update all users.
6131
6132 2011-01-28 Colin Watson <cjwatson@ubuntu.com>
6133
6134 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6135 grub-mkrescue.
6136
6137 2011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6138
6139 * util/grub-mkimage.c (generate_image): Refuse to create the images
6140 bigger than the actual flash (512K) in Loongson machines. 512K is also
6141 the biggest chip supported by them.
6142
6143 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6144
6145 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6146
6147 2011-01-22 Anthony DeRobertis <anthony@derobert.net>
6148
6149 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6150 super_offset field.
6151
6152 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * util/grub-install.in: Ignore install device on platforms
6155 where it doesn't make sense. Always use UUIDs except on pc, efi and
6156 sparc64.
6157 Reported by: Daniel Kahn Gillmor.
6158
6159 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6160
6161 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6162
6163 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6166 (iterate_real): Don't rely on partition being non-NULL.
6167
6168 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6169
6170 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6171 supported platforms. Put a compile time assert for this rather than
6172 generate a warning with 32-bit shift.
6173
6174 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6175
6176 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6177 logical expression more readable.
6178
6179 2011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6180
6181 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6182 even if some elements have a name.
6183 Reported by: Alexander GQ Gerasiov.
6184
6185 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6186
6187 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6188 path unreadable if `grub-probe -t abstraction' fails, for example if
6189 memberlist fails on an LVM volume group.
6190 Reported by: Darius Jahandarie.
6191
6192 2011-01-22 Colin Watson <cjwatson@ubuntu.com>
6193
6194 * docs/grub.texi (Simple configuration): Document
6195 GRUB_PRELOAD_MODULES.
6196
6197 2011-01-17 Colin Watson <cjwatson@ubuntu.com>
6198
6199 * .bzrignore: Remove nonexistent grub-pbkdf2.
6200
6201 2011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * configure.ac: Bump version to 1.99~rc1.
6204
6205 2011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6208 for safety.
6209
6210 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6213 module.
6214
6215 2011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6218
6219 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6220
6221 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6222 diskdevid.
6223
6224 2011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6225
6226 Fix compilation on cygwin.
6227
6228 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6229 -R .drectve on cygwin.
6230 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6231 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6232 (COND_CYGWIN): New condition.
6233 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6234 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6235 not @TARGET_OBJ2ELF@.
6236 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6237 type to determine whether aux is to be used.
6238
6239 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6242 realpath'ed device string.
6243 Handle floppy (somewhat).
6244 Issue error in unknown case rather than garbage.
6245 Reported by: Axel Beckert.
6246
6247 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6248
6249 * util/grub.d/00_header.in (load_video): Handle the case when no video
6250 drivers available.
6251 Thanks to: Axel Beckert.
6252
6253 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6254
6255 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6256 variable. Fixes problem on big endian platforms.
6257
6258 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6259
6260 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6261 It doesn't work well there.
6262
6263 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6264
6265 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6266 warning.
6267 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6268 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6269 counter.
6270
6271 2011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6272
6273 Use alias->path rather than buggy "canon".
6274
6275 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6276 (ofdisk_hash_add): New argument curcan. All users updated.
6277
6278 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6279
6280 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6281
6282 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6283
6284 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6285 loadmask before doing any calculations. Use correct type for offset.
6286 (grub_linux_load64): Likewise.
6287
6288 2011-01-11 Colin Watson <cjwatson@ubuntu.com>
6289
6290 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6291 with NULL.
6292 (console_grub_equivalences_unshift): Likewise.
6293 Reported by: Daniel Dehennin.
6294
6295 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6298 (set_env_limn_ro): Likewise.
6299 (GRUB_MOD_INIT): Likewise.
6300 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6301 ARRAY_SIZE while on it.
6302 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6303 * grub-core/normal/context.c (grub_env_export): Move from here ...
6304 * grub-core/kern/env.c (grub_env_export): ... here.
6305 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6306 prefix.
6307 * grub-core/kern/main.c (grub_main): Export root and prefix.
6308 * include/grub/env.h (grub_env_export): Export.
6309 Reported by: Seth Goldberg.
6310
6311 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6312
6313 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6314 Take into account space used by ELF sections and multiboot palette.
6315 Reported by: Grégoire Sutre.
6316
6317 2011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6318
6319 * BUGS: New file.
6320
6321 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 Pass more appropriate video id to Linux.
6324
6325 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6326 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6327 fill have_vga.
6328 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6329 shift params->lfb_size.
6330 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6331
6332 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6335
6336 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6337
6338 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6339 separator and pass bootpath/devid even if only one of them is available.
6340 Reported by: Seth Goldberg.
6341
6342 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6345 implementations bug on them.
6346
6347 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6348 memory.
6349 (filter_memory_map): Likewise.
6350
6351 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6352
6353 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6354 Reported by: nebuchadnezzar.
6355
6356 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6357
6358 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6359 Reported by: nebuchadnezzar.
6360
6361 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6362
6363 Submenu default support.
6364
6365 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6366 auto_boot. All users updated.
6367 Declared static.
6368 Handle chosen and default with submenus.
6369 (grub_menu_execute_with_fallback): Declared static.
6370 Don't notify failure if autobooted. Upper level does it.
6371 (menuentry_eq): New function.
6372 (get_entry_number): Use menuentry_eq.
6373 (show_menu): New parameter "autobooted". All users updated.
6374 (grub_show_menu): Likewise.
6375 * include/grub/normal.h (grub_show_menu): Likewise.
6376 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6377 (grub_menu_execute_with_fallback): Likewise.
6378
6379 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6380
6381 * util/grub-mklayout.c (usage): Update help text.
6382
6383 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6384
6385 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6386
6387 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6388
6389 * util/grub-menulst2cfg.c (main): Trim the line.
6390
6391 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6394 (grub_machine_init): Don't check amount of low memory as reportedly
6395 INT 12h can be broken and if low memory is too low we wouldn't have
6396 gotten into grub_machine_init anyway.
6397
6398 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6399
6400 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6401 (grub_machine_mmap_iterate): Take low memory into account
6402
6403 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6404
6405 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6406 badfs.
6407 Reported by: TiCPU.
6408
6409 2011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6412 members errors.
6413
6414 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6415
6416 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6417 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6418
6419 2011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6420
6421 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6422 openbsd and netbsd types being in part_bsd module.
6423
6424 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6427 (_FILE_OFFSET_BITS): Likewise.
6428 Reported by: Seth Goldberg.
6429
6430 2011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6431
6432 * configure.ac: Check for libdevmapper header.
6433
6434 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6435
6436 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6437 avoid aliasing.
6438 (fzap_lookup): Likewise.
6439 (dnode_get): Likewise.
6440 (make_mdn): Likewise.
6441 (zfs_mount): Likewise.
6442 (fzap_iterate): Use temporary pointer to avoid aliasing.
6443 (grub_zfs_read): Likewise.
6444 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6445 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6446 pointers to avoid aliasing.
6447 (grub_cmd_xnu_kernel64): Likewise.
6448 (grub_xnu_load_driver): Likewise.
6449
6450 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6451
6452 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6453 aliasing warning.
6454 (grub_cmd_terminal_output): Likewise.
6455 Reported and tested by: Grégoire Sutre.
6456
6457 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6458
6459 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6460 warning.
6461 Reported and tested by: Grégoire Sutre.
6462
6463 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 * configure.ac: Do CPU substitution even if it's specified explicitly.
6466 Reported and tested by: Alain Greppin.
6467
6468 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6469
6470 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6471 Reported and tested by: Alain Greppin.
6472
6473 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6474
6475 Satisfy some bison versions need for inttypes.h.
6476
6477 * grub-core/lib/posix_wrap/inttypes.h: New file.
6478 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6479 (int16_t): Likewise.
6480 (int32_t): Likewise.
6481 (int64_t): Likewise.
6482 Reported and tested by: Alain Greppin.
6483
6484 2011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6485
6486 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6487 Silence spurious warning.
6488 Reported and tested by: Alain Greppin.
6489
6490 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6491
6492 * docs/grub.texi (Support automatic decompression): Update with xz
6493 decompression support.
6494
6495 2011-01-07 Szymon Janc <szymon@janc.net.pl>
6496
6497 Improve loaders' kernel command line handling.
6498
6499 * grub-core/lib/cmdline.c: New file.
6500 * include/grub/lib/cmdline.h: Likewise.
6501 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6502 grub_create_loader_cmdline to create kernel command line.
6503 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6504 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6505 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6506 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6507 (linux): Add lib/cmdline.c on common.
6508
6509 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6512 inopos might be unaligned.
6513
6514 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6517 endian transformations.
6518 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6519 Based on report by: Doug Nazar.
6520
6521 2011-01-07 Doug Nazar <nazard.michi@gmail.com>
6522
6523 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6524 array->members[i].start_sector.
6525 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6526
6527 2011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6530 Reported and tested by: Grégoire Sutre.
6531
6532 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6533
6534 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6535 avoid causing test failures by clearing the screen.
6536
6537 2011-01-06 Colin Watson <cjwatson@ubuntu.com>
6538
6539 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6540 Fix prefix check to handle the case where dir ends with a slash
6541 (most significantly, "/" itself).
6542 Reported by: Michael Vogt.
6543
6544 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 Run terminfo_cls on initing terminfo output to clear the screen and
6547 move the cursor to (0,0).
6548
6549 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6550 Call grub_terminfo_output_init.
6551 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6552 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6553 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6554
6555 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6556
6557 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6558 only when needed.
6559
6560 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6563 CTRL.
6564
6565 2011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6566
6567 The E820 type 5 is BADRAM, not EXEC_CODE.
6568
6569 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6570 (GRUB_E820_BADRAM): New define.
6571 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6572 into reserved. Propagate BADRAM.
6573 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6574 (GRUB_E820_BADRAM): New define.
6575
6576 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6577
6578 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6579 Ignore the memory post-4G.
6580 (grub_relocator_firmware_alloc_region): Additional debug statement.
6581
6582 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6583
6584 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6585 names.
6586 Reported by: David Pravec.
6587
6588 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6589
6590 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6591 BIOSes.
6592
6593 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6596 Prevent overflow.
6597 (grub_reed_solomon_recover): Likewise.
6598
6599 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6602
6603 2011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6606 variable.
6607
6608 2011-01-04 Colin Watson <cjwatson@ubuntu.com>
6609
6610 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6611 descriptions of extract_legacy_entries_source and
6612 extract_legacy_entries_configfile.
6613 Reported by: Seung Soo, Ha.
6614
6615 2011-01-03 Colin Watson <cjwatson@ubuntu.com>
6616
6617 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6618 on devices that do not implement function 0.
6619
6620 2011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6621
6622 * grub-core/fs/hfsplus.c: Make parent unsigned.
6623 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6624 overflows.
6625 (grub_hfsplus_cmp_extkey): Likewise
6626
6627 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 * util/grub-install.in: Correctly use bootloader_id and not
6630 GRUB_DISTRIBUTOR on efibootmgr line.
6631
6632 2011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6635
6636 2010-12-31 Ian Campbell <ijc@hellion.org.uk>
6637
6638 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6639 Xen and reorder menu item wording to make it clearer that this entry
6640 will launch Xen. Print separate messages when loading Xen and
6641 Linux.
6642
6643 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6644
6645 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6646 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6647 loop in case of incorrect amiga partmap.
6648
6649 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6650
6651 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6652 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6653 Reported by:EHeM.
6654
6655 2010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6656
6657 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6658 spurious warning.
6659 Reported by: crocket
6660
6661 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6662
6663 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6664 Preload EFIemu.
6665 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6666
6667 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6670 is loaded
6671 (grub_cmd_xnu_kextdir): Likewise.
6672 (grub_cmd_xnu_splash): Likewise.
6673
6674 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 Avoid using Reed-Solomon with 0 redundancy.
6677
6678 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
6679 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
6680 or 0 redundancy.
6681 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
6682 (grub_reed_solomon_recover): Likewise.
6683
6684 2010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 Don't use disk subsystem in freebsd_boot.
6687
6688 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
6689 (freebsd_biosdev): Likewise.
6690 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
6691 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
6692
6693 2010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6694
6695 Handling of files of unknown size is currently limited. They can't be
6696 used e.g. for initrd or modules. Moreover gzip handling of not
6697 easily seekable files is buggy. Disable unknown file size for now. May
6698 be inefficient but works.
6699
6700 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
6701 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6702
6703 2010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
6704
6705 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
6706 floppy probe.
6707
6708 2010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
6709
6710 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
6711
6712 2010-12-25 Shea Levy <shlevy>
6713
6714 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
6715
6716 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6717
6718 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
6719 Windows Server 2008.
6720 Reported by: Devin Giddings.
6721
6722 2010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6723
6724 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
6725 writing an error message because of async power management.
6726 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
6727 (grub_reboot): Likewise.
6728
6729 2010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
6730
6731 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
6732 keep unit tests from failing when they shouldn't.
6733
6734 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6735
6736 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
6737 previous patch increased the size of the RS code by 20 bytes (at
6738 least with gcc-4.4), so increase this by 20 bytes to match.
6739 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6740
6741 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6742
6743 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
6744 scratch area. Make sure to initialise chosen in standalone mode as
6745 well as non-standalone.
6746 Reported by: Robert Hooker and Andy Whitcroft.
6747 Tested by: Andy Whitcroft.
6748
6749 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6750
6751 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
6752 constructing a new unescaped string and passing it to grub_xputs in
6753 one go, rather than passing characters to grub_printf one at a time.
6754
6755 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6756
6757 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
6758 initialising utf16.
6759
6760 2010-12-21 Colin Watson <cjwatson@ubuntu.com>
6761
6762 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
6763 comment. Add an extra layer of quotation, requiring the output of
6764 this function to be used in a printf format string.
6765 (gettext_printf): New function.
6766 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
6767 Extract translatable strings from here-documents and use a temporary
6768 variable instead, so that xgettext can find them.
6769 * util/grub.d/10_kfreebsd.in: Likewise.
6770 * util/grub.d/10_linux.in: Likewise.
6771 * util/grub.d/20_linux_xen.in: Likewise.
6772
6773 * po/grub.d.sed: New file.
6774 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
6775 arguments. Set c-format flags on all strings extracted from
6776 util/grub.d/ (xgettext refuses to include these itself for strings
6777 it extracted from a shell file, but these really are c-format).
6778
6779 2010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6780
6781 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
6782 Avoid next pointing to nowhere.
6783
6784 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6785
6786 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
6787 rather than assuming than rootblock is exactly in the middle.
6788 (grub_affs_label): Likewise.
6789
6790 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6791
6792 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
6793 reserved_first_sector to 0.
6794 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
6795 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
6796 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
6797
6798 2010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6799
6800 Fix handling of UTF-16 UDF labels.
6801
6802 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
6803 (read_string): .. here.
6804 (grub_udf_label): Use read_string.
6805
6806 2010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
6807
6808 * grub-core/normal/menu_entry.c (run): Execute commands from menu
6809 editor under argument scope.
6810 Reported by: Jordan Uggla
6811
6812 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6813
6814 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
6815
6816 2010-12-18 Colin Watson <cjwatson@ubuntu.com>
6817
6818 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
6819 line, and other keys scroll an entire page (previous handling was
6820 for \r and \n to scroll a page and other keys to scroll two lines).
6821
6822 2010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6823
6824 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6825 Set ptrdest to correct get_physical_target_address rather than
6826 incorrect get_virtual_current_address.
6827
6828 2010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
6829
6830 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
6831 correct cat to grub_uint8_t * rather than grub_uint32_t *.
6832
6833 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
6834
6835 * .bzrignore: Ignore grub-core/rs_decoder.S.
6836
6837 2010-12-10 Colin Watson <cjwatson@ubuntu.com>
6838
6839 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
6840 .mo/.mo.gz opening sequence to ...
6841 (grub_mofile_open_lang): ... here.
6842 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
6843 * util/grub.d/00_header.in (grub_lang): Include country part of
6844 locale.
6845 Reported by: Mario Limonciello.
6846
6847 2010-12-09 Robert Millan <rmh@gnu.org>
6848
6849 * NEWS: Document addition of ZFS support.
6850
6851 2010-12-04 Colin Watson <cjwatson@ubuntu.com>
6852
6853 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
6854 rather than `/ 2', as the latter requires -Wa,--divide which would
6855 require bumping our minimum binutils version.
6856
6857 2010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
6858
6859 * util/grub-script-check.c (main): Print script line number on
6860 error.
6861
6862 2010-12-01 Robert Millan <rmh@gnu.org>
6863
6864 * grub-core/fs/zfs/zfs.c: New file.
6865 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
6866 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
6867 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
6868 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6869
6870 * include/grub/zfs/dmu.h: Likewise.
6871 * include/grub/zfs/dmu_objset.h: Likewise.
6872 * include/grub/zfs/dnode.h: Likewise.
6873 * include/grub/zfs/dsl_dataset.h: Likewise.
6874 * include/grub/zfs/dsl_dir.h: Likewise.
6875 * include/grub/zfs/sa_impl.h: Likewise.
6876 * include/grub/zfs/spa.h: Likewise.
6877 * include/grub/zfs/uberblock_impl.h: Likewise.
6878 * include/grub/zfs/vdev_impl.h: Likewise.
6879 * include/grub/zfs/zap_impl.h: Likewise.
6880 * include/grub/zfs/zap_leaf.h: Likewise.
6881 * include/grub/zfs/zfs.h: Likewise.
6882 * include/grub/zfs/zfs_acl.h: Likewise.
6883 * include/grub/zfs/zfs_znode.h: Likewise.
6884 * include/grub/zfs/zil.h: Likewise.
6885 * include/grub/zfs/zio.h: Likewise.
6886 * include/grub/zfs/zio_checksum.h: Likewise.
6887
6888 * Makefile.util.def: Build ZFS into libgrubmods.
6889 * grub-core/Makefile.core.def: Build zfs.mod.
6890
6891 2010-11-30 Szymon Janc <szymon@janc.net.pl>
6892
6893 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
6894 variable.
6895 * grub-core/commands/wildcard.c (match_files): Likewise.
6896
6897 2010-11-30 Robert Millan <rmh@gnu.org>
6898
6899 * grub-core/loader/i386/bsd.c
6900 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
6901 whether kernel is loaded using grub_loader_is_loaded(), rather
6902 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
6903 certain error conditions.
6904
6905 2010-11-30 Robert Millan <rmh@gnu.org>
6906
6907 * grub-core/commands/echo.c: Include `<grub/term.h>'.
6908 (grub_cmd_echo): Call grub_refresh() after printing a message.
6909
6910 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 Avoid using tricks for initialising endian variables.
6913
6914 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
6915 Make const.
6916 (GRUB_MOD_INIT): Don't byte-swap.
6917 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6918 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
6919 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
6920 (grub_swap_bytes32_compile_time): Likewise.
6921 (grub_cpu_to_le32_compile_time): Likewise.
6922 (grub_cpu_to_le16_compile_time): Likewise.
6923
6924 2010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6925
6926 * util/grub-setup.c (setup): Stop recommending --force. People who
6927 understand the dangers of blocklists are able to find this option
6928 anyway and the ones who don't shouldn't use it anyway.
6929
6930 2010-11-26 Robert Millan <rmh@gnu.org>
6931
6932 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
6933 Update all users.
6934
6935 2010-11-26 Colin Watson <cjwatson@ubuntu.com>
6936
6937 Fix LVM-on-RAID probing.
6938
6939 * util/grub-probe.c (probe): Remember which disk was detected as
6940 RAID (perhaps an LVM physical volume). Use that disk's raidname
6941 rather than that of the top-level disk.
6942
6943 2010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
6944
6945 Fix cmdline argument quotes for setparams command of menuentry
6946 definitions.
6947
6948 * grub-core/commands/menuentry.c (setparams_prefix): Use single
6949 quotes for arguments.
6950 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
6951 grub_strchrsub function instead.
6952
6953 * include/grub/misc.h (grub_strchrsub): New function.
6954
6955 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
6956
6957 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
6958 effort by skipping "." and ".." entries up-front.
6959 Suggested by: Michael Lazarev.
6960
6961 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
6962
6963 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
6964 ldflags to ldadd, to fix link line ordering.
6965 (none_decompress): Likewise.
6966
6967 2010-11-24 Colin Watson <cjwatson@ubuntu.com>
6968
6969 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
6970 platforms.
6971 (grub-emu-lite): Remove kern/emu/cache.S.
6972
6973 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
6974
6975 * util/deviceiter.c (compare_devices): If the by-id link for a
6976 device couldn't be resolved, fall back to sorting by the by-id link
6977 rather than segfaulting.
6978 Reported and tested by: Daniel Mierswa.
6979
6980 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
6981
6982 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
6983 ldflags, to fix link line ordering.
6984
6985 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
6986
6987 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
6988 linkers are picky about this.
6989
6990 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
6991
6992 * grub-core/Makefile.am (command.lst): Adjust sed expression
6993 ordering so that extended and priority commands aren't treated as
6994 ordinary commands.
6995
6996 2010-11-23 Colin Watson <cjwatson@ubuntu.com>
6997
6998 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6999 Remove byte-swapping function calls, which are not valid in
7000 structure initialisers.
7001 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
7002 non-const.
7003 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
7004 grub_gpt_partition_type_bios_boot.
7005
7006 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7007
7008 Fix test program build on GNU/kFreeBSD.
7009
7010 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
7011 $(LIBNVPAIR)' library dependencies.
7012
7013 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7014
7015 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
7016
7017 2010-11-22 Colin Watson <cjwatson@ubuntu.com>
7018
7019 * util/grub-install.in: Remove excessive quoting that broke
7020 installations to RAID devices.
7021
7022 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7023
7024 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
7025 bootloader version instead of 0.
7026
7027 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
7030 warning.
7031
7032 2010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
7035 retrieve the metadat sector if size isn't known.
7036 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7037
7038 2010-11-18 Robert Millan <rmh@gnu.org>
7039
7040 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
7041 with grub_memcmp().
7042
7043 2010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
7046 arrow.
7047 Reported by: Jordan Uggla.
7048
7049 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 Make better UTF compliant.
7052
7053 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7054 sequences as incorrect.
7055 (grub_is_valid_utf8): Likewise.
7056 (grub_utf8_to_ucs4): Likewise.
7057 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7058 (grub_ucs4_to_utf8_alloc): Likewise.
7059 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7060
7061 2010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7062
7063 Make legacy_source behave like source.
7064
7065 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7066 grub_show_menu.
7067 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7068
7069 2010-11-16 Colin Watson <cjwatson@debian.org>
7070
7071 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7072 (-Wunused implies -Wunused-parameter, but not vice versa).
7073
7074 2010-11-16 Colin Watson <cjwatson@ubuntu.com>
7075
7076 * configure.ac: Make error messages less confusing by testing for
7077 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7078 accepted, but produces a diagnostic if something else is wrong).
7079
7080 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7081
7082 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7083 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7084 (now unused).
7085 (grub_keyboard_controller_init)
7086 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7087 read the initial state since controller isn't inited yet.
7088
7089 2010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7090
7091 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7092 allocate_regbeg may need to create new chunk header.
7093
7094 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7095
7096 Fix quoting in legacy parser.
7097
7098 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7099 single quotes.
7100 (grub_legacy_parse): Likewise.
7101 Reported by: Jordan Uggla.
7102 Tested by: Jordan Uggla.
7103
7104 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7105
7106 Don't add -lgcc on i386 and x86_64.
7107
7108 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7109 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7110 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7111
7112 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * configure.ac: Add -Wno-trampolines when supported.
7115
7116 2010-11-14 Modestas Vainius <modax@debian.org>
7117
7118 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7119 fakeraid.
7120
7121 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7122
7123 Add generic logical block size support for UDF.
7124
7125 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7126 (GRUB_UDF_BLKSZ): Removed.
7127 (struct grub_udf_data): New field "lbshift" to hold the logical block
7128 size of the file system in log2 format. All users updated.
7129 (sblocklist): Change type to unsigned.
7130 (grub_udf_mount): Change type of "sblklist" to unsigned.
7131 Move AVDP search before VRS recognition, because the latter requires
7132 knowledge of the logical block size, which is detected during the
7133 former.
7134 Detect and validate logical block size during AVDP search, adding
7135 support for block sizes 512, 1024 and 4096.
7136 Make VRS recognition independent of block size.
7137
7138 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7139
7140 Properly handle deleted files on UDF.
7141
7142 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7143 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7144 set.
7145
7146 2010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7147
7148 Support reading files larger than 2 GiB.
7149
7150 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7151 "offset" to grub_off_t.
7152 (grub_udf_read_file): Likewise for parameter "pos".
7153
7154 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7157 unavailable.
7158 (Simple configuration): Refer to Changes from GRUB Legacy about
7159 save_env availability.
7160
7161 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 * util/grub-install.in: Ignore empty partition table detection
7164 instead of trying to include part_ module.
7165
7166 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7167
7168 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7169 LVM on RAID support.
7170
7171 2010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7172
7173 Properly define WORDS_BIGENDIAN in wrapped environments.
7174
7175 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7176 definition.
7177 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7178
7179 Reported by: Manoel Rebelo Abranches.
7180 Tested by: Manoel Rebelo Abranches.
7181
7182 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7183
7184 * util/grub-mkconfig.in: Fix quoting.
7185
7186 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7187
7188 Support big ext2 files.
7189
7190 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7191 (grub_ext2_read_block): Support triple indirect blocks.
7192 (grub_ext2_read_file): Use 64-bit types and read size_high.
7193 (grub_ext2_open): Read size_high.
7194 Reported by: Ximin Luo.
7195 Tested by: Manoel Rebelo Abranches.
7196
7197 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7198
7199 * util/grub-install.in: Handle filenames containing spaces.
7200 Reported by: Jordan Uggla.
7201 Tested by: Jordan Uggla.
7202
7203 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * util/grub-mkconfig.in (grub_script_check): New variable.
7206 Use grub_script_check instead of grub-script-check.
7207 Reported by: Barry Jackson.
7208
7209 2010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * docs/grub.texi (menu): Correct the order.
7212 Reported by: D. Hugh Redelmeier.
7213
7214 2010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7217 jump.
7218
7219 2010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7220
7221 * include/grub/elfload.h (grub_elf32_size): New parameter.
7222 All users updated.
7223 Return maximum segments alignment.
7224 (grub_elf64_size): Likewise.
7225 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7226 Return maximum segments alignment.
7227 (grub_elf64_size): Likewise.
7228 * grub-core/loader/powerpc/ieee1275/linux.c:
7229 (grub_linux_claimmap_iterate): New function. Uses the
7230 "available" property in the "memory" node for memory allocation
7231 for kernel in the PowerPC loader.
7232 (grub_linux_load32): Correctly find linux entry point offset.
7233 (grub_linux_load64): Likewise.
7234
7235 2010-11-07 Robert Millan <rmh@gnu.org>
7236
7237 On mips-yeeloong, build with -march=loongson2f when this flag is
7238 available (GCC >= 4.4).
7239 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7240 `-march=mips3'.
7241 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7242 or otherwise add -march=mips3.
7243
7244 2010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7245
7246 Suppress shell expansion on echo '*' and echo "*" like cases.
7247 Reported by: Jordan Uggla.
7248
7249 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7250 string arguments before shell expansion.
7251 * tests/grub_cmd_echo.in: New testcases.
7252
7253 2010-11-07 Robert Millan <rmh@gnu.org>
7254
7255 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7256 transition.
7257
7258 2010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * grub-core/kern/emu/hostdisk.c
7261 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7262
7263 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7264
7265 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7266 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7267 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7268
7269 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7270
7271 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7272
7273 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7274
7275 * util/grub-install.in: Replace useless recomendation to pass
7276 --modules with a recomendation to report a bug.
7277
7278 2010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 Properly register serial terminfo.
7281 Reported by: Jordan Uggla
7282
7283 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7284 const.
7285 (grub_serial_terminfo_output_template): Likewise.
7286 (grub_cmd_serial): Register "serial" with terminfo.
7287 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7288 grub_serial_terminfo_output.
7289
7290 2010-11-05 Robert Millan <rmh@gnu.org>
7291
7292 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7293 needed).
7294
7295 2010-11-05 Robert Millan <rmh@gnu.org>
7296
7297 On Yeeloong, pass machine type information to Linux.
7298
7299 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7300 (LOONGSON_MACHTYPE): New macro, set to
7301 "machtype=lemote-yeeloong-2f-8.9inches".
7302 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7303 additional argument to Linux.
7304
7305 2010-11-04 Robert Millan <rmh@gnu.org>
7306
7307 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7308 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7309 (its SATA disks are detected as slaveless IDE master drives on
7310 kFreeBSD).
7311 Reported by Carsten Aulbert.
7312
7313 2010-11-02 Colin Watson <cjwatson@ubuntu.com>
7314
7315 * util/bin2h.c (main): Fix spelling error in generated output.
7316
7317 2010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7318
7319 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7320
7321 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7322
7323 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7324 vga= option is supplied.
7325
7326 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7329 * util/grub.d/10_kfreebsd.in: Likewise.
7330 * util/grub.d/10_linux.in: Likewise.
7331 * util/grub.d/20_linux_xen.in: Likewise.
7332
7333 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7334
7335 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7336 argument as an argument to no-argument option.
7337
7338 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * util/grub.d/10_linux.in: Add missing load_video with explicit
7341 GRUB_GFXPAYLOAD_LINUX.
7342
7343 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7344
7345 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7346
7347 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7348
7349 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7350 elements with invlid index.
7351 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7352 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7353 members.
7354 * include/grub/raid.h (grub_raid_member): New struct.
7355 (grub_raid_array): Transform devices and start_sector into usage of
7356 grub_raid_member. All users updated
7357 (allocated_devs): New member.
7358
7359 2010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7362 is modified
7363
7364 2010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7365
7366 NetBSD build fix for getline function conflict from gnulib.
7367
7368 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7369 components that depend on gnulib headers.
7370 (libgrubmods.a): Renamed from earlier libgrub.a.
7371 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7372
7373 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7376 install rather than creating a broken install.
7377
7378 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * util/grub-setup.c (argp): Remove misleading example of installing to
7381 a partition.
7382
7383 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 * util/grub-setup.c (setup): Clarify the error message.
7386
7387 2010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7390
7391 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/kern/emu/misc.c
7394 (grub_make_system_path_relative_to_its_root)
7395 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7396
7397 2010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7398
7399 * grub-core/kern/emu/misc.c
7400 (grub_make_system_path_relative_to_its_root): Revert r2882.
7401
7402 2010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7405 useless field head. All users updated.
7406 (free_subchunk): Correct handling of IN_REGION subchunk.
7407
7408 2010-10-22 Colin Watson <cjwatson@ubuntu.com>
7409
7410 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7411 (Supported kernels): Likewise.
7412
7413 2010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7414
7415 Make mktemp invocations portable.
7416
7417 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7418 exit if mktemp fails.
7419 * tests/grub_script_blockarg.in: Likewise.
7420 * tests/partmap_test.in: Likewise.
7421 * tests/util/grub-shell-tester.in: Likewise.
7422 * tests/util/grub-shell.in: Likewise.
7423 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7424 * Makefile.am: Likewise, and chain shell commands with `&&'
7425 instead of ';'.
7426 * util/grub-mkrescue.in: Use the same explicit template as above, and
7427 exit if mktemp fails.
7428
7429 2010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7430
7431 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7432 Linux kernel, reported by Dennis Schridde.
7433
7434 2010-10-17 Szymon Janc <szymon@janc.net.pl>
7435
7436 * grub-core/normal/auth.c (grub_auth_check_authentication):
7437 Set-but-not-used variable removed.
7438
7439 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7440
7441 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7442 32-bit linux protocol.
7443
7444 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7445
7446 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7447 cursor shape for sanity.
7448
7449 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7450
7451 * docs/grub.texi (Installation): Document buggy BIOS install.
7452
7453 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7454
7455 * docs/grub.texi (Installation): Indent.
7456
7457 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * util/grub-setup.c (setup): New parameter allow_floppy.
7460 (arguments): New member allow_floppy.
7461 (argp_parser): Handle --allow-floppy.
7462 (main): Pass allow_floppy.
7463 * util/grub-install.in: New option --allow-floppy passed though to
7464 grub-setup.
7465
7466 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * util/grub-install.in: Handle partitionless disks.
7469
7470 2010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * util/grub-setup.c (setup): Don't clean blocklists before readability
7473 verfification.
7474
7475 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7476
7477 * docs/grub.texi (Installation): Document embedding zone. Remove
7478 obsolete grub-install example.
7479
7480 2010-10-16 Szymon Janc <szymon@janc.net.pl>
7481
7482 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7483 Set-but-not-used variable ifdef'ed.
7484 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7485 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7486 variable removed.
7487 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7488 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7489 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7490 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7491 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7492 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7493 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7494 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7495 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7496 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7497 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7498 Likewise.
7499
7500 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7503 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7504 enum value.
7505
7506 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7507
7508 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7509 synonym to _S5_. Needed for some DSDTs.
7510
7511 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7512
7513 Userspace ACPI parser debugging.
7514
7515 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7516 headers and add relevant defines. Don't include standard headers.
7517 (main) [GRUB_DSDT_TEST]: New function.
7518 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7519 Don't declare functions.
7520
7521 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7522
7523 Remove dead grub_efi_mm_fini.
7524
7525 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7526 (ALLOCATED_PAGES_SIZE): Likewise.
7527 (MAX_ALLOCATED_PAGES): Likewise.
7528 (allocated_pages): Likewise.
7529 (grub_efi_allocate_pages): Don't record allocated pages.
7530 (grub_efi_free_pages): Likewise.
7531 (grub_efi_mm_init): Likewise.
7532 (grub_efi_mm_fini): Removed.
7533
7534 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7537 (grub_efi_mm_init): Take into account the memory map size increase.
7538
7539 2010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7540
7541 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7542 (serial_hw_put): Wait based on real time rather than port reads. Don't
7543 roken ports.
7544 * include/grub/serial.h (grub_serial_port): New field broken.
7545
7546 2010-10-16 Robert Millan <rmh@gnu.org>
7547
7548 * grub-core/kern/emu/misc.c
7549 (grub_make_system_path_relative_to_its_root): Fix premature return
7550 when processing non-root ZFS filesystems.
7551 Reported by Sergio Talens-Oliag.
7552
7553 2010-10-15 Robert Millan <rmh@gnu.org>
7554
7555 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7556 guarantee compressed ones are processed first.
7557
7558 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7559
7560 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7561 grub_efiemu_autocore.
7562
7563 2010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7564
7565 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7566 rather than 0x1b.
7567 (grub_console_getkey): Use correct jae opcode rather than ja.
7568
7569 2010-10-12 Robert Millan <rmh@gnu.org>
7570
7571 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7572 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7573 variable. All references updated.
7574
7575 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7576
7577 2010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7578
7579 Correctly distinguish mdraid flavours.
7580
7581 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7582 (insert_array): New argument raid.
7583 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7584 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7585 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7586
7587 2010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7590 handling of special keys.
7591
7592 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7593
7594 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7595 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
7596
7597 2010-10-02 Aleš Nesrsta <starous@volny.cz>
7598
7599 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7600 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7601 users updated.
7602 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
7603 Use right endpoint when querying descriptor.
7604
7605 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 Clear out 0x80 color bit on EFI.
7608 Tested by: decoder
7609 Reported by: decoder and meta tech.
7610
7611 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7612 (grub_console_setcolorstate): Clear out 0x80 bit.
7613 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7614 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7615 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7616
7617 2010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7618
7619 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7620 Set to "auto".
7621
7622 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7623
7624 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7625 mo_file after freeing.
7626
7627 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7628
7629 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7630
7631 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7632
7633 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7634 flags.
7635
7636 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7637
7638 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7639 usage.
7640
7641 2010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7642
7643 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7644
7645 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7646 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7647 and terminfo.h when needed.
7648 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7649 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7650 (terminfo): Enable only on terminfokernel.
7651 (extcmd): Likewise.
7652 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7653 * include/grub/lib/arg.h: Likewise.
7654 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7655 incorrect usage of ->.
7656
7657 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7660 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7661
7662 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7663
7664 Fix coreboot compilation.
7665
7666 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7667 Take VBE info into account even if only text is supported.
7668 (fill_vbe_info): Take into account the case when only VGA text
7669 is supported.
7670 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7671 on coreboot, multiboot and qemu.
7672
7673 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7674
7675 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
7676 debug messages.
7677 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
7678
7679 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
7682 parameters.
7683
7684 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7685
7686 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
7687 if they were BSD-style.
7688
7689 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7690
7691 * grub-core/boot/i386/pc/lnxboot.S: Replace
7692 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
7693 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
7694
7695 2010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 Write embedding zone using Reed-Solomon.
7698
7699 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
7700 * grub-core/Makefile.am (rs_decoder.S): New target.
7701 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
7702 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
7703 (multiboot): Move to RS part.
7704 (post_reed_solomon): New label.
7705 (grub_boot_drive): Move to non-RS part since it's modified in memory
7706 on boot.
7707 Include rs_decoder.S.
7708 * grub-core/lib/reed_solomon.c: New file.
7709 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
7710 New definition.
7711 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
7712 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
7713 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
7714 * include/grub/partition.h (grub_partition_map): Change prototype of
7715 embed to allow returning additional sectors.
7716 * include/grub/reed_solomon.h: New file.
7717 * util/grub-setup.c (setup): Handle Reed-Solomon.
7718
7719 2010-09-28 Colin Watson <cjwatson@ubuntu.com>
7720
7721 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7722 i386 and x86-64 definedness tests.
7723
7724 2010-09-27 Yves Blusseau <blusseau@zetam.org>
7725
7726 Fix generation of kernel_syms.lst
7727
7728 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
7729 ASM_PREFIX
7730
7731 2010-09-26 Robert Millan <rmh@gnu.org>
7732
7733 Support degraded ZFS arrays in "grub-probe -t device" resolution.
7734
7735 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
7736 the pool is an array of devices, iterate through it and return the
7737 first device that passes a stat() test (instead of blindly returning
7738 the first one).
7739
7740 2010-09-26 Robert Millan <rmh@gnu.org>
7741
7742 Build fixes for GNU/kFreeBSD.
7743
7744 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
7745 to programs that require ZFS conversion.
7746 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
7747 kernels that don't have FLOPPY_MAJOR.
7748
7749 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7750
7751 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
7752
7753 2010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7754
7755 Fix grub-emu build.
7756
7757 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
7758 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
7759 mdraid09 and mdraid1x.
7760
7761 2010-09-24 Colin Watson <cjwatson@ubuntu.com>
7762
7763 Re-enable grub-extras.
7764
7765 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
7766 avoid confusing Automake. Run autogen only twice, once for the top
7767 level and once for grub-core. Add Makefile.util.def and
7768 Makefile.core.def from extra modules to the appropriate autogen
7769 invocations. If Makefile.common exists in an extra module, include
7770 it in both Makefile.util.am and grub-core/Makefile.core.am;
7771 similarly, include any Makefile.util.common file in Makefile.util.am
7772 and any Makefile.core.common file in grub-core/Makefile.core.am.
7773 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
7774 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
7775 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
7776 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
7777
7778 * gentpl.py (gvar_add): Turn GVARS into a set.
7779 (global_variable_initializers): Sort global variables on output.
7780 (vars_init): New function.
7781 (first_time): Likewise.
7782 (library): Ensure that non-global variable initialisations are
7783 emitted before the first time we emit code for a library block.
7784 Append to variables rather than setting them. Only emit
7785 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
7786 each conditional path.
7787 (program): installdir() emits an Autogen macro, so must be passed to
7788 var_add rather than gvar_add.
7789 (data): Likewise.
7790 (script): Likewise.
7791 (rules): New function, centralising handling for different target
7792 types. Set up Guile association lists for first_time and vars_init,
7793 and send most output to a diversion so that variable initialisations
7794 can be emitted first.
7795 (module_rules): Use new rules function.
7796 (kernel_rules): Likewise.
7797 (image_rules): Likewise.
7798 (library_rules): Likewise.
7799 (program_rules): Likewise.
7800 (script_rules): Likewise.
7801 (data_rules): Likewise.
7802
7803 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
7804
7805 * .bzrignore: Add contrib and grub-core/contrib. Remove
7806 grub-core/Makefile.gcry.am.
7807
7808 2010-09-24 Yves Blusseau <blusseau@zetam.org>
7809
7810 * grub-core/lib/LzFind.c: Add missing include.
7811 * grub-core/lib/LzmaEnc.c: Likewise.
7812 * grub-core/script/lexer.c: Likewise.
7813 * grub-core/script/yylex.l: Likewise.
7814 * util/grub-macho2img.c: Likewise.
7815 * util/grub-menulst2cfg.c: Likewise.
7816 * util/grub-mklayout.c: Likewise.
7817 * util/grub-mkpasswd-pbkdf2.c
7818 * util/grub-mkrelpath.c: Likewise.
7819 * util/resolve.c: Likewise.
7820
7821 2010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
7822
7823 * Makefile.util.def (example_unit_test): Add
7824 grub-core/gnulib/libgnu.a.
7825
7826 2010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
7827
7828 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
7829
7830 2010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7831
7832 Support xz compression on yeeloong.
7833
7834 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
7835 * configure.ac: Check for LZMA.
7836 * grub-core/Makefile.core.def (xz_decompress): New target.
7837 (none_decompress): Likewise.
7838 * grub-core/boot/decompressor/minilib.c: New file.
7839 * grub-core/boot/decompressor/none.c: Likewise.
7840 * grub-core/boot/decompressor/xz.c: Likewise.
7841 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
7842 * grub-core/kern/mips/cache_flush.S: Likewise.
7843 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
7844 * grub-core/kern/mips/startup.S: Move first stage to ...
7845 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
7846 nomacro.
7847 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
7848 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
7849 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
7850 Allocate statically.
7851 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
7852 Allocate statically or use scratch. Don't check CRC32.
7853 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
7854 Allocate statically. Don't check CRC32.
7855 * include/grub/decompressor.h: New file.
7856 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
7857 Removed.
7858 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
7859 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
7860 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
7861 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
7862 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
7863 * util/grub-mkimage.c (grub_compression_t): New type.
7864 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
7865 (image_target_desc): New field default_compression.
7866 (image_targets): Adjust yeeloong targets.
7867 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
7868 (compress_kernel): New parameter comp.
7869 (generate_image): Likewise. Handle new compression case.
7870 (options): New option --compression
7871 (help): Likewise.
7872 (main): Handle new option.
7873
7874 2010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
7875
7876 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
7877
7878 2010-09-22 Colin Watson <cjwatson@ubuntu.com>
7879
7880 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7881 typo in __i386__ conditional.
7882
7883 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
7886 include.
7887
7888 2010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 Implement EFI and ACPI multiboot2 extensions.
7891
7892 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
7893 new tags as supported.
7894 (acpiv2_size): New function.
7895 (grub_multiboot_get_mbi_size): Take new tags into account.
7896 (grub_multiboot_make_mbi): Add new tags.
7897 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
7898
7899 2010-09-21 Aleš Nesrsta <starous@volny.cz>
7900
7901 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
7902 Added missing configuration of USB device.
7903
7904 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7905
7906 * grub-core/normal/menu_entry.c (run): Make sure we always return
7907 a value.
7908
7909 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7910
7911 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
7912 NumberOfPages is UINT64 according to the UEFI specification, not
7913 UINTN. Fix printf format.
7914
7915 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7916
7917 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
7918 `err' to grub_usb_err_t.
7919 Reported and tested by: KESHAV P.R.
7920
7921 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7922
7923 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
7924 tpart non-const, so that we can assign to it. (Since this is a
7925 typedef, the constness refers to the pointer rather than what it
7926 points to.)
7927
7928 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7929
7930 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
7931 $(top_srcdir)/grub-core/gnulib as well as
7932 $(top_builddir)/grub-core/gnulib.
7933 Reported by: KESHAV P.R.
7934
7935 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7936
7937 * util/grub-install.in: Fix the bootloader ID option to be
7938 consistently --bootloader-id, not --bootloader_id.
7939 Reported by: KESHAV P.R.
7940
7941 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7942
7943 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
7944 check hash checksum." consistently translatable.
7945
7946 2010-09-21 Yves Blusseau <blusseau@zetam.org>
7947
7948 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
7949 $(top_builddir).
7950
7951 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7952
7953 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
7954 (GRUB_MOD_INIT): Register sha1sum command.
7955 (GRUB_MOD_FINI): Unregister sha1sum command.
7956
7957 2010-09-21 Yves Blusseau <blusseau@zetam.org>
7958
7959 Keep boot and grub directory names in sync with utils scripts
7960
7961 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
7962 * config.h.in: Add previous macros.
7963 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
7964 * util/grub-install.in: Use $bootdir and $grubdir variables.
7965
7966 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7967
7968 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
7969 convert partition names to disk names if the new `convert' parameter
7970 is set.
7971 (grub_util_biosdisk_get_grub_dev): If opening the disk device
7972 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
7973 disk in its own right. This can happen with Xen disk images.
7974
7975 2010-09-21 Yves Blusseau <blusseau@zetam.org>
7976
7977 * util/grub-editenv.c: Update strings to avoid warnings when generating
7978 grub.pot file.
7979 * util/grub-setup.c: Likewise.
7980
7981 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7982
7983 * configure.ac: Change version to 1.99~beta0.
7984
7985 2010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7986
7987 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7988 Add BADRAM.
7989 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
7990 Likewise.
7991 * include/multiboot.h: Resynced with specification.
7992 * include/multiboot2.h: Likewise.
7993
7994 2010-09-21 Colin Watson <cjwatson@ubuntu.com>
7995
7996 Fix po directory handling.
7997
7998 * configure.ac: Create po/Makefile.in rather than po/Makefile.
7999 * grub-core/gnulib/Makefile.am: Import gettext module.
8000 * m4/gnulib-cache.m4: Likewise.
8001 * m4/gnulib-comp.m4: Likewise.
8002 * m4/gettext.m4: New file, from gnulib.
8003 * m4/glibc2.m4: Likewise.
8004 * m4/iconv.m4: Likewise.
8005 * m4/intdiv0.m4: Likewise.
8006 * m4/intl.m4: Likewise.
8007 * m4/intldir.m4: Likewise.
8008 * m4/intlmacosx.m4: Likewise.
8009 * m4/intmax.m4: Likewise.
8010 * m4/inttypes-pri.m4: Likewise.
8011 * m4/lcmessage.m4: Likewise.
8012 * m4/lib-ld.m4: Likewise.
8013 * m4/lib-link.m4: Likewise.
8014 * m4/lib-prefix.m4: Likewise.
8015 * m4/lock.m4: Likewise.
8016 * m4/nls.m4: Likewise.
8017 * m4/po.m4: Likewise.
8018 * m4/printf-posix.m4: Likewise.
8019 * m4/progtest.m4: Likewise.
8020 * m4/threadlib.m4: Likewise.
8021 * m4/uintmax_t.m4: Likewise.
8022 * m4/visibility.m4: Likewise.
8023 * po/Makefile.am: Remove.
8024 * po/Makefile.in.in: New file, from gettext.
8025 ($(DOMAIN).pot-update): Support POTFILES-shell.
8026 * po/Makevars: New file.
8027 * po/POTFILES-shell: Rename to ...
8028 * po/POTFILES-shell.in: ... this. Update.
8029 * po/POTFILES: Rename to ...
8030 * po/POTFILES.in: ... this. Update.
8031 * po/Rules-quot: New file, from gettext.
8032 * po/boldquot.sed: Likewise.
8033 * po/en@boldquot.header: Likewise.
8034 * po/en@quot.header: Likewise.
8035 * po/insert-header.sin: Likewise.
8036 * po/quot.sed: Likewise.
8037 * po/remove-potcdate.sin: Likewise.
8038
8039 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8040
8041 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
8042
8043 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8044
8045 * util/grub.d/20_linux_xen.in: Use submenus.
8046
8047 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Support submenus.
8050
8051 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8052 parameter submenu. All users updated.
8053 * grub-core/normal/main.c (free_menu): Rename to ...
8054 (grub_normal_free_menu): ... this. Made global.
8055 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8056 if requested.
8057 * grub-core/normal/menu_entry.c (screen): New field submenu.
8058 (make_screen): Set submenu.
8059 (run): Open new context if requested.
8060 * include/grub/menu.h (grub_menu_entry): New field submenu.
8061 * include/grub/normal.h (grub_normal_free_menu): New proto.
8062
8063 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Menu entries extractor.
8066
8067 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8068 variants.
8069 (GRUB_MOD_INIT): Register new variants.
8070 (GRUB_MOD_FINI): Unregister new variants.
8071 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8072 into grub_cmd_legacy_source.
8073 (grub_cmd_legacy_source): Implement extractor variants.
8074 (GRUB_MOD_INIT): Register new variants.
8075 (GRUB_MOD_FINI): Unregister new variants.
8076 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8077 as an extractor.
8078 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8079 search as an extractor.
8080 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8081 test as an extractor.
8082 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8083 as an extractor.
8084 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8085 (grub_env_new_context): New function.
8086 (grub_env_context_open): Likewise.
8087 (grub_env_extractor_open): Likewise.
8088 (grub_env_extractor_close): Likewise.
8089 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8090 grub_extractor_level.
8091 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8092 * include/grub/env.h (grub_env_extractor_open): New proto.
8093 (grub_env_extractor_close): Likewise.
8094 * include/grub/normal.h (grub_extractor_level): New external variable.
8095
8096 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8097
8098 Make cutmem accept a region specification.
8099 Suggested by: Samuel Thibault
8100
8101 * grub-core/mmap/mmap.c (parsemem): New function.
8102 (grub_cmd_cutmem): Handle new arguments.
8103
8104 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8105
8106 New command cutmem.
8107
8108 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8109 (GRUB_MOD_INIT): Register new command.
8110 (GRUB_MOD_FINI): Unregister new command.
8111
8112 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8113
8114 Support some annoying BSD and Minix subpartitions.
8115
8116 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8117 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8118 Properly handle concatenation.
8119 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8120 * grub-core/normal/completion.c (iterate_partition): Likewise.
8121 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8122 contain partition. All users updated.
8123 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8124 struct.
8125 (grub_openbsdlabel_partition_map): Likewise.
8126 (bsdlabel_partition_map_iterate): Rename to ..
8127 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8128 (bsdlabel_partition_map_iterate): New function.
8129 (netopenbsdlabel_partition_map_iterate): Likewise.
8130 (netbsdlabel_partition_map_iterate): Likewise.
8131 (openbsdlabel_partition_map_iterate): Likewise.
8132 (GRUB_MOD_INIT): Register new partmaps.
8133 (GRUB_MOD_FINI): Unregister new partmaps.
8134 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8135 (grub_partition_msdos_iterate): ... this. All users updated.
8136 Don't support embedding other than in a minix partition.
8137 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8138 proto.
8139 * include/grub/partition.h (grub_partition): New field msdostype.
8140 * util/grub-install.in: Handle openbsd and netbsd types being in
8141 part_bsd module.
8142
8143 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8146
8147 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8148 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8149 (mdraid09): ... this.
8150 (mdraid1x): New module.
8151 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8152 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8153
8154 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8157 vsprintf.
8158
8159 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8160
8161 * grub-core/commands/efi/lsefimmap.c: Correct header.
8162 * NEWS: Update.
8163
8164 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8165
8166 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8167 as printf format strings; the translations might contain '%' which
8168 could cause a crash.
8169 (main): Likewise.
8170 * util/grub-fstest.c (argp_parser): Likewise.
8171 * util/grub-setup.c (argp_parser): Likewise.
8172 (main): Likewise.
8173
8174 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8175
8176 Use argp in grub-fstest.
8177
8178 * util/grub-fstest.c: Don't include getopt.h.
8179 Include argp.h.
8180 (root): New variable.
8181 (args_count): Likewise.
8182 (nparm): Likewise.
8183 (num_disks): Likewise.
8184 (images): Likewise.
8185 (cmd): Likewise.
8186 (debug_str): Likewise.
8187 (args): Likewise.
8188 (options): Transformed to argp.
8189 (usage): Removed.
8190 (main): Split argument parsing into ...
8191 (argp_parser): ... this. Changed to argp format.
8192 (argp): New variable.
8193 (main): Use argp_parse.
8194
8195 2010-09-20 Tristan Gingold <gingold@free.fr>
8196 2010-09-20 Robert Millan <rmh.grub@aybabtu.com>
8197 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * grub-core/commands/efi/lsefimmap.c: New file.
8200 * grub-core/Makefile.core.def (lsefimmap): New module.
8201 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8202
8203 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 Pause the execution (10s max) if any errors are displayed so the user
8206 has a chance to see them.
8207
8208 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8209 (grub_print_error): Increment grub_err_printed_errors.
8210 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8211 execution if any errors were displayed.
8212 (show_menu): Remove old code for pause.
8213 * grub-core/normal/menu_entry.c (run): Likewise.
8214 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8215 users updated.
8216 (grub_normal_get_char_counter): Likewise.
8217 * include/grub/err.h (grub_err_printed_errors): New external variable.
8218 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8219
8220 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8221
8222 Support multiboot VBE info.
8223
8224 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8225 Take VBE info into account.
8226 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8227 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8228 Call fill_vbe_info when appropriate.
8229 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8230 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8231 as supported.
8232 (grub_multiboot_get_mbi_size): Take new tags into account.
8233 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8234 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8235 Call fill_vbe_tag when appropriate.
8236 (grub_multiboot_make_mbi): Properly align tags.
8237 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8238 function.
8239 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8240 proto.
8241 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8242
8243 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8244
8245 Suport manual terminal geometry specification.
8246
8247 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8248 Save state in grub_ofconsole_terminfo_output.
8249 (grub_ofconsole_term): Use grub_terminfo_getwh.
8250 (grub_ofconsole_getwh): Removed.
8251 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8252 (grub_serial_term): Use grub_terminfo_getwh.
8253 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8254 (options): New struct.
8255 (OPTION_*): New enum.
8256 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8257 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8258 width and height.
8259 (grub_terminfo_getwh): New proto.
8260 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8261
8262 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8263
8264 Handle legacy "terminal" command.
8265
8266 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8267 and FLAG_TERMINAL.
8268 (legacy_commands): Add terminal and title.
8269 (grub_legacy_parse): Handle terminal. Simplify title handling.
8270
8271 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8272
8273 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8274 parameters overflow.
8275
8276 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8277
8278 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8279 widthspec.h.
8280
8281 * docs/grub.texi (Shell-like scripting): Document `!'.
8282 (Network): Simplify using new i386-pc-pxe format. Mention
8283 grub-mknetdir.
8284
8285 * NEWS: Update.
8286
8287 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8288
8289 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8290 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8291 when needed.
8292
8293 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8294
8295 * grub-core/commands/efi/lsefisystab.c: Correct header.
8296 * grub-core/commands/efi/lssal.c: Likewise.
8297 * grub-core/commands/testload.c: Likewise.
8298
8299 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8300
8301 * util/grub-mkrescue.in: Add explicit root argument to --set to
8302 prevent the UUID being interpreted as an argument to --set (matches
8303 previous change to prepare_grub_to_access_device).
8304
8305 2010-09-20 Colin Watson <cjwatson@ubuntu.com>
8306
8307 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8308 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8309 the verbosity of later #ifs.
8310 (find_partition_start): Define this function on FreeBSD too.
8311 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8312 function.
8313 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8314 on FreeBSD.
8315
8316 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8317
8318 * util/grub-editenv.c: Use argp instead of getopt.
8319
8320 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8321
8322 * util/grub-setup.c: Use argp instead of getopt.
8323
8324 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8325
8326 Use gnulib-tool to create gnulib source files.
8327
8328 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8329 grub-core/gnulib directories
8330 * .bzignore: Add **/.deps and autogenerated gnulib files
8331 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8332 of gnulib macros, add grub-core/gnulib/Makefile
8333 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8334 include m4 directory to aclocal.
8335 * Makefile.util.def: Remove direct compilation of gnulib source files
8336 and use the new grub-core/gnulib/libgnu.a.
8337 * build-aux/config.rpath: move config.rpath from top directory to
8338 build-aux
8339 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8340 in gnulib headers
8341 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8342 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8343 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8344 header.
8345 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8346 string.
8347
8348 2010-09-20 Yves Blusseau <blusseau@zetam.org>
8349
8350 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8351 grub-core/genmod.sh and grub-core/gensyminfo.sh
8352
8353 2010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8354
8355 Add a test for echo command options.
8356
8357 * tests/grub_cmd_echo.in: New test.
8358 * Makefile.util.def: Rules for new test.
8359
8360 2010-09-20 Szymon Janc <szymon@janc.net.pl>
8361
8362 Remove crc.mod and move crc command to hashsum.mod.
8363 Remove lib/crc.c - users updated to use gcrypt implementation.
8364
8365 * grub-core/commands/crc.c: Removed.
8366 * grub-core/Makefile.core.def (crc): Module removed.
8367 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8368 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8369 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8370 * grub-core/lib/crc.c: Removed.
8371 * include/grub/lib/crc.h: Removed.
8372 * Makefile.util.def (crc): Remove lib/crc.c
8373 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8374 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8375 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8376 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8377 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8378 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8379
8380 2010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8381
8382 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8383
8384 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 Split config.h for util and core.
8387
8388 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8389 (ADDR32): Likewise.
8390 (DATA32): Likewise.
8391 (BSS_START_SYMBOL): Likewise.
8392 (END_SYMBOL): Likewise.
8393 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8394 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8395 * config.h.in: New file.
8396 * configure.ac: Use config-util.h as config define file.
8397 Rename MACHINE into GRUB_MACHINE. All users updated.
8398 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8399 updated.
8400 (NESTED_FUNC_ATTR): Likewise.
8401 Substitue new variables.
8402 (COND_HAVE_ASM_USCORE): New conditional.
8403 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8404 (kernel_syms.lst): Use ASM_PREFIX.
8405 * grub-core/kern/emu/console.c: Include config-util.h.
8406 * grub-core/kern/emu/misc.c: Likewise.
8407 * grub-core/kern/emu/mm.c: Likewise.
8408 * include/grub/emu/misc.h: Likewise.
8409 * include/grub/libgcc.h: Likewise.
8410
8411 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8412
8413 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8414 constants usage.
8415 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8416 Fix GRUB_TERM_KEY_* constants usage.
8417 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8418
8419 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8422 print pointer.
8423 * grub-core/bus/usb/uhci.c: Remove empty define.
8424 (grub_uhci_check_transfer): Add missing cast.
8425 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8426 print pointer.
8427 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8428 PRIuGRUB_SIZE.
8429 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8430
8431 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8432
8433 * grub-core/Makefile.core.def (legacycfg): Add
8434 lib/i386/pc/vesa_modes_table.c on emu.
8435
8436 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8437
8438 Reduce number of temporary files generated by build system.
8439
8440 * grub-core/gencmdlist.sh: Removed.
8441 * grub-core/genfslist.sh: Removed.
8442 * grub-core/genhandlerlist.sh: Removed.
8443 * grub-core/genmodsrc.sh: Removed.
8444 * grub-core/genpartmaplist.sh: Removed.
8445 * grub-core/genparttoollist.sh: Removed.
8446 * grub-core/gentermiinallist.sh: Removed.
8447 * grub-core/genvideolist.sh: Removed.
8448
8449 * grub-core/genmod.sh.in: New file.
8450 * grub-core/gensyminfo.sh.in: New file.
8451
8452 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8453 * conf/Makefile.extra-dist: Update with new files.
8454 * gentpl.py: Remove rules related to unnecessary temporary files.
8455 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8456 and und-* files.
8457 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8458 genmod.sh scripts.
8459 * grub-core/bus/usb/uhci.c: Remove empty #define.
8460 * grub-core/genmoddep.awk: Updated with new syminfo format.
8461 * util/bash-completion.d/Makefile.am: Add config.log to
8462 CLEANFILES.
8463
8464 2010-09-19 Yves Blusseau <blusseau@zetam.org>
8465
8466 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8467
8468 2010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8469
8470 * util/grub-mkconfig.in: Check the config script for syntax errors
8471 before saving.
8472
8473 2010-09-19 Colin Watson <cjwatson@ubuntu.com>
8474 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8477 platforms.
8478 * util/grub-install.in: Add EFI and IEEE1275 support.
8479 * util/i386/efi/grub-install.in: Removed.
8480 * util/ieee1275/grub-install.in: Likewise.
8481
8482 2010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8485 (grub_cmd_cmosclean): Likewise.
8486 (GRUB_MOD_INIT): Register command cmosclean.
8487 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8488 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8489
8490 2010-09-18 Carles Pina i Estany <carles@pina.cat>
8491 2010-09-18 Aleš Nesrsta <starous@volny.cz>
8492 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8493
8494 Add keyboard layouts support.
8495
8496 * Makefile.util.def (grub-mklayout): New file.
8497 (grub-kbdcomp): New script.
8498 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8499 Add keyboard_layouts.h.
8500 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8501 commands/boot.c on yeeloong.
8502 (keylayouts): New module.
8503 * grub-core/bus/usb/ohci.c
8504 * grub-core/bus/usb/uhci.c
8505 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8506 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8507 (attach_root_port): Likewise.
8508 (poll_nonroot_hub): Likewise.
8509 (grub_usb_poll_devices): Likewise.
8510 (detach_device): Close transfer.
8511 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8512 function.
8513 (grub_usb_bulk_setup_readwrite): Likewise.
8514 (grub_usb_bulk_finish_readwrite): Likewise.
8515 * grub-core/commands/keylayouts.c: New file.
8516 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8517 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8518 aliases.
8519 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8520 support scancode 2.
8521 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8522 * include/grub/keyboard_layouts.h: New file.
8523 * util/grub-mklayout.c: New file.
8524 * util/grub-kbdcomp.in: Likewise.
8525
8526 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 Unify memory types.
8529
8530 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8531 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8532 types.
8533 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8534 (grub_upper_mem): Likewise.
8535 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8536 * include/grub/memory.h (grub_memory_type_t): New enum.
8537 All users updated.
8538
8539 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8540
8541 * grub-core/Makefile.core.def (lsapm): New module.
8542 * grub-core/commands/i386/pc/lsapm.c: New file.
8543 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8544 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8545 Likewise.
8546 * include/grub/i386/pc/apm.h: New file.
8547 * include/multiboot.h (multiboot_apm_info): New struct.
8548
8549 2010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8550
8551 GRUB-legacy configuration file support.
8552
8553 * Makefile.util.def (grub-menulst2cfg): New util.
8554 * docs/man/grub-menulst2cfg.h2m: New file.
8555 * grub-core/Makefile.core.def (legacycfg): New module.
8556 * grub-core/commands/legacycfg.c: New file.
8557 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8558 (grub_normal_add_menu_entry): ... this.
8559 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8560 (grub_normal_set_password): ...this.
8561 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8562 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8563 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8564 * grub-core/lib/legacy_parse.c: New file.
8565 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8566 * include/grub/i386/pc/vesa_modes_table.h: New file.
8567 * include/grub/legacy_parse.h: Likewise.
8568 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8569 * util/grub-menulst2cfg.c: New file.
8570
8571 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8572
8573 * grub-core/kern/emu/hostdisk.c
8574 (convert_system_partition_to_system_disk): Initialise node.
8575
8576 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8577
8578 * grub-core/kern/emu/hostdisk.c
8579 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8580 leak.
8581 Reported and based on patch by: Modestas Vainius.
8582
8583 2010-09-17 Colin Watson <cjwatson@ubuntu.com>
8584
8585 Fix DM-RAID probing with recent versions of device-mapper udev
8586 rules.
8587
8588 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8589 canonicalise device paths under /dev/mapper/.
8590 (convert_system_partition_to_system_disk): Compare the
8591 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8592 path, since device nodes under /dev/mapper/ are often symlinks.
8593
8594 2010-09-17 Yves Blusseau <blusseau@zetam.org>
8595
8596 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8597
8598 2010-09-16 Yves Blusseau <blusseau@zetam.org>
8599
8600 * configure.ac: Avoid some annoying error messages if freetype-config
8601 program is not found.
8602
8603 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8604
8605 Support RAID on virtio devices, and others.
8606
8607 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8608 Rename to ...
8609 [__MINGW32__] (grub_find_device): ... this.
8610 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8611 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8612 reasonable default if dir is NULL.
8613 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8614 ...
8615 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8616 (grub_guess_root_device): Update callers.
8617 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8618
8619 * util/raid.c (grub_util_getdiskname): Remove.
8620 (grub_util_raid_getmembers): Use grub_find_device rather than
8621 grub_util_getdiskname.
8622
8623 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8624
8625 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8626 needing to be compiled with serial support.
8627 (ls): Indicate that multiple files are accepted.
8628 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8629 indicate that multiple files are accepted.
8630
8631 2010-09-16 Colin Watson <cjwatson@ubuntu.com>
8632
8633 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8634 libgrub_a_init.c, and util/bash-completion.d/grub.
8635
8636 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8637
8638 * util/grub-setup.c (setup): Fix incorrect container semantics.
8639
8640 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8643 misusage.
8644 Reported by: J. Nick Terry
8645
8646 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 Move embedding routines to partmap sources files.
8649
8650 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8651 [GRUB_UTIL]: New variable.
8652 (gpt_partition_map_iterate): Set part.parent.
8653 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8654 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8655 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8656 New function.
8657 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8658 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8659 (grub_partition_map) [GRUB_UTIL]: New field embed.
8660 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8661 (setup): Use ->embed.
8662
8663 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8664
8665 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8666 function.
8667 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8668 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8669
8670 2010-09-15 Yves Blusseau <blusseau@zetam.org>
8671
8672 Add function to get completions from usage.
8673
8674 * util/bash-completion.d/grub-completion.bash.in: Add function to get
8675 completions from usage. Use LC_ALL=C to get options properly.
8676
8677 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * grub-core/gnulib/basename-lgpl.c: Imported.
8680 * grub-core/gnulib/basename.c: Likewise.
8681 * grub-core/gnulib/dirname-lgpl.c: Likewise.
8682 * grub-core/gnulib/dirname.c: Likewise.
8683 * grub-core/gnulib/dirname.h: Likewise.
8684 * grub-core/gnulib/stripslash.c: Likewise.
8685
8686 2010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8687
8688 * grub-core/gnulib/error.c: Resynced.
8689 * grub-core/gnulib/getopt.c: Likewise.
8690 * grub-core/gnulib/getopt_int.h: Likewise.
8691 * grub-core/gnulib/regex.h: Likewise.
8692 * grub-core/gnulib/regex_internal.c: Likewise.
8693 * grub-core/gnulib/regex_internal.h: Likewise.
8694
8695 2010-09-15 Szymon Janc <szymon@janc.net.pl>
8696
8697 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
8698 CRC calculations and validity checks.
8699 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
8700 calculations.
8701
8702 2010-09-15 Szymon Janc <szymon@janc.net.pl>
8703
8704 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
8705
8706 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 Fix incorrect echo options handling.
8709 Reported by: Yves Blusseau.
8710
8711 * include/grub/command.h (grub_command_flags_t): New flags
8712 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
8713 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
8714 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
8715
8716 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
8719 users updated.
8720 (GRUB_COMMAND_FLAG_MENU): Likewise.
8721 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8722 (GRUB_COMMAND_FLAG_TITLE): Removed.
8723 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8724 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
8725 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
8726 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
8727 (grub_command_flags_t): New enum. All users updated.
8728
8729 2010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
8730
8731 Fix solaris compilation.
8732
8733 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
8734 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
8735 (grub-emu-list): Likewise.
8736
8737 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8738
8739 Remove deprecated root command.
8740
8741 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
8742 updated.
8743
8744 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8745
8746 * util/i386/pc/grub-setup.c: Merge this ...
8747 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
8748 * util/grub-setup.c: ... into this.
8749 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
8750 New struct.
8751
8752 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8753
8754 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
8755 possible.
8756
8757 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
8760 allocate p.
8761
8762 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8765 explicit root argument to set to prevent UUID to be interpreted as
8766 argument to set.
8767
8768 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8769
8770 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
8771
8772 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8773
8774 Don't export grub_gate_a20.
8775
8776 * grub-core/kern/i386/pc/init.c: Remove leftovers.
8777 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
8778 to ...
8779 (grub_gate_a20): ... this. All users updated.
8780 * include/grub/i386/pc/init.h: Removed. All users updated.
8781
8782 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8783
8784 Create euro.pf2 which supports most European languages.
8785
8786 * Makefile.am (grubdata_DATA): Add euro.pf2.
8787 (euro.pf2): New target.
8788 (CLEANFILES): Add euro.pf2.
8789
8790 2010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 * configure.ac: Disable emu-usb by default to prevent inadvertent
8793 device takeover.
8794
8795 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8796
8797 Disable usbserial on grub-emu since our libusb code isn't good enough
8798 yet.
8799
8800 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
8801 (usbserial_pl2303): Likewise.
8802 (usbserial_ftdi): Likewise.
8803
8804 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8805
8806 * include/grub/disk.h (grub_disk): Remove has_partitions.
8807 All users updated.
8808 * disk/loopback.c (grub_loopback): Remove has_partitions.
8809 All users updated.
8810 (options): Remove partitions. All users updated.
8811 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
8812 * util/i386/pc/grub-setup.c (setup): copy partition table only when
8813 actual partition table is found.
8814
8815 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8816
8817 Remove readability checks (too many false negatives).
8818
8819 * util/grub-install.in: Remove readability checks.
8820 * util/grub-mkconfig.in: Likewise.
8821 * util/grub.d/10_hurd.in: Likewise.
8822 * util/grub.d/10_kfreebsd.in: Likewise.
8823 * util/grub.d/10_linux.in: Likewise.
8824 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
8825 way.
8826
8827 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 Enable acpi shutdown on all ACPI platforms.
8830
8831 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
8832 on coreboo, multiboot and EFI.
8833 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
8834 (grub_acpi_halt): Likewise.
8835 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
8836 (grub_cmd_halt): Don't call grub_acpi_halt directly.
8837 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
8838 * grub-core/lib/i386/halt.c (grub_halt)
8839 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
8840
8841 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8842
8843 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
8844 context.
8845
8846 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 * grub-core/video/efi_gop.c: Fix over-80-chars line.
8849 * grub-core/video/efi_uga.c: Likewise.
8850
8851 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8852
8853 Filter devaliases and never open same device twice.
8854
8855 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
8856 (last_ihandle): Likewise.
8857 (ofdisk_hash_ent): New member shortest.
8858 (ofdisk_hash_add): Add canonical path too.
8859 (scan): New function.
8860 (grub_ofdisk_iterate): Iterate over hashed entries.
8861 (compute_dev_path): Don't add :0.
8862 (grub_ofdisk_open): Don't really open the disk.
8863 (grub_ofdisk_close): Avoid closing unrelated disk.
8864 (grub_ofdisk_read): Implement reopen logic.
8865 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
8866 New function.
8867 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
8868 New proto.
8869
8870 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 Fix sparc64.
8873
8874 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
8875 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
8876 right address. Add sparc64_ieee1275_ldflags.
8877 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
8878 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
8879 to grub_host_to_target_addr
8880 (load_image): Likewise.
8881
8882 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8883
8884 * grub-core/normal/completion.c (complete_file): Handle device
8885 containing slash.
8886 Fix based on patch by Doug Nazar.
8887
8888 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 grub-mknetdir script.
8891
8892 * Makefile.util.def (grub-mknetdir): New module.
8893 * tests/util/grub-shell.in: Support boot=net
8894 * util/grub-mknetdir.in: New file.
8895
8896 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8897
8898 videoinfo on non-vbe.
8899
8900 * grub-core/Makefile.core.def (vbeinfo): Removed.
8901 (vbetest): Removed.
8902 (videoinfo): New module.
8903 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
8904 * grub-core/commands/i386/pc/vbetest.c: Removed.
8905 * grub-core/commands/videoinfo.c: New file.
8906 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
8907 specification.
8908 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
8909 as vbetest.
8910 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
8911 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
8912 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
8913 mode_number. New parameter mode. All users updated.
8914 (grub_video_gop_iterate): New function.
8915 (grub_video_efi_gop): New member iterate.
8916 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
8917 (grub_vbe_set_video_mode): Remove setting useless fields.
8918 (vbe2videoinfo): New function.
8919 (grub_video_vbe_iterate): Likewise.
8920 (grub_video_vbe_setup): Use vbe2videoinfo.
8921 (grub_video_vbe_print_adapter_specific_info): New function.
8922 (grub_video_vbe_adapter): New fields iterate and
8923 print_adapter_specific_info.
8924 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
8925 All users updated.
8926 (grub_video_mode_info): New field mode_number.
8927 (grub_video_adapter): New fields iterate and
8928 print_adapter_specific_info.
8929
8930 2010-09-13 Tristan Gingold <gingold@free.fr>
8931 2010-09-13 Robert Millan <rmh.grub@aybabtu.com>
8932 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * grub-core/commands/efi/lsefisystab.c: New file.
8935 * grub-core/commands/efi/lssal.c: Likewise.
8936 * grub-core/Makefile.core.def (lsacpi): New module.
8937 (lsefisystab): Likewise.
8938 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
8939 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
8940 (grub_efi_sal_system_table): New struct.
8941 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
8942 (grub_efi_sal_system_table_memory_descriptor): Likewise.
8943 (grub_efi_sal_system_table_platform_features): Likewise.
8944 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
8945 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
8946 (grub_efi_sal_system_table_ap_wakeup): Likewise.
8947 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
8948
8949 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8950
8951 Support explicit user claim that a device is BIOS-visible.
8952
8953 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
8954 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
8955 * grub-core/kern/emu/hostdisk.c
8956 (convert_system_partition_to_system_disk): Support mdX.
8957 (find_system_device): New parameter add. All users updated.
8958 (grub_util_biosdisk_is_present): New function.
8959 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
8960 proto.
8961
8962 2010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 Search hints support.
8965
8966 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
8967 All users updated.
8968
8969 2010-09-13 Yves Blusseau <blusseau@zetam.org>
8970
8971 Bash completion script for util commands
8972
8973 * Makefile.am: Add util/bash-completion.d directory
8974 * configure.ac: Likewise.
8975 * util/bash-completion.d/Makefile.am: New file.
8976 * util/bash-completion.d/grub-completion.bash.in: Likewise.
8977
8978 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8979
8980 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
8981 (print_backlog): set backlog_ucs4 and backlog_glyphs.
8982 Reported by: Yves Blusseau.
8983
8984 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8985
8986 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
8987 partition size and offset.
8988
8989 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8990
8991 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
8992
8993 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8994
8995 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
8996
8997 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8998
8999 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
9000 (grub_xvasprintf): Likewise.
9001
9002 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9003
9004 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
9005
9006 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9007
9008 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
9009 args ending with NULL.
9010
9011 2010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
9014 pointer.
9015
9016 2010-09-11 Szymon Janc <szymon@janc.net.pl>
9017
9018 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
9019
9020 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 Shutdown using ACPI.
9023
9024 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
9025 * grub-core/commands/acpihalt.c: New file.
9026 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
9027 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
9028 (grub_acpi_halt): New proto.
9029 (GRUB_ACPI_SLP_EN): New const.
9030 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
9031 (GRUB_ACPI_OPCODE_*): New enum.
9032 (GRUB_ACPI_EXTOPCODE_*): Likewise.
9033
9034 2010-09-11 Tristan Gingold <gingold@free.fr>
9035 2010-09-11 Robert Millan <rmh.grub@aybabtu.com>
9036 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 * commands/lsacpi.c: New file.
9039 * grub-core/Makefile.core.def (lsacpi): New module.
9040 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
9041 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
9042 (grub_acpi_madt_entry_header): New struct.
9043 (grub_acpi_madt): Likewise.
9044 (grub_acpi_madt_entry_interrupt_override): Likewise.
9045 (grub_acpi_madt_entry_sapic): Likewise.
9046 (grub_acpi_madt_entry_lsapic): Likewise.
9047 (grub_acpi_madt_entry_platform_int_source): Likewise.
9048 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9049 (PRIuGRUB_UINT32_T): Likewise.
9050 (PRIxGRUB_UINT64_T): Likewise.
9051
9052 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9053
9054 Implement loading palette on ieee1275_fb.
9055
9056 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9057 (have_setcolors): Likewise.
9058 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9059 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9060 (grub_video_ieee1275_set_palette): Implement.
9061
9062 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9063 2010-09-11 Colin Watson <cjwatson@ubuntu.com>
9064
9065 * util/grub-install.in (grub_partition): New variable.
9066 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9067 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9068 Fixes a bug reported by Yves Blusseau.
9069
9070 2010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9071
9072 Fix emu on mipsel.
9073
9074 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9075 =grub_cpu_flush_cache on all mips and not only yeeloong.
9076 * configure.ac (COND_mips): New conditional.
9077 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9078 platforms.
9079 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9080 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9081 [GRUB_LINKER_HAVE_INIT]: New function.
9082 (grub_emu_post_init): Likewise.
9083 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9084 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9085 * include/grub/cache.h (_mips): Include mips/cache.h.
9086 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9087 LVM and RAID prototypes.
9088 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9089 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9090 function.
9091
9092 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9093
9094 * util/grub-install.in: Don't try to verify core.img until after
9095 running grub-mkimage to create it.
9096
9097 2010-09-10 Robert Millan <rmh@gnu.org>
9098
9099 * util/grub.d/10_hurd.in: Add misc readability checks.
9100 * util/grub.d/10_kfreebsd.in: Likewise.
9101 * util/grub.d/10_linux.in: Likewise.
9102
9103 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9104
9105 * util/grub-install.in: ${imgext} won't be defined here until the
9106 install branch is merged. For the meantime, only verify core.img on
9107 i386-pc and sparc64-ieee1275 platforms.
9108
9109 2010-09-10 Robert Millan <rmh@gnu.org>
9110
9111 Solaris support in grub_find_zpool_from_dir(). Thanks
9112 Seth Goldberg for referring to getextmntent() facility.
9113
9114 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9115 `sys/mkdev.h'.
9116 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9117 `<sys/mnttab.h>'.
9118 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9119 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9120 method for finding zpool name.
9121
9122 2010-09-10 Colin Watson <cjwatson@ubuntu.com>
9123
9124 grub-fstest needs the host and hostfs modules while other utilities
9125 actively require those modules to be absent, so grub-fstest needs
9126 its own initialisation and finalisation code.
9127
9128 * Makefile.am (grub_fstest.pp): New target.
9129 (grub_fstest_init.lst): Likewise.
9130 (grub_fstest_init.c): Likewise.
9131 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9132
9133 2010-09-10 Robert Millan <rmh@gnu.org>
9134
9135 * configure.ac: Check for `struct statfs.f_fstypename' and
9136 `struct statfs.f_mntfromname'.
9137
9138 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9139 kFreeBSD-specific code.
9140
9141 2010-09-10 Robert Millan <rmh@gnu.org>
9142
9143 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9144 on ZFS. Now non-main filesystems are supported as / too.
9145
9146 2010-09-09 Colin Watson <cjwatson@ubuntu.com>
9147
9148 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9149 and grub-core/disk/host.c to ...
9150 (grub-fstest): ... here. Having the host disk implementation
9151 present confuses grub-probe and other utility programs.
9152
9153 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9154 when writing to a file, not when writing to stdout.
9155
9156 2010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9157
9158 * tests/partmap_test.in: New test for partitions.
9159 * Makefile.util.def: Rules for new test.
9160
9161 2010-09-09 Robert Millan <rmh@gnu.org>
9162
9163 * util/grub-probe.c (probe): Fix a pair of unhandled error
9164 conditions.
9165
9166 2010-09-09 Robert Millan <rmh@gnu.org>
9167
9168 Basic Btrfs support (detection and UUID).
9169
9170 * grub-core/fs/btrfs.c: New file.
9171 * Makefile.util.def (library): Register btrfs.c.
9172 * grub-core/Makefile.core.def: Likewise.
9173
9174 2010-09-08 Robert Millan <rmh@gnu.org>
9175
9176 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9177 with (optional) parameters to specify device and relative path.
9178 * util/grub-install.in: Use is_path_readable_by_grub() to
9179 verify readability of a few critical files.
9180 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9181 verify readability of grub.cfg.new.
9182
9183 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 Split minix.mod into minix.mod and minix2.mod.
9186
9187 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9188 * grub-core/Makefile.core.def (minix2): New module.
9189 * grub-core/fs/minix.c: Use definitions instead of runtime version
9190 checking.
9191 * grub-core/fs/minix2.c: New file.
9192
9193 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9194
9195 Add new --boot-directory option to replace --root-directory
9196
9197 * util/grub-install.in: Add new --boot-directory option
9198 * util/grub-reboot.in: Likewise.
9199 * util/grub-set-default.in: Likewise.
9200
9201 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9202
9203 * util/grub-mkconfig.in: Use new variable.
9204
9205 2010-09-08 Yves Blusseau <blusseau@zetam.org>
9206
9207 * configure.ac: Define some useful variables.
9208
9209 2010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9210
9211 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9212 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9213 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9214 Use terminfo and don't use cursor-on/cursor-off unless it's known
9215 to work.
9216 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9217 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9218
9219 2010-09-08 Colin Watson <cjwatson@ubuntu.com>
9220
9221 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9222 starts with "(,", fill the drive containing the loaded image in
9223 between those two characters, but expect that a full partition
9224 specification including partition map names will follow.
9225
9226 2010-09-08 Robert Millan <rmh@gnu.org>
9227
9228 * configure.ac: Remove `--enable-grub-fstest' option.
9229 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9230
9231 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9232 `grub-fstest' instead of `grub-probe' for readability verification.
9233 * util/grub-probe.c (probe): Remove readability verification kludge.
9234
9235 2010-09-08 Robert Millan <rmh@gnu.org>
9236
9237 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9238 initializing `GRUB_FS'.
9239
9240 2010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9241
9242 Not command (!) support to GRUB script.
9243
9244 * tests/grub_script_not.in: New test.
9245 * Makefile.util.def: Rules for new test.
9246
9247 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9248 ! command as a special case.
9249 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9250
9251 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9252
9253 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9254 grub_free.
9255
9256 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9257
9258 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9259
9260 2010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9261
9262 * docs/grub.texi (Shell-like scripting): Documentation for break,
9263 continue, shift and return commands.
9264
9265 2010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9266
9267 Rename CD-ROM to cd on BIOS.
9268
9269 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9270 "cd".
9271 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9272
9273 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9274
9275 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9276 * util/grub-probe.c (main): Likewise.
9277 * util/i386/pc/grub-setup.c (main): Likewise.
9278 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9279 Reported and debugged by: alexxy
9280
9281 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9282
9283 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9284 diagnostic info.
9285
9286 2010-09-05 Jo Shields <directhex@apebox.org>
9287
9288 * util/grub.d/30_os-prober.in: Add missing classes.
9289
9290 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 * docs/grub.texi (Theme file format): Document new position format.
9293
9294 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9295
9296 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9297 a table. Use @code instead of @verbatim.
9298
9299 2010-09-05 Colin D Bennett <colin@gibibit.com>
9300
9301 Gfxmenu documentation.
9302
9303 * docs/grub.texi (Theme file format): New chapter.
9304
9305 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9306
9307 * grub-core/Makefile.core.def (xzio): New module.
9308 * grub-core/io/xzio.c: New file.
9309 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9310 * grub-core/lib/xzembed/xz_config.h: Likewise.
9311 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9312 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9313 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9314 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9315 * grub-core/lib/xzembed/xz_private.h: Likewise.
9316 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9317 * include/grub/file.h (grub_file_filter_id): New compression filter
9318 GRUB_FILE_FILTER_XZIO.
9319
9320 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9321
9322 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9323 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9324 size.
9325
9326 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9327
9328 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9329 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9330
9331 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 Uncompressed checksum support.
9334
9335 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9336 (check_list): New parameter uncompress.
9337 (grub_cmd_hashsum): Handle --uncompress.
9338
9339 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 Reintroduce testload.
9342
9343 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9344 from here ...
9345 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9346 (GRUB_MOD_INIT): New function.
9347 (GRUB_MOD_FINI): Likewise.
9348 * grub-core/Makefile.core.def (testload): New module.
9349
9350 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9351
9352 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9353 (uint8_t): New type.
9354 (uint16_t): Likewise.
9355 (uint32_t): Likewise.
9356 (uint64_t): Likewise.
9357
9358 2010-09-05 Szymon Janc <szymon@janc.net.pl>
9359
9360 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9361
9362 2010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9365 Made static.
9366 (grub_gzfile_open): Removed. All users updated.
9367 (GRUB_MOD_INIT): New function.
9368 (GRUB_MOD_FINI): Likewise.
9369 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9370 (grub_file_filters_enabled): Likewise.
9371 (grub_file_open): Handle filters.
9372 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9373 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9374 * include/grub/file.h (grub_file_filter_id_t): New type.
9375 (grub_file_filter_t): Likewise.
9376 (grub_file_filters_all): New extern variable.
9377 (grub_file_filters_enabled): Likewise.
9378 (grub_file_filter_register): New inline function.
9379 (grub_file_filter_unregister): Likewise.
9380 (grub_file_filter_disable): Likewise.
9381 (grub_file_filter_disable_compression): Likewise.
9382 * include/grub/gzio.h: Removed.
9383
9384 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9385
9386 Filename expansion support for wildcards in GRUB script.
9387
9388 * tests/grub_script_expansion.in: New test.
9389 * Makefile.util.def: Rule for new test.
9390
9391 * grub-core/commands/wildcard.c: New file, implements filename
9392 expansion support for GRUB script.
9393 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9394 * grub-core/script/argv.c: Cosmetic changes.
9395 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9396 Refactored to perform wildcard expansion on arguments.
9397 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9398 struct.
9399
9400 * tests/util/grub-shell.in: Fix quoting for read input.
9401
9402 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9403
9404 Support for updating environment variables with matched substrings
9405 of regexp.
9406
9407 * tests/grub_cmd_regexp.in: New test.
9408 * Makefile.util.def: Rule for new test.
9409
9410 * grub-core/commands/regexp.c: New option -s to update environment
9411 variables with regexp matches.
9412
9413 2010-09-04 Szymon Janc <szymon@janc.net.pl>
9414
9415 * include/grub/file.h (grub_file): New member not_easly_seekable.
9416 (grub_file_seekable): New inline function.
9417 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9418 easily seekable.
9419 (grub_gzio_open): Set not_easly_seekable.
9420 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9421 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9422
9423 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9424
9425 Support for options to appear multiple times on cmdline.
9426
9427 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9428 * grub-core/commands/extcmd.c: Support for repeatable option.
9429 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9430 repeatable option support.
9431
9432 Refactor menuentry into a regular command.
9433
9434 * grub-core/commands/menuentry.c: New file, menuentry command
9435 implementation.
9436 * grub-core/Makefile.core.def: Rule update for normal.mod.
9437 * grub-core/normal/main.c: Moved menuentry creation to
9438 grub-core/commands/menuentry.c.
9439 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9440 (grub_menu_execute_entry_real): Removed.
9441 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9442 function.
9443 (grub_script_execute_menuentry): Removed.
9444 * grub-core/script/parser.y (menuentry): Removed.
9445 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9446 * grub-core/script/yylex.l (menuentry): Removed.
9447 * include/grub/menu.h (grub_menu_init): New prototype.
9448 (grub_menu_fini): New prototype.
9449 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9450 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9451 (grub_script_execute_sourcecode): New prototype.
9452
9453 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9454
9455 "return" command for GRUB script functions.
9456
9457 * tests/grub_script_return.in: New test.
9458 * Makefile.util.def: Rules for new test.
9459
9460 * grub-core/script/execute.c (grub_script_return): New function.
9461 * grub-core/script/main.c: Register/unregister return commaond.
9462 * include/grub/script_sh.h (grub_script_return): New prototype.
9463
9464 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9465
9466 "setparams" command to update positional parameters.
9467
9468 * tests/grub_script_setparams.in: New test.
9469 * Makefile.util.def: Rules for new test.
9470
9471 * grub-core/script/argv.c (grub_script_argv_make): New function.
9472 * grub-core/script/execute.c (replace_scope): New function.
9473 (grub_script_setparams): New function.
9474 * grub-core/script/lexer.c: Remove unused variables.
9475 * grub-core/script/main.c: Register/unregister setparams command.
9476 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9477 (grub_script_setparams): New prototype.
9478
9479 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9480
9481 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9482 grub_free order.
9483
9484 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9485
9486 Support for passing block of commands as an argument to extcmds.
9487
9488 * Makefile.util.def: Rules for new test.
9489 * tests/grub_script_blockarg.in: New test.
9490 * grub-core/tests/test_blockarg.c: New file, block argument
9491 command used in the test.
9492
9493 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9494 (grub_register_extcmd_prio): New function prototype.
9495 (grub_extcmd_dispatcher): New function prototype.
9496 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9497 type.
9498 * include/grub/script_sh.h (struct grub_script): New members
9499 `children', `next_siblings' and `refcnt' for block arguments and
9500 reference counting.
9501 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9502 (grub_script_arg): New member `script' for block argument.
9503 (grub_script_argv): New member `script' for block argument.
9504 (grub_parser_param): New member `scripts' for block argument.
9505 (grub_script_mem_free): New extern function prototype.
9506 (grub_script_ref): New function prototype.
9507 (grub_script_unref): New function prototype.
9508
9509 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9510 extcmd form to support block arguments.
9511 * grub-core/script/argv.c: Block arguments support.
9512 * grub-core/script/execute.c: Likewise.
9513 * grub-core/script/lexer.c: Likewise.
9514 * grub-core/script/main.c: Likewise.
9515 * grub-core/script/script.c: Likewise.
9516 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9517 non-terminals.
9518
9519 * grub-core/commands/acpi.c: Update extcmd implementations with
9520 grub_extcmd_context_t.
9521 * grub-core/commands/cat.c: Likewise.
9522 * grub-core/commands/echo.c: Likewise.
9523 * grub-core/commands/extcmd.c: Likewise.
9524 * grub-core/commands/hashsum.c: Likewise.
9525 * grub-core/commands/hdparm.c: Likewise.
9526 * grub-core/commands/help.c: Likewise.
9527 * grub-core/commands/hexdump.c: Likewise.
9528 * grub-core/commands/i386/cpuid.c: Likewise.
9529 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9530 * grub-core/commands/i386/pc/halt.c: Likewise.
9531 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9532 * grub-core/commands/iorw.c: Likewise.
9533 * grub-core/commands/keystatus.c: Likewise.
9534 * grub-core/commands/loadenv.c: Likewise.
9535 * grub-core/commands/ls.c: Likewise.
9536 * grub-core/commands/lspci.c: Likewise.
9537 * grub-core/commands/memrw.c: Likewise.
9538 * grub-core/commands/probe.c: Likewise.
9539 * grub-core/commands/search_wrap.c: Likewise.
9540 * grub-core/commands/setpci.c: Likewise.
9541 * grub-core/commands/sleep.c: Likewise.
9542 * grub-core/disk/loopback.c: Likewise.
9543 * grub-core/hello/hello.c: Likewise.
9544 * grub-core/loader/i386/bsd.c: Likewise.
9545 * grub-core/loader/xnu.c: Likewise.
9546 * grub-core/term/gfxterm.c: Likewise.
9547 * grub-core/term/serial.c: Likewise.
9548 * grub-core/tests/lib/functional_test.c: Likewise.
9549
9550 2010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9551
9552 Multi-line quoted strings support.
9553
9554 * grub-core/script/lexer.c (append_newline): Removed.
9555 (grub_script_lexer_yywrap): Refactored.
9556 (grub_script_lexer_init): Refactored.
9557 * grub-core/script/yylex.l (yywrap): New function.
9558 (grub_lexer_resplit): New function.
9559 (grub_lexer_unput): New function.
9560 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9561 and resplit.
9562 * tests/grub_script_echo1.in: Added few more testcases.
9563
9564 2010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9565
9566 * grub-core/kern/misc.c: Don't add abort alias in utils.
9567 Reported by: echoline.
9568
9569 2010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9570
9571 Add missing files into "make dist" tarball for other platforms.
9572
9573 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9574 * conf/Makefile.common (dist_noinst_DATA): New variable.
9575 * conf/Makefile.extra-dist: Added missing make dist files.
9576 * grub-core/Makefile.core.def: Likewise.
9577
9578 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9579
9580 Compress grub_prefix.
9581
9582 * grub-core/boot/i386/pc/lnxboot.S: Use
9583 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9584 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9585 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9586 GRUB_MACHINE_PREFIX_END. All users updated.
9587 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9588 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9589 + 0x40.
9590 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9591 * util/grub-mkimage.c (image_target_desc): Change data_end to
9592 prefix_end. All users updated.
9593
9594 2010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9597 value.
9598 (grub_openbsd_boot): Likewise.
9599 (grub_netbsd_boot): Likewise.
9600 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9601 (grub_xnu_boot): Likewise.
9602
9603 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * configure.ac: Clean LIBS variable after tests.
9606
9607 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9608
9609 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9610
9611 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9612
9613 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9614 echo if libdevmapper will be used.
9615
9616 2010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9617
9618 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9619 constant for the same file.
9620
9621 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9622
9623 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9624
9625 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9626
9627 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9628 grub-core/*.pp.
9629
9630 2010-09-02 Colin Watson <cjwatson@ubuntu.com>
9631
9632 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9633 required by the boot protocol.
9634
9635 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9636 ebp and edi members.
9637 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9638 state.ebp and state.edi.
9639 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9640 %ebp and %edi according to grub_relocator32_ebp and
9641 grub_relocator32_edi respectively.
9642 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9643 and state.edi.
9644
9645 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9646
9647 Add i386-pc-pxe image target.
9648
9649 * util/grub-mkimage.c (image_target_desc): New enum value
9650 IMAGE_I386_PC_PXE.
9651 (image_targets): New target i386-pc-pxe.
9652 (generate_image): Handle i386-pc-pxe image.
9653
9654 2010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9655
9656 Fix grub_pxe_scan.
9657
9658 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9659 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9660 All users updated.
9661 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9662 (grub_pxe_pxenv): Correct type.
9663
9664 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9665
9666 * NEWS: Document most of the important changes since 1.98.
9667
9668 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9669
9670 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9671 generated manual page) a little.
9672
9673 2010-09-01 Colin Watson <cjwatson@ubuntu.com>
9674
9675 * docs/grub.texi: Add myself as an author.
9676
9677 2010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * Makefile.util.def (libgrub.a): Add missing sunpc.
9680 Reported by: Seth Goldberg.
9681
9682 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9683
9684 Interrupt wrapping and code simplifications.
9685
9686 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
9687 x86_noieee1275 which are functionaly equivalent in this case.
9688 (grub-install): Make source on each platform explicit. Enable on
9689 all noemu.
9690 * gentpl.py (x86_efi_pc): Removed group.
9691 (x86_noefi): Likewise.
9692 (i386_noefi): Likewise.
9693 (x86_noieee1275): Likewise.
9694 (i386_noieee1275): Likewise.
9695 (i386_noefi_noieee1275): Likewise.
9696 (i386_pc_qemu_coreboot): Likewise.
9697 (i386_coreboot_multiboot): Likewise.
9698 (i386_pc_coreboot_multiboot_qemu): Likewise.
9699 (x86_noefi_mips): Likewise.
9700 (noieee1275): Likewise.
9701 (ieee1275_mips): Likewise.
9702 (noemu_noieee1275): Likewise.
9703 (cmos): New group.
9704 (usb): Likewise.
9705 (videoinkernel): Likewise.
9706 (videomodules): Likewise.
9707 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9708 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
9709 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
9710 include/grub/loader.h, include/grub/msdos_partition.h,
9711 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
9712 include/grub/machine/console.h, include/grub/machine/vga.h,
9713 include/grub/machine/vbe.h, include/grub/machine/init.h,
9714 include/grub/machine/kernel.h, include/grub/cpu/time.h,
9715 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
9716 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9717 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
9718 * grub-core/Makefile.core.def (kernel): Explicit the source for
9719 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
9720 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
9721 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
9722 Use videoinkernel tag.
9723 (usb): Enable on all usb.
9724 (usbserial_common): Likewise.
9725 (usbserial_pl2303): Likewise.
9726 (usbserial_ftdi): Likewise.
9727 (uhci): Enable on all x86.
9728 (ohci): Enable on all pci.
9729 (cmostest): Enable on all CMOS.
9730 (acpi): Include commands/acpi.c on all platforms.
9731 (halt): Add relevant lib/*/halt.c.
9732 (hdparm): Enable on all pci.
9733 (lspci): Likewise.
9734 (usbtest): Enable on all usb.
9735 (ata): Enable on all pci.
9736 (ata_pthru): Likewise.
9737 (usbms): Enable on all usb.
9738 (usb_keyboard): Likewise.
9739 (font): Use tag videomodules.
9740 (bufio): Likewise.
9741 (datetime): Use tag cmos. Enable on all noemu.
9742 (mmap): Use tags common and x86.
9743 (gfxterm): Use tag videomodules.
9744 (bitmap): Likewise.
9745 (bitmap_scale): Likewise.
9746 (video_fb): Likewise.
9747 (video): Likewise.
9748 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
9749 adjust padding accordingly. All users updated.
9750 (grub_ohci_transaction): Fix bad format specification.
9751 (GRUB_MOD_INIT): Add asserts for struct size.
9752 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
9753 (grub_alloc_td): Likewise.
9754 (grub_free_queue): Likewise.
9755 (grub_uhci_transfer): Likewise.
9756 (grub_uhci_transaction): Fix bad format specification.
9757 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9758 (grub_usb_bulk_readwrite): Likewise.
9759 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
9760 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
9761 Made static.
9762 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
9763 Made static.
9764 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
9765 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
9766 Transformed into C.
9767 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
9768 Moved from here ...
9769 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
9770 ... here. Transformed into C. Made static.
9771 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
9772 Moved from here ...
9773 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
9774 ... here. Transformed into C. Made static.
9775 * grub-core/kern/i386/pc/startup.S
9776 (grub_biosdisk_check_int13_extensions): Moved from here ...
9777 * grub-core/disk/i386/pc/biosdisk.c
9778 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
9779 Made static.
9780 * grub-core/kern/i386/pc/startup.S
9781 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
9782 * grub-core/disk/i386/pc/biosdisk.c
9783 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
9784 Transformed into C. Made static.
9785 * grub-core/kern/i386/pc/startup.S
9786 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
9787 * grub-core/disk/i386/pc/biosdisk.c
9788 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
9789 Transformed into C. Made static.
9790 * grub-core/kern/i386/pc/startup.S
9791 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
9792 * grub-core/disk/i386/pc/biosdisk.c
9793 (grub_biosdisk_get_diskinfo_standard): ... here.
9794 Transformed into C. Made static.
9795 * grub-core/kern/i386/pc/startup.S
9796 (grub_biosdisk_get_num_floppies): Moved from here ...
9797 * grub-core/disk/i386/pc/biosdisk.c
9798 (grub_biosdisk_get_num_floppies): ... here.
9799 Transformed into C. Made static.
9800 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
9801 New function.
9802 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
9803 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
9804 Transformed into C. Made static.
9805 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
9806 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
9807 Transformed into C. Made static.
9808 * grub-core/kern/i386/ieee1275/init.c: Removed.
9809 * grub-core/kern/i386/misc.S: Likewise.
9810 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
9811 Splitted from here ...
9812 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
9813 Transformed into C. Made static. All users updated.
9814 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
9815 Transformed into C. Made static. All users updated.
9816 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
9817 Moved from here...
9818 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
9819 Transformed into C. Made static. All users updated.
9820 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
9821 Moved from here...
9822 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
9823 Transformed into C. Made static. All users updated.
9824 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
9825 Removed (replaced by C version).
9826 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
9827 Moved from here...
9828 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
9829 Transformed into C. Made static.
9830 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
9831 Moved from here...
9832 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
9833 ... here. Transformed into C.
9834 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
9835 Moved from here...
9836 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
9837 ... here. Transformed into C.
9838 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
9839 Moved from here...
9840 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
9841 ... here. Transformed into C. Made static.
9842 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
9843 Moved from here...
9844 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
9845 ... here. Transformed into C.
9846 * grub-core/kern/i386/pc/startup.S
9847 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
9848 * grub-core/video/i386/pc/vbe.c
9849 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9850 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
9851 Moved from here...
9852 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
9853 ... here. Transformed into C.
9854 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
9855 Moved from here...
9856 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
9857 ... here. Transformed into C.
9858 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
9859 Moved from here...
9860 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
9861 ... here. Transformed into C.
9862 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
9863 Moved from here...
9864 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
9865 ... here. Transformed into C.
9866 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
9867 Moved from here...
9868 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
9869 ... here. Transformed into C. Made static.
9870 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
9871 Moved from here...
9872 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
9873 ... here. Transformed into C. Made static.
9874 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
9875 Moved from here...
9876 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
9877 ... here. Transformed into C. Made static.
9878 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
9879 pxe_rm_entry as third argument.
9880 (grub_bios_interrupt): New function.
9881 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
9882 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
9883 of calling grub_stop.
9884 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
9885 * grub-core/lib/efi/halt.c (grub_halt): ...here.
9886 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
9887 * grub-core/lib/emu/halt.c (grub_halt): ... here.
9888 * grub-core/lib/i386/halt.c: Moved from here ...
9889 * grub-core/lib/i386/halt.c: ... here.
9890 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
9891 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
9892 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
9893 grub_stop_floppy.
9894 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
9895 * include/grub/i386/coreboot/init.h: Removed.
9896 * include/grub/i386/multiboot/init.h: Likewise.
9897 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
9898 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
9899 * include/grub/i386/pc/int.h: New file.
9900 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
9901 (grub_pxe_scan): Removed.
9902 (grub_pxe_call): Update prototype.
9903 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
9904 prototypes.
9905 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
9906 * include/grub/i386/qemu/init.h: Removed.
9907 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
9908 noreturn.
9909 (grub_halt): Likewise.
9910 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
9911 (grub_reboot): Likewise.
9912 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
9913 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
9914 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
9915
9916 2010-08-30 Robert Millan <rmh@gnu.org>
9917
9918 * NEWS: Document addition of ZFS support in `grub-install' and
9919 `grub-mkconfig'.
9920
9921 2010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
9922
9923 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
9924 dprintf output.
9925
9926 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9927
9928 Remove leftover embedding of font objects.
9929
9930 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9931 * util/grub-install.in (font): Removed.
9932 * util/grub-mkimage.c (generate_image): Remove font support. All users
9933 updated.
9934
9935 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9936
9937 Remove leftover embedding of font objects.
9938
9939 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9940 * util/grub-install.in (font): Removed.
9941 * util/grub-mkimage.c (generate_image): Remove font support. All users
9942 updated.
9943
9944 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9945
9946 * docs/grub.texi (Network): Fix reference to pxe_blksize.
9947 Reported by: Ian Turner
9948
9949 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9950
9951 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
9952 timeout to avoid indefinite boot stalling.
9953
9954 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9955
9956 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
9957 (grub_env_write_color_highlight): Likewise.
9958
9959 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9960
9961 * grub-core/normal/term.c (print_more): Return to normal and not
9962 to standard state after printing "---MORE---".
9963
9964 2010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9965
9966 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
9967 Mask out the bit 0x80 since it has other meaning that specifiing color.
9968
9969 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9970
9971 New relocator. Allows for more kernel support and more straightforward
9972 loader writing.
9973
9974 * Makefile.am (BOOTTARGET): New variable.
9975 (QEMU32): Likewise.
9976 (linux.init.x86_64): New target.
9977 (linux.init.i386): Likewise.
9978 (multiboot.elf): Likewise.
9979 (kfreebsd.elf): Likewise.
9980 (kfreebsd.aout): Likewise.
9981 (pc-chainloader.elf): Likewise.
9982 (pc-chainloader.bin): Likewise.
9983 (ntldr.elf): Likewise.
9984 (ntldr.bin): Likewise.
9985 (multiboot2.elf): Likewise.
9986 (kfreebsd.init.x86_64): Likewise.
9987 (kfreebsd.init.i386): Likewise.
9988 (knetbsd.init.i386): Likewise.
9989 (kopenbsd.init.i386): Likewise.
9990 (knetbsd.init.x86_64): Likewise.
9991 (kopenbsd.init.x86_64): Likewise.
9992 (linux-initramfs.i386): Likewise.
9993 (linux-initramfs.x86_64): Likewise.
9994 (kfreebsd-mfsroot.i386.img): Likewise.
9995 (knetbsd.image.i386): Likewise.
9996 (kopenbsd.image.i386): Likewise.
9997 (kopenbsd.image.x86_64): Likewise.
9998 (knetbsd.miniroot-image.i386.img): Likewise.
9999 (kfreebsd-mfsroot.x86_64.img): Likewise.
10000 (knetbsd.image.x86_64): Likewise.
10001 (knetbsd.miniroot-image.x86_64.img): Likewise.
10002 (kfreebsd-mfsroot.i386.gz): Likewise.
10003 (bootcheck-kfreebsd-i386): Likewise.
10004 (kfreebsd-mfsroot.x86_64.gz): Likewise.
10005 (bootcheck-kfreebsd-x86_64): Likewise.
10006 (knetbsd.miniroot-image.i386.gz): Likewise.
10007 (bootcheck-knetbsd-i386): Likewise.
10008 (bootcheck-kopenbsd-i386): Likewise.
10009 (bootcheck-kopenbsd-x86_64): Likewise.
10010 (knetbsd.miniroot-image.x86_64.gz): Likewise.
10011 (bootcheck-knetbsd-x86_64): Likewise.
10012 (bootcheck-linux-i386): Likewise.
10013 (bootcheck-linux-x86_64): Likewise.
10014 (bootcheck-linux16-i386): Likewise.
10015 (bootcheck-linux16-x86_64): Likewise.
10016 (bootcheck-multiboot): Likewise.
10017 (bootcheck-multiboot2): Likewise.
10018 (bootcheck-kfreebsd-aout): Likewise.
10019 (bootcheck-pc-chainloader): Likewise.
10020 (bootcheck-ntldr): Likewise.
10021 (CLEANFILES): Add new targets.
10022 (BOOTCHECKS): New variable.
10023 (.PHONY): Add bootchecks.
10024 (SUCCESSFUL_BOOT_STRING): New variable.
10025 (BOOTCHECK_TIMEOUT): Likewise.
10026 (bootcheck): New target
10027 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
10028 * configure.ac: Correct efiemu excuse.
10029 * docs/grub.texi (Supported kernels): New chapter.
10030 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
10031 include/grub/mm_private.h. Simplify inclusion of
10032 include/grub/boot.h, include/grub/loader.h
10033 and include/grub/msdos_partition.h
10034 (KERNEL_HEADER_FILES) [i386_coreboot]:
10035 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
10036 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
10037 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
10038 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
10039 include/grub/machine/loader.h.
10040 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
10041 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
10042 extra_dist.
10043 (pci.mod): Enable on i386-multiboot.
10044 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
10045 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
10046 i386-qemu.
10047 (relocator.mod): Rewritten.
10048 (aout.mod): Enable on all x86.
10049 (bsd.mod): Likewise.
10050 (ntldr.mod): New module.
10051 (linux.mod): Use loader/i386/linux.c on all x86.
10052 (xnu.mod): Enable on all x86.
10053 (vga_text.mod): disable on EFI and QEMU.
10054 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10055 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10056 * grub-core/efiemu/loadcore.c: Likewise.
10057 * grub-core/efiemu/main.c: Likewise.
10058 (grub_efiemu_exit_boot_services): Removed.
10059 (grub_efiemu_finish_boot_services): Likewise.
10060 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10061 function.
10062 * grub-core/efiemu/i386/nocfgtables.c: New file.
10063 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10064 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10065 (grub_efi_finish_boot_services): Moved from here ...
10066 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10067 Fille finish memory map and related data.
10068 (finish_mmap_buf): New variable.
10069 (grub_efi_uintn_t finish_mmap_size): Likewise.
10070 (grub_efi_uintn_t finish_key): Likewise.
10071 (grub_efi_uintn_t finish_desc_size): Likewise.
10072 (grub_efi_uint32_t finish_desc_version): Likewise.
10073 (grub_efi_is_finished): Likewise.
10074 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10075 finished.
10076 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10077 (grub_elf64_phdr_iterate): Likewise.
10078 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10079 (grub_os_area_size): Likewise.
10080 (grub_machine_init): Don't reserve os area.
10081 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10082 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10083 * grub-core/kern/i386/loader.S: Removed.
10084 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10085 (grub_os_area_size): Likewise.
10086 (grub_machine_init): Don't reserve os area.
10087 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10088 Don't call grub_dl_unload_all.
10089 Don't include loader.S.
10090 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10091 Declare the memory after _end as available.
10092 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
10093 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
10094 (GRUB_MM_ALLOC_MAGIC): Moved from here...
10095 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10096 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10097 * include/grub/mm_private.h (grub_mm_header): ... here.
10098 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10099 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
10100 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10101 (grub_mm_region): ..here. Removed addr. Added pre_size.
10102 All users updated.
10103 * grub-core/kern/mm.c (base): Renamed to ...
10104 (grub_mm_base): ... this. Made global.
10105 (grub_real_malloc): Alloc from end of region.
10106 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10107 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10108 * grub-core/kern/powerpc/cache_flush.S: ... here.
10109 * grub-core/lib/efi/relocator.c: New file.
10110 * grub-core/lib/i386/relocator.c: Rewritten.
10111 * grub-core/lib/i386/relocator16.S: New file.
10112 * grub-core/lib/i386/relocator32.S: Likewise.
10113 * grub-core/lib/i386/relocator64.S: Likewise.
10114 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10115 * grub-core/lib/i386/relocator_common.S: New file.
10116 * grub-core/lib/ieee1275/relocator.c: Likewise.
10117 * grub-core/lib/mips/relocator.c: Rewritten.
10118 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10119 stylistic adjustments.
10120 * grub-core/lib/powerpc/relocator.c: New file.
10121 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10122 * grub-core/lib/relocator.c: Rewritten.
10123 * grub-core/lib/x86_64/relocator_asm.S: New file.
10124 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10125 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10126 (bsd_tag): New struct.
10127 (tags): New variable.
10128 (tags_last): Likewise.
10129 (netbsd_module): New struct.
10130 (netbsd_mods): New variable.
10131 (netbsd_mods_last): Likewise.
10132 (openbsd_opts): New parameter "serial".
10133 (OPENBSD_SERIAL_ARG): New definition.
10134 (netbsd_opts): New parameter "serial".
10135 (NETBSD_SERIAL_ARG): New definition.
10136 (grub_freebsd_add_meta): Reorganised into ...
10137 (grub_bsd_add_meta): ...this. All users updated.
10138 (grub_freebsd_add_mmap): Reorganised into ...
10139 (generate_e820_mmap): ...this...
10140 (grub_bsd_add_mmap): ...and this. All users updated.
10141 (grub_freebsd_list_modules): Use tags.
10142 (grub_netbsd_add_meta_module): New function.
10143 (grub_netbsd_list_modules): Likewise.
10144 (grub_freebsd_boot): Use relocator and finish EFI.
10145 (grub_openbsd_boot): Likewise.
10146 (grub_netbsd_setup_video): New function.
10147 (grub_netbsd_add_modules): Likewise.
10148 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10149 and finish EFI.
10150 (grub_bsd_unload): Unload tags.
10151 (grub_bsd_load_aout): Use relocator.
10152 (grub_bsd_elf32_size_hook): New function.
10153 (grub_bsd_elf32_hook): Use relocator.
10154 (grub_bsd_elf64_size_hook): New function.
10155 (grub_bsd_elf64_hook): Use relocator.
10156 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10157 (grub_bsd_load): Zero-out openbsd_ramdisk.
10158 (grub_bsd_load): Use relocator.
10159 (grub_cmd_openbsd): Support serial.
10160 (grub_cmd_netbsd): Support modules.
10161 (grub_cmd_freebsd_module): Use relocator.
10162 (grub_netbsd_module_load): New function.
10163 (grub_cmd_netbsd_module): Likewise.
10164 (grub_cmd_openbsd_ramdisk): Likewise.
10165 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10166 kopenbsd_ramdisk.
10167 (GRUB_MOD_FINI): Unregister new commands.
10168 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10169 (grub_freebsd_load_elfmodule_obj): Use relocator.
10170 (grub_freebsd_load_elfmodule): Likewise.
10171 (grub_freebsd_load_elf_meta): Likewise.
10172 (grub_netbsd_load_elf_meta): New function.
10173 (grub_openbsd_find_ramdisk): Likewise.
10174 * grub-core/loader/i386/bsd_helper.S: Removed.
10175 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10176 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10177 * grub-core/loader/i386/efi/linux.c: Likewise.
10178 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10179 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10180 (DEFAULT_VIDEO_MODE): Likewise.
10181 (real_mode_target): New variable.
10182 (prot_mode_target): Likewise.
10183 (initrd_mem_target): Likewise.
10184 (relocator): Likewise.
10185 (efi_mmap_buf): Likewise.
10186 (efi_mmap_size): Likewise.
10187 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10188 (free_pages): Use relocator.
10189 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10190 (grub_linux_setup_video): Return error.
10191 (grub_linux_trampoline_start): Removed.
10192 (grub_linux_trampoline_end): Likewise.
10193 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10194 andd video parameters depending on firmware.
10195 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10196 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10197 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10198 (grub_cmd_initrd): Use relocator.
10199 * grub-core/loader/i386/linux_trampoline.S: Removed.
10200 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10201 (elf_sec_entsize): Likewise.
10202 (elf_sec_shstrndx): Likewise.
10203 (elf_sections): Likewise.
10204 (grub_multiboot_load): Use relocator.
10205 (grub_multiboot_get_mbi_size): Account for sections.
10206 (grub_multiboot_make_mbi): Use relocator and support sections.
10207 (grub_multiboot_add_elfsyms): New function.
10208 (grub_multiboot_free_mbi): Free sections.
10209 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10210 (grub_linux_real_target): Likewise.
10211 (grub_linux_real_chunk): Likewise.
10212 (grub_linux16_prot_size): Likewise.
10213 (grub_linux16_boot): Use relocator.
10214 (grub_linux_unload): Unload relocator.
10215 (grub_cmd_linux): Use relocator.
10216 (grub_cmd_initrd): Likewise.
10217 * grub-core/loader/i386/pc/ntldr.c: New file.
10218 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10219 Don't try to guess CPU frequency.
10220 (grub_xnu_set_video): Stretch bitmap.
10221 (grub_xnu_boot): Use relocator.
10222 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10223 (grub_linux_unload): Free relocator.
10224 (grub_linux_load32): Use relocator.
10225 (grub_linux_load64): Likewise.
10226 (grub_cmd_initrd): Likewise.
10227 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10228 (grub_multiboot_unload): Unload relocator.
10229 (grub_cmd_multiboot): Use relocator.
10230 (grub_cmd_module): Likewise.
10231 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10232 Use relocator and support sections.
10233 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10234 (elf_sec_entsize): Likewise.
10235 (elf_sec_shstrndx): Likewise.
10236 (elf_sections): Likewise.
10237 (grub_multiboot_load): Use relocator.
10238 (grub_multiboot_get_mbi_size): Account for sections.
10239 (grub_multiboot_make_mbi): Use relocator and support sections.
10240 (grub_multiboot_add_elfsyms): New function.
10241 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10242 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10243 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10244 Prototype changed. All users updated.
10245 (grub_xnu_align_heap): Simplified.
10246 (grub_xnu_writetree_toheap): Likewise.
10247 (grub_xnu_unload): Unload relocator.
10248 (grub_cmd_xnu_kernel): Use relocator.
10249 (grub_cmd_xnu_kernel64): Likewise.
10250 (grub_xnu_register_memory): Simplified.
10251 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
10252 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10253 EFI is finished.
10254 (grub_console_checkkey): Likewise.
10255 (grub_console_getkey): Likewise.
10256 (grub_console_getwh): Likewise.
10257 (grub_console_getxy): Likewise.
10258 (grub_console_gotoxy): Likewise.
10259 (grub_console_cls): Likewise.
10260 (grub_console_setcolorstate): Likewise.
10261 (grub_console_setcursor): Likewise.
10262 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10263 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10264 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10265 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10266 * grub-core/tests/boot/kernel-8086.S: Likewise.
10267 * grub-core/tests/boot/kernel-i386.S: Likewise.
10268 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10269 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10270 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10271 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10272 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10273 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10274 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10275 * grub-core/tests/boot/linux.cfg: Likewise.
10276 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10277 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10278 * grub-core/tests/boot/linux16.cfg: Likewise.
10279 * grub-core/tests/boot/multiboot.cfg: Likewise.
10280 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10281 * grub-core/tests/boot/ntldr.cfg: Likewise.
10282 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10283 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10284 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10285 New definition.
10286 * include/grub/dl.h (grub_dl_unload_all): Removed.
10287 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10288 (grub_efi_finish_boot_services): Change prototype.
10289 (grub_efi_is_finished): New variable.
10290 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10291 Changed prototype.
10292 (grub_efiemu_finish_boot_services): Removed.
10293 (grub_machine_efiemu_init_tables): New prototype.
10294 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10295 (grub_elf64_phdr_iterate): Likewise.
10296 * include/grub/i386/bsd.h: Include relocator.h.
10297 (freebsd_tag_header): New struct.
10298 (grub_openbsd_bios_mmap): Removed.
10299 (grub_unix_real_boot): Removed.
10300 (grub_freebsd_load_elfmodule32): Changed prototype.
10301 (grub_freebsd_load_elfmodule_obj64): Likewise.
10302 (grub_freebsd_load_elf_meta32): Likewise.
10303 (grub_freebsd_load_elf_meta64): Likewise.
10304 (grub_freebsd_add_meta): Removed.
10305 (grub_netbsd_load_elf_meta32): New prototype.
10306 (grub_netbsd_load_elf_meta64): Likewise.
10307 (grub_bsd_add_meta): Likewise.
10308 (grub_openbsd_ramdisk_descriptor): New struct.
10309 (grub_openbsd_find_ramdisk32): New prototype.
10310 (grub_openbsd_find_ramdisk64): Likewise.
10311 * include/grub/i386/coreboot/loader.h: Removed.
10312 * include/grub/i386/efi/loader.h: Likewise.
10313 * include/grub/i386/ieee1275/loader.h: Likewise.
10314 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10315 to grub_uint32_t.
10316 * include/grub/i386/loader.h: Removed.
10317 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10318 value.
10319 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10320 (grub_phys_addr_t): New type.
10321 (grub_vtop): New inline function.
10322 (grub_map_memory): Likewise.
10323 (grub_unmap_memory): Likewise.
10324 * include/grub/i386/multiboot/loader.h: Removed.
10325 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10326 (NETBSD_BTINFO_CONSOLE): New definition.
10327 (NETBSD_BTINFO_SYMTAB): Likewise.
10328 (NETBSD_BTINFO_MODULES): Likewise.
10329 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10330 (grub_netbsd_bootinfo): New struct.
10331 (grub_netbsd_btinfo_common): Use explicit bitsize.
10332 (grub_netbsd_btinfo_mmap_entry): Removed.
10333 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10334 (grub_netbsd_btinfo_bootdisk): New struct.
10335 (grub_netbsd_btinfo_symtab): Likewise.
10336 (grub_netbsd_btinfo_serial): Likewise.
10337 (grub_netbsd_btinfo_modules): Likewise.
10338 (grub_netbsd_btinfo_framebuf): Likewise.
10339 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10340 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10341 Likewise.
10342 (grub_openbsd_bootargs): Use explicit bitsize.
10343 (grub_openbsd_bootarg_console): New struct.
10344 (GRUB_OPENBSD_COM_MAJOR): New definition.
10345 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10346 * include/grub/i386/pc/efiemu.h: Removed.
10347 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10348 * include/grub/i386/qemu/loader.h: Removed.
10349 * include/grub/i386/relocator.h: Rewritten.
10350 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10351 * include/grub/mips/memory.h: New file.
10352 * include/grub/mips/multiboot.h: Rewritten.
10353 * include/grub/mips/relocator.h: Rewritten.
10354 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10355 (grub_vtop): New function.
10356 (grub_map_memory): Likewise.
10357 (grub_unmap_memory): Likewise.
10358 * include/grub/misc.h (ALIGN_DOWN): New definition.
10359 * include/grub/mm.h (grub_mm_check_real): New proto.
10360 (GRUB_MM_CHECK): New definition.
10361 * include/grub/mm_private.h: New file.
10362 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10363 (grub_multiboot_get_mbi_size): Removed.
10364 (grub_multiboot_make_mbi): Change prottype.
10365 (grub_multiboot_set_accepts_video): New proto.
10366 (grub_multiboot_add_elfsyms): Likewise.
10367 (grub_multiboot_payload_eip): New variable.
10368 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10369 New prototype.
10370 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10371 New definition.
10372 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10373 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10374 * include/grub/powerpc/ieee1275/loader.h: Removed.
10375 * include/grub/powerpc/memory.h: New file.
10376 * include/grub/powerpc/relocator.h: Likewise.
10377 * include/grub/relocator.h: Likewise.
10378 * include/grub/relocator_private.h: Likewise.
10379 * include/grub/sparc64/ieee1275/loader.h: Removed.
10380 * include/grub/x86_64/memory.h: New file.
10381 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10382 (grub_xnu_heap_malloc): Likewise.
10383 (grub_xnu_heap_real_start): Removed.
10384 (grub_xnu_heap_start): Likewise.
10385 (grub_xnu_relocator): New variable.
10386 (grub_xnu_heap_target_start): Likewise.
10387 * tests/util/grub-shell.in: Support non-pc.
10388 * util/grub-mkimage.c (image_targets): Fix multiboot target.
10389
10390 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10391
10392 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10393 on malloc error.
10394 (grub_bidi_logical_to_visual): Check that malloc succeded.
10395 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10396 puts.
10397 (grub_xputs_normal): Likewise.
10398
10399 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10400
10401 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10402 extra_dist.
10403
10404 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10405
10406 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10407
10408 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10411
10412 2010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10413
10414 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10415 dprintf.
10416
10417 2010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10418
10419 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10420
10421 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10422
10423 * grub-core/normal/term.c (print_more): Fix a memory leak.
10424 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10425 (grub_xputs_normal): Likewise.
10426
10427 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10428
10429 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10430 the begining of the string
10431
10432 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 * grub-core/script/script.c (grub_script_parse): Free parsed on
10435 failure.
10436
10437 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10438
10439 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10440 on failure.
10441
10442 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10443
10444 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10445 return.
10446
10447 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10448
10449 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10450 (scroll_up): Fix a memory leak.
10451
10452 2010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10453
10454 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10455 errors.
10456
10457 2010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10458
10459 Handle USB pendrives exposed as floppies.
10460
10461 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10462 floppy.
10463 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10464 Check for partitions on all devices.
10465
10466 2010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10467
10468 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10469 (readkey): Likewise.
10470
10471 2010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10472
10473 Multiple variable names support to "export" command.
10474
10475 * normal/context.c (grub_cmd_export): "export" command supports
10476 multiple variable names.
10477
10478 2010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10479
10480 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10481 --target=drive output to Mach device name.
10482
10483 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10484
10485 New Automake based build system for GRUB.
10486
10487 * ABOUT-NLS: New file.
10488 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10489 in Makefile.util.def file.
10490 * Makefile.util.def: New file. Autogen build definitions file for
10491 GRUB host utils.
10492 * conf/Makefile.common: New file. Common variables for GRUB host
10493 utils and target modules.
10494 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10495 * docs/Makefile.am: New file. Automake file for docs.
10496 * gentpl.py: New file. Python script to generate Autogen
10497 template.
10498 * grub-core/Makefile.am: New file. GRUB target modules' rules
10499 that doesn't fit in Makefile.core.def file.
10500 * grub-core/Makefile.core.def: New file. Autogen build
10501 definitions file for GRUB target modules.
10502 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10503 specific setjmp.S file.
10504 * po/Makefile.am: New file.
10505
10506 * .bzrignore: New ignores.
10507 * INSTALL: New requirements, without Ruby.
10508 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10509 * autogen.sh: Updated to invoke autogen as necessary.
10510 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10511 and defines for Automake conditionals.
10512 * geninit.sh: Refactoring.
10513
10514 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10515 necessary.
10516 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10517 New prototype.
10518
10519 * include/grub/test.h: Fix functional test modules' naming.
10520 * grub-core/tests/example_functional_test.c: Fix test module name.
10521
10522 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10523 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10524 * util/grub-editenv.c: Likewise.
10525 * util/grub-fstest.c: Likewise.
10526 * util/grub-mkdevicemap.c: Likewise.
10527 * util/grub-mkfont.c: Likewise.
10528 * util/grub-mkimage.c: Likewise.
10529 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10530 * util/grub-probe.c: Likewise.
10531 * util/grub-script-check.c: Likewise.
10532 * util/i386/pc/grub-setup.c: Likewise.
10533 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10534
10535 * tests/util/grub-shell.in: Fix override directory path.
10536 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10537 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10538
10539 * util/lvm.c: Update #includes.
10540 * util/raid.c: Likewise.
10541 * util/resolve.c: Likewise.
10542 * grub-core/bus/emu/pci.c: Likewise.
10543 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10544 * grub-core/lib/posix_wrap/string.h: Likewise.
10545 * grub-core/kern/emu/main.c: Likewise.
10546
10547 * grub-core/gensymlist.sh: New file. Script for generating kernel
10548 symbols file.
10549 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10550
10551 * grub-core/gentrigtables.c: Fix unused variable warnings.
10552
10553 * Makefile.in: Removed.
10554 * conf/any-emu.rmk: Removed.
10555 * conf/common.rmk: Removed.
10556 * conf/i386-coreboot.rmk: Removed.
10557 * conf/i386-efi.rmk: Removed.
10558 * conf/i386-ieee1275.rmk: Removed.
10559 * conf/i386-multiboot.rmk: Removed.
10560 * conf/i386-pc.rmk: Removed.
10561 * conf/i386-qemu.rmk: Removed.
10562 * conf/i386.rmk: Removed.
10563 * conf/mips-yeeloong.rmk: Removed.
10564 * conf/mips.rmk: Removed.
10565 * conf/powerpc-ieee1275.rmk: Removed.
10566 * conf/sparc64-ieee1275.rmk: Removed.
10567 * conf/tests.rmk: Removed.
10568 * conf/x86-efi.rmk: Removed.
10569 * conf/x86_64-efi.rmk: Removed.
10570 * gendistlist.sh: Removed.
10571 * geninitheader.sh: Removed.
10572 * genkernsyms.sh.in: Removed.
10573 * genmk.rb: Removed.
10574 * gensymlist.sh.in: Removed.
10575 * mkinstalldirs: Removed.
10576 * boot: Moved ...
10577 * grub-core/boot: ... to here.
10578 * bus: Moved ...
10579 * grub-core/bus: ... to here.
10580 * commands: Moved ...
10581 * grub-core/commands: ... to here.
10582 * disk: Moved ...
10583 * grub-core/disk: ... to here.
10584 * efiemu: Moved ...
10585 * grub-core/efiemu: ... to here.
10586 * font: Moved ...
10587 * grub-core/font: ... to here.
10588 * fs: Moved ...
10589 * grub-core/fs: ... to here.
10590 * gencmdlist.sh: Moved ...
10591 * grub-core/gencmdlist.sh: ... to here.
10592 * genemuinit.sh: Moved ...
10593 * grub-core/genemuinit.sh: ... to here.
10594 * genemuinitheader.sh: Moved ...
10595 * grub-core/genemuinitheader.sh: ... to here.
10596 * genfslist.sh: Moved ...
10597 * grub-core/genfslist.sh: ... to here.
10598 * genhandlerlist.sh: Moved ...
10599 * grub-core/genhandlerlist.sh: ... to here.
10600 * genmoddep.awk: Moved ...
10601 * grub-core/genmoddep.awk: ... to here.
10602 * genmodsrc.sh: Moved ...
10603 * grub-core/genmodsrc.sh: ... to here.
10604 * genpartmaplist.sh: Moved ...
10605 * grub-core/genpartmaplist.sh: ... to here.
10606 * genparttoollist.sh: Moved ...
10607 * grub-core/genparttoollist.sh: ... to here.
10608 * genterminallist.sh: Moved ...
10609 * grub-core/genterminallist.sh: ... to here.
10610 * gentrigtables.c: Moved ...
10611 * grub-core/gentrigtables.c: ... to here.
10612 * genvideolist.sh: Moved ...
10613 * grub-core/genvideolist.sh: ... to here.
10614 * gettext: Moved ...
10615 * grub-core/gettext: ... to here.
10616 * gfxmenu: Moved ...
10617 * grub-core/gfxmenu: ... to here.
10618 * gnulib: Moved ...
10619 * grub-core/gnulib: ... to here.
10620 * hello: Moved ...
10621 * grub-core/hello: ... to here.
10622 * hook: Moved ...
10623 * grub-core/hook: ... to here.
10624 * io: Moved ...
10625 * grub-core/io: ... to here.
10626 * kern: Moved ...
10627 * grub-core/kern: ... to here.
10628 * lib: Moved ...
10629 * grub-core/lib: ... to here.
10630 * loader: Moved ...
10631 * grub-core/loader: ... to here.
10632 * mmap: Moved ...
10633 * grub-core/mmap: ... to here.
10634 * normal: Moved ...
10635 * grub-core/normal: ... to here.
10636 * partmap: Moved ...
10637 * grub-core/partmap: ... to here.
10638 * parttool: Moved ...
10639 * grub-core/parttool: ... to here.
10640 * script: Moved ...
10641 * grub-core/script: ... to here.
10642 * term: Moved ...
10643 * grub-core/term: ... to here
10644 * tests/example_functional_test.c: Moved ...
10645 * grub-core/tests/example_functional_test.c: ... to here.
10646 * tests/lib/functional_test.c: Moved ...
10647 * grub-core/tests/lib/functional_test.c: ... to here.
10648 * tests/lib/test.c: Moved ...
10649 * grub-core/tests/lib/test.c: ... to here.
10650 * video: Moved ...
10651 * grub-core/video: ... to here.
10652
10653 2010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10654
10655 Replace --enable-grub-emu-modules with grub-emu-lite.
10656
10657 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10658 cache.S.
10659
10660 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10661 * kern/emu/full.c: New file. For grub-emu specific initialization.
10662 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10663 * kern/emu/main.c: Call initialization function grub_emu_init.
10664
10665 * Makefile.in: Include grub-emu-lite in install.
10666 * commands/parttool.c: Use grub_no_autoload to differentiate
10667 between grub-emu and grub-emu-lite.
10668 * include/grub/misc.h: New variable grub_no_autoload.
10669
10670 * conf/any-emu.rmk: New rules for grub-emu-lite.
10671 * configure.ac: Remove --enable-grub-emu-modules.
10672 * genmk.rb: Cleanup unnecessary rules.
10673 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10674
10675 * normal/main.c: Don't load list files on grub-emu-lite.
10676 * util/misc.c (grub_arch_sync_caches): Removed.
10677
10678 2010-08-23 Colin Watson <cjwatson@ubuntu.com>
10679
10680 * kern/mips/startup.S (grub_prefix): Update comment to refer to
10681 grub-mkimage rather than grub-mkelfimage.
10682 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10683
10684 2010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
10687 a key after CapsLock or NumLock. It's just a qemu bug.
10688
10689 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
10692 needed by libusb wrapper.
10693
10694 2010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10695
10696 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
10697
10698 2010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10699
10700 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
10701 --nounzip is passed.
10702
10703 2010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 USB hotunplugging and USB serial support.
10706
10707 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
10708 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
10709 (grub_uhci_transfer): Respect timeout and set *actual.
10710 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
10711 non-standard length.
10712 (grub_usb_device_attach): Autoload modules.
10713 (GRUB_MOD_INIT): Set grub_term_poll_usb.
10714 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
10715 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
10716 users updated.
10717 (grub_usb_add_hub): Fill nports and children.
10718 (attach_root_port): Receive hub instead of controller.
10719 All users updated. Fill hub->devices.
10720 (grub_usb_root_hub): Allocate hub->devices.
10721 (detach_device): New function.
10722 (poll_nonroot_hub): Fill children and detach devices.
10723 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
10724 actual arguments. All users updated.
10725 (grub_usb_bulk_read_extended): New function.
10726 * bus/usb/serial/common.c: New file.
10727 * bus/usb/serial/ftdi.c: Likewise.
10728 * bus/usb/serial/pl2303.c: Likewise.
10729 * commands/terminal.c (handle_command): Support wildcard.
10730 * commands/usbtest.c: Output "Unknown" instead of empty string.
10731 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
10732 (usbserial_common_mod_SOURCES): New variable.
10733 (usbserial_common_mod_CFLAGS): Likewise.
10734 (usbserial_common_mod_LDFLAGS): Likewise.
10735 (pkglib_MODULES): Add usbserial_pl2303.mod.
10736 (usbserial_pl2303_mod_SOURCES): New variable.
10737 (usbserial_pl2303_mod_CFLAGS): Likewise.
10738 (usbserial_pl2303_mod_LDFLAGS): Likewise.
10739 (pkglib_MODULES): Add usbserial_ftdi.mod.
10740 (usbserial_ftdi_mod_SOURCES): New variable.
10741 (usbserial_ftdi_mod_CFLAGS): Likewise.
10742 (usbserial_ftdi_mod_LDFLAGS): Likewise.
10743 (pkglib_MODULES): Add serial.mod.
10744 (serial_mod_SOURCES): New variable.
10745 (serial_mod_CFLAGS): Likewise.
10746 (serial_mod_LDFLAGS): Likewise.
10747 * conf/i386-pc.rmk: Likewise.
10748 * conf/mips-yeeloong.rmk: Likewise.
10749 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
10750 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10751 * disk/usbms.c (first_available_slot): New variable.
10752 (grub_usbms_attach): Don't reuse free slots due to potential cache
10753 problems.
10754 * include/grub/serial.h: Moved to ..
10755 * include/grub/ns8250.h: ...this.
10756 * include/grub/serial.h: New file.
10757 * include/grub/term.h (grub_term_poll_usb): New variable.
10758 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
10759 readkey. All users updated.
10760 (grub_terminfo_output_state): Pass term to put.
10761 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
10762 (grub_usb_controller_dev): Add timeout and actual arguments to
10763 transfer. All users updated.
10764 (grub_usb_interface): New field detach_data.
10765 (grub_usb_device): New fields children and nports.
10766 (grub_usb_ep_type_t): New type.
10767 (grub_usb_get_ep_type): New function.
10768 (grub_usb_bulk_read_extended): Likewise.
10769 * include/grub/usbdesc.h (grub_usb_desc): New type.
10770 * include/grub/usbserial.h: New file.
10771 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
10772 * kern/term.c (grub_term_poll_usb): New variable.
10773 (grub_getkey): Call grub_term_poll_usb if set.
10774 (grub_checkkey): Likewise.
10775 (grub_getkeystatus): Likewise.
10776 * term/serial.c: Moved controller-specific parts to ...
10777 * term/ns8250.c: ... here.
10778 * term/serial.c: Mostly rewritten.
10779 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
10780 according to spec.
10781
10782 2010-08-20 Robert Millan <rmh@gnu.org>
10783
10784 Make kFreeBSD code more generic to support ext2fs as root, ufs as
10785 a separate module and maybe other interesting combinations.
10786
10787 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
10788 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
10789 (kfreebsd_entry): Add generic filesystem module load routine.
10790 Map GRUB `ext2' to kFreeBSD `ext2fs'.
10791
10792 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
10793
10794 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
10795 "numcenter" (I misunderstood the purpose of this entry).
10796 * docs/grub.texi (sendkey): Likewise.
10797
10798 2010-08-20 Colin Watson <cjwatson@ubuntu.com>
10799
10800 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
10801 status flag options; simply omitting the option is equivalent and
10802 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
10803 (keysym_table): Rename "num5numlock" to "numlock".
10804 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
10805 can uniformly say that only the last of multiple `sendkey'
10806 invocations has any effect.
10807 * docs/grub.texi (sendkey): New section.
10808
10809 2010-08-19 Colin Watson <cjwatson@ubuntu.com>
10810
10811 * commands/i386/pc/sendkey.c (options): Fix three typos.
10812
10813 2010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 Implement sendkey support.
10816
10817 * commands/i386/pc/sendkey.c: New file.
10818 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
10819 (sendkey_mod_SOURCES): New variable.
10820 (sendkey_mod_CFLAGS): Likewise.
10821 (sendkey_mod_LDFLAGS): Likewise.
10822
10823 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
10824
10825 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
10826 fix warnings from Autoconf.
10827
10828 2010-08-18 Colin Watson <cjwatson@ubuntu.com>
10829
10830 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
10831 to avoid false positives with some assemblers that output things
10832 like "someprefix_func" as part of their output.
10833
10834 2010-08-15 Robert Millan <rmh@gnu.org>
10835
10836 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
10837 errors.
10838 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
10839 grub_get_libzfs_handle() errors.
10840
10841 2010-08-14 Robert Millan <rmh@gnu.org>
10842
10843 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
10844 filesystem is not ZFS.
10845
10846 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10847
10848 Fix for misspelled color names defaulting to black/black (bug
10849 reported by Doug Nazar)
10850
10851 * include/grub/normal.h (grub_parse_color_name_pair): Add return
10852 status to prototype.
10853 * normal/color.c (grub_parse_color_name_pair): Return failure
10854 status.
10855 (grub_env_write_color_normal): Ignore bad color names.
10856 (grub_env_write_color_highlight): Likewise.
10857 * normal/main.c (GRUB_MOD_INIT): Set default color names.
10858
10859 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10860
10861 "shift" command support to GRUB script.
10862
10863 * include/grub/script_sh.h (grub_script_shift): New prototype.
10864 * script/execute.c (grub_script_shift): New function.
10865 * script/main.c (grub_script_init): Register shift command.
10866 (grub_script_fini): Unregister shift command.
10867 * util/grub-script-check.c (grub_script_cmd_shift): New function.
10868
10869 * tests/grub_script_shift.in: New testcase.
10870 * conf/tests.rmk: Rules for new testcase.
10871
10872 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10873
10874 "continue" command support to GRUB script.
10875
10876 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
10877 (grub_script_break): Continue support.
10878 * script/main.c (grub_script_init): Register continue command.
10879 (grub_script_fini): Unregister continue command.
10880
10881 * tests/grub_script_continue.in: New testcase.
10882 * conf/tests.rmk: Rules for new testcase.
10883
10884 2010-08-12 BVK Chaitanya <bvk@dbook>
10885
10886 "break" command support to GRUB script.
10887
10888 * conf/common.rmk: Rule updates to grub-script-check.
10889 * include/grub/misc.h (grub_min): New function.
10890 * include/grub/script_sh.h (grub_script_init): New prototype.
10891 (grub_script_fini): New prototype.
10892 (grub_script_break): New prototype.
10893 * script/main.c (grub_script_init): New function.
10894 (grub_script_fini): New function.
10895 * script/execute.c (grub_script_break): New function.
10896 * normal/main.c: Calls to grub_script_{init,fini}.
10897 * util/grub-script-check.c (grub_script_break): New function.
10898
10899 * tests/grub_script_break.in: New testcase.
10900 * conf/tests.rmk: Rules for new test case.
10901
10902 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10903
10904 Function parameters support to GRUB script.
10905
10906 * script/yylex.l (VARIABLE): Regular expression update.
10907 * script/function.c (grub_script_function_call): Moved ...
10908 * script/execute.c (grub_script_function_call): ... to here.
10909 (grub_script_execute_arglist_to_argv): Removed.
10910 (grub_script_arglist_to_argv): New function.
10911 * script/argv.c: New file.
10912 (grub_script_argv_free): New function.
10913 (grub_script_argv_next): Likewise.
10914 (grub_script_argv_append): Likewise.
10915 (grub_script_argv_split_append): Likewise.
10916 * include/grub/script_sh.h (grub_script_argv): New struct.
10917 (grub_script_argv_free): New function.
10918 (grub_script_argv_next): Likewise.
10919 (grub_script_argv_append): Likewise.
10920 (grub_script_argv_split_append): Likewise.
10921
10922 * conf/common.rmk (normal.mod): New source script/argv.c.
10923
10924 * tests/grub_script_echo1.in: More tests.
10925 * tests/grub_script_vars1.in: Likewise.
10926 * tests/grub_script_functions.in: New test case.
10927 * conf/tests.rmk: Rules for new testcase.
10928
10929 2010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10930
10931 Remove grub_script_cmdblock struct.
10932
10933 * include/grub/script_sh.h: Remove grub_script_cmdblock.
10934 * script/parser.y: Likewise.
10935 * script/execute.c: Rename cmdblock suffix to cmdlist.
10936 * script/script.c: Likewise.
10937 * util/grub-script-check.c: Likewise.
10938
10939 2010-08-11 Yves Blusseau <blusseau@zetam.org>
10940
10941 * .bzrignore: add grub-macho2img
10942
10943 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
10946
10947 2010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10948
10949 Remove the dump of sm712 initialisation sequence.
10950
10951 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
10952 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
10953 (GRUB_VGA_IO_MISC_WRITE): Likewise.
10954 (GRUB_VGA_CR_*): Added many registers.
10955 (GRUB_VGA_SR_*): Likewise.
10956 (GRUB_VGA_GR_*): Likewise.
10957 (grub_vga_write_arx): New function.
10958 (grub_video_hw_config): New struct.
10959 (grub_vga_set_geometry): New function.
10960 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
10961 GRUB_PCI_CLASS_SUBCLASS_VGA.
10962 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
10963 * video/sm712.c (grub_sm712_write_reg): New function
10964 (grub_sm712_read_reg): Likewise.
10965 (grub_sm712_sr_write): Likewise.
10966 (grub_sm712_gr_write): Likewise.
10967 (grub_sm712_cr_write): Likewise.
10968 (grub_sm712_write_arx): Likewise.
10969 (grub_sm712_cr_shadow_write): Likewise.
10970 (grub_sm712_write_dda_lookup): Likewise.
10971 (grub_video_sm712_setup): Initialise the video rather then
10972 blindly replay the dump.
10973 (main) [TEST]: Add a routine to be able to compile as standalone for
10974 tests.
10975 * video/sm712_init.c (sm712_init): Removed.
10976 (sm712_sr_seq1): New array.
10977 (sm712_sr_seq2): Likewise.
10978
10979 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10980
10981 * include/grub/vga.h: Add missing grub/pci.h include.
10982
10983 2010-08-10 Yves Blusseau <blusseau@zetam.org>
10984
10985 * util/grub-macho2img.c (main): fix typo
10986
10987 2010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10988
10989 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
10990 (grub_vga_gr_read): Likewise.
10991 (grub_vga_cr_write): Likewise.
10992 (grub_vga_cr_read): Likewise.
10993 (grub_vga_sr_write): Likewise.
10994 (grub_vga_sr_read): Likewise.
10995 (grub_vga_palette_read): Likewise.
10996 (grub_vga_palette_write): Likewise.
10997 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
10998 (grub_sm712_sr_read): New function.
10999 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
11000 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
11001
11002 2010-08-09 Robert Millan <rmh@gnu.org>
11003
11004 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
11005 out unused variables on non-ZFS build.
11006
11007 2010-08-08 Robert Millan <rmh@gnu.org>
11008
11009 Fix path generation for sub-filesystems in ZFS.
11010
11011 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
11012 missing slash.
11013
11014 2010-08-08 Robert Millan <rmh@gnu.org>
11015
11016 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
11017
11018 2010-08-08 Robert Millan <rmh@gnu.org>
11019
11020 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
11021 exist, issue a proper error message (rely on `ls' for translated
11022 strings).
11023
11024 2010-08-08 Robert Millan <rmh@gnu.org>
11025
11026 Fix grub-probe invocation.
11027
11028 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
11029
11030 2010-08-04 Robert Millan <rmh@gnu.org>
11031
11032 * configure.ac: Remove checks for getfsstat() and getmntany().
11033 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
11034 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
11035 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
11036 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
11037 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
11038 function.
11039 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
11040 via find_mount_point_from_dir() and getfsstat() / getmntany().
11041
11042 2010-08-04 Robert Millan <rmh@gnu.org>
11043
11044 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11045 (grub_find_zpool_from_mount_point): Merge into ...
11046 (grub_find_zpool_from_dir): ... this.
11047 * kern/emu/misc.c: Likewise.
11048
11049 * kern/emu/misc.c
11050 (grub_make_system_path_relative_to_its_root): Replace
11051 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11052 with grub_find_zpool_from_dir().
11053 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11054
11055 2010-08-04 Robert Millan <rmh@gnu.org>
11056
11057 Support OpenSolaris in ZFS device resolution.
11058
11059 * configure.ac: Check for getmntany().
11060 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11061 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11062 support.
11063
11064 2010-08-03 Robert Millan <rmh@gnu.org>
11065
11066 Fix grub-emu build.
11067
11068 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11069 * include/grub/emu/misc.h: ... here.
11070
11071 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11072 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11073
11074 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11075 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11076 (grub_get_libzfs_handle): Move to ...
11077 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11078 (grub_get_libzfs_handle): ... here.
11079
11080 2010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11081
11082 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11083 as command name case.
11084
11085 2010-08-02 Colin Watson <cjwatson@ubuntu.com>
11086
11087 * disk/raid.c (insert_array): Select unique numbers for named arrays
11088 as well, for use as keys in the disk cache.
11089
11090 2010-08-01 Robert Millan <rmh@gnu.org>
11091
11092 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11093 kFreeBSD device name, except on ZFS where the filesystem label is
11094 used.
11095 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11096 `/boot/zfs/zpool.cache'.
11097 Set mountfrom kernel variable using ${kfreebsd_device}.
11098
11099 2010-08-01 Robert Millan <rmh@gnu.org>
11100
11101 Make it even harder to use uninitialized `libzfs_handle' (and
11102 make the interface a bit simpler).
11103
11104 * include/grub/util/misc.h (grub_util_init_libzfs)
11105 (libzfs_handle): Remove.
11106 (grub_get_libzfs_handle): New prototype.
11107
11108 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11109 attribute.
11110 (grub_util_init_libzfs): Remove.
11111 (grub_get_libzfs_handle): New function.
11112
11113 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11114 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11115 accessing `libzfs_handle' directly.
11116
11117 2010-08-01 Robert Millan <rmh@gnu.org>
11118
11119 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11120 (grub_find_zpool_from_mount_point): New function prototypes.
11121
11122 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11123 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11124
11125 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11126 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11127 `static' attribute.
11128
11129 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11130 finding zpool from mount point into ...
11131 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11132
11133 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11134 requested path is part of a ZFS pool, use
11135 grub_find_zpool_from_mount_point() to detect its filesystem name,
11136 and generate a path with `/fsname@path' syntax.
11137
11138 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11139
11140 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11141 (void) rather than () so that this is a proper prototype.
11142
11143 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11144
11145 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11146
11147 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11148
11149 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11150 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11151
11152 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11153
11154 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11155
11156 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11157
11158 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11159
11160 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11161
11162 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11163 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11164 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11165 disable gfxpayload.
11166 (Shell-like scripting): Add real content.
11167 (Serial terminal): Suggest `terminal_input serial; terminal_output
11168 serial' rather than putting the two commands on separate lines,
11169 since console input will be inoperative after the first command.
11170 (menuentry): Document --class, --users, and --hotkey options.
11171 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11172 Vladimir Serbinenko).
11173
11174 2010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11175 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11176
11177 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11178
11179 2010-08-01 Robert Millan <rmh@gnu.org>
11180
11181 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11182 (grub_find_zpool_from_mount_point): New function prototypes.
11183
11184 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11185 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11186
11187 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11188 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11189 `static' attribute.
11190
11191 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11192 finding zpool from mount point into ...
11193 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11194
11195 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11196 requested path is part of a ZFS pool, use
11197 grub_find_zpool_from_mount_point() to detect its filesystem name,
11198 and generate a path with `/fsname@path' syntax.
11199
11200 2010-08-01 Robert Millan <rmh@gnu.org>
11201
11202 Prevent accidental use of uninitialized libzfs_handle.
11203
11204 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11205 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11206 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11207
11208 2010-08-01 Colin Watson <cjwatson@ubuntu.com>
11209
11210 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11211 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11212
11213 2010-08-01 Robert Millan <rmh@gnu.org>
11214
11215 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
11216
11217 2010-07-31 Robert Millan <rmh@gnu.org>
11218
11219 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11220
11221 2010-07-31 Robert Millan <rmh@gnu.org>
11222
11223 * kern/emu/misc.c: Add missing license header.
11224
11225 2010-07-31 Robert Millan <rmh@gnu.org>
11226
11227 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11228
11229 * include/grub/util/libnvpair.h: Include `<config.h>'.
11230 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11231 declaring libnvpair prototypes ourselves.
11232 * include/grub/util/libzfs.h: Include `<config.h>'.
11233 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11234 declaring libzfs prototypes ourselves.
11235
11236 (libzfs_handle): Moved to ...
11237 * include/grub/util/misc.h (libzfs_handle): ... here.
11238 Include `<grub/util/libzfs.h>'.
11239
11240 2010-07-30 Robert Millan <rmh@gnu.org>
11241
11242 * include/grub/emu/misc.h: Add missing license header.
11243
11244 2010-07-30 Robert Millan <rmh@gnu.org>
11245
11246 Enable `grub-probe -t device' resolution on ZFS.
11247
11248 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11249 * include/grub/util/libnvpair.h: New file.
11250 * include/grub/util/libzfs.h: New file.
11251
11252 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11253 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11254 `<grub/util/libnvpair.h>'.
11255 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11256
11257 (find_mount_point_from_dir): New static function.
11258 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11259 function.
11260 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11261 find_root_device_from_libzfs() before ressorting to find_root_device().
11262
11263 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11264 prototype.
11265 * util/misc.c: Include `<grub/util/libzfs.h>'.
11266 (grub_util_init_libzfs): New function.
11267 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11268 [HAVE_LIBZFS] (fini_libzfs): New static function.
11269 (grub_util_init_libzfs): New function.
11270 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11271
11272 2010-07-30 Robert Millan <rmh@gnu.org>
11273
11274 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11275 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11276 `warn_unused_result' attribute.
11277 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11278 (grub_xasprintf, grub_xvasprintf): Likewise.
11279 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11280
11281 2010-07-29 Robert Millan <rmh@gnu.org>
11282
11283 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11284 (probe): Handle `PRINT_FS_LABEL'.
11285 (main): Handle `-t fs_label'.
11286
11287 2010-07-29 Robert Millan <rmh@gnu.org>
11288
11289 * configure.ac: Remove grub-mkisofs checks.
11290
11291 2010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11292
11293 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11294 Reported by: Lennart Sorensen.
11295
11296 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11297
11298 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11299 prior to terminal_input/terminal_output separation. It's been over 1.5
11300 years and those versions weren't widely deployed.
11301
11302 2010-07-22 Colin Watson <cjwatson@ubuntu.com>
11303
11304 * disk/raid.c (insert_array): Don't count named arrays when looking
11305 for unused array numbers.
11306 Reported and tested by: Michael Guntsche.
11307
11308 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11309
11310 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11311 implementation of this so that grub-emu links again, with a note
11312 that this should support hotplugging in the future.
11313
11314 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11315
11316 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11317
11318 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11319
11320 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11321 handle on failure.
11322 (grub_loopback_close): Remove empty function.
11323 (grub_loopback_dev): Remove close method.
11324
11325 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11326
11327 Disable EFI cursor when the EFI console becomes inactive.
11328
11329 * term/efi/console.c (grub_efi_console_init): New function.
11330 (grub_efi_console_fini): New function.
11331 (grub_console_term_output): Register init and fini methods.
11332
11333 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11334
11335 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11336 sh script.
11337
11338 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11339
11340 * disk/loopback.c (grub_loopback): Replace filename with file.
11341 (delete_loopback): Handle new semantics.
11342 (grub_cmd_loopback): Likewise.
11343 (grub_loopback_iterate): Likewise.
11344 (grub_loopback_close): Likewise.
11345
11346 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11347
11348 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11349 with -p "".
11350 Reported by: Tito Keitel.
11351
11352 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11353
11354 * docs/grub.texi (Naming convention): Document new naming convention.
11355
11356 2010-07-20 Vadim Solomin <vadic052@gmail.com>
11357 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11358
11359 Generate device.map in something closer to the old ordering.
11360
11361 * util/deviceiter.c (struct device): New declaration.
11362 (compare_file_names): Rename to ...
11363 (compare_devices): ... this. Sort by kernel name in preference to
11364 the stable by-id name, but keep the latter as a fallback comparison.
11365 Update header comment.
11366 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11367 of `struct device' rather than of plain file names.
11368
11369 2010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11370
11371 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11372 on i386.
11373
11374 2010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11375
11376 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11377 hardcoding size.
11378 (setv1table): Likewise.
11379
11380 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11381
11382 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11383 removing the homehost if present.
11384 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11385 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11386 removing the homehost if present.
11387 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11388 if possible.
11389 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11390
11391 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11392 parameter. Set its pointer target to 0.
11393 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11394 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11395 `data_offset' value from the superblock for 1.x metadata.
11396 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11397 data on the device.
11398 (insert_array): Record the start sector of data on the device.
11399 (grub_raid_register): Pass start_sector parameters to
11400 grub_raid_list->detect and insert_array.
11401 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11402 member.
11403 (struct grub_raid): Add start_sector parameter to `detect'.
11404
11405 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11406 __attribute__ ((packed)), leaving a comment.
11407 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11408 (grub_mdraid_detect_09): ... here and ...
11409 (grub_mdraid_detect_1x): ... here.
11410
11411 2010-07-20 Peter Henn <peter.henn@web.de>
11412
11413 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11414 chunk size and disk size, which are already given as sector counts
11415 as distinct from the 0.90 units. Fetch the correct device number
11416 from the role table instead of using the table index.
11417
11418 2010-07-20 Felix Zielcke <fzielcke@z-51.de>
11419
11420 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11421 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11422 (WriteMostly1): New macro.
11423 Set array->name to NULL for metadata format 0.90. Add support for
11424 metadata 1.x. Fix some comments.
11425 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11426 few comments.
11427 * util/getroot.c (grub_util_get_grub_dev): Add support for
11428 /dev/md/name style devices.
11429
11430 2010-07-20 Colin Watson <cjwatson@ubuntu.com>
11431
11432 * .bzrignore: Ignore 20_linux_xen.
11433
11434 2010-07-17 Colin Watson <cjwatson@ubuntu.com>
11435
11436 * util/import_unicode.py: Remove unnecessary imports.
11437
11438 2010-07-17 Aleš Nesrsta <starous@volny.cz>
11439
11440 Hotplugging and USB hub support.
11441
11442 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11443 (grub_ohci): Likewise.
11444 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11445 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11446 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11447 (GRUB_OHCI_CTRL_EDS): Likewise.
11448 (GRUB_OHCI_BULK_EDS): Likewise.
11449 (GRUB_OHCI_TDS): Likewise.
11450 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11451 (grub_ohci_ed_phys2virt): New function.
11452 (grub_ohci_virt_to_phys): Likewise.
11453 (grub_ohci_td_phys2virt): Likewise.
11454 (grub_ohci_td_virt2phys): Likewise.
11455 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11456 attachment.
11457 (grub_ohci_find_ed): New function.
11458 (grub_ohci_alloc_td): Likewise.
11459 (grub_ohci_free_td): Likewise.
11460 (grub_ohci_free_tds): Likewise.
11461 (grub_ohci_transfer): Use previously allocated memory.
11462 (grub_ohci_portstatus): Reset status changed bit.
11463 (grub_ohci_detect_dev): Supply status changed.
11464 (grub_ohci_fini_hw): Free memory.
11465 (grub_ohci_restore_hw): Reallocate memory.
11466 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11467 Reset status change.
11468 (grub_uhci_detect_dev): Supply status_change.
11469 * bus/usb/usb.c (attach_hooks): New var.
11470 (grub_usb_device_attach): New function.
11471 (grub_usb_register_attach_hook_class): Likewise.
11472 (grub_usb_unregister_attach_hook_class): Likewise.
11473 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11474 (grub_usb_add_hub): Reset connection changed bit.
11475 (attach_root_port): New function.
11476 (grub_usb_root_hub): Likewise.
11477 (poll_nonroot_hub): Likewise.
11478 (grub_usb_poll_devices): Likewise.
11479 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11480 * disk/usbms.c (grub_usbms_open): Use device hooks.
11481 (grub_usbms_iterate) :Poll devices.
11482 (grub_usbms_finddevs): Split into ...
11483 (grub_usbms_attach): ... this ...
11484 (grub_usbms_attach): ... and this.
11485 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11486 in detect_dev.
11487 (grub_usb_interface): New fields attached and detach_hook.
11488 (grub_usb_attach_hook_class): New type.
11489 (grub_usb_attach_desc): New struct.
11490 (grub_usb_register_attach_hook_class): New function.
11491 (grub_usb_unregister_attach_hook_class): Likewise.
11492 (grub_usb_poll_devices): Likewise.
11493 (grub_usb_device_attach): Likewise.
11494 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11495 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11496
11497 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11498
11499 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11500 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11501 delta determination style. Works with most NetBSD partitions too.
11502
11503 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11504
11505 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11506 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11507
11508 2010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11511
11512 2010-07-14 Anton Blanchard <anton@samba.org>
11513
11514 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11515 ET_DYN files.
11516
11517 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11518
11519 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11520
11521 2010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11522
11523 * kern/partition.c (grub_partition_check_containment): New function to
11524 check that a partition is physically contained in a parent. Since
11525 offsets are relative (and non-negative), this reduces to checking that
11526 the partition ends before its parent.
11527 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11528 (grub_partition_iterate): Likewise.
11529 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11530 comments.
11531 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11532 partitions that start before their parent, and add debug printfs.
11533
11534 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11535
11536 * Makefile.in (.SUFFIX): Spell correctly, as ...
11537 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11538 bare module name without `.mod', e.g. `test') tried to invoke a
11539 Modula-2 compiler.
11540
11541 2010-07-13 Colin Watson <cjwatson@ubuntu.com>
11542
11543 * README: Point to the Info manual.
11544
11545 2010-07-13 Jiro SEKIBA <jir@unicus.jp>
11546
11547 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11548 2nd superblock position from partition size.
11549
11550 2010-07-10 Colin Watson <cjwatson@ubuntu.com>
11551
11552 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11553 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11554 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11555 outputs.
11556
11557 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11558
11559 Restructure SCSI .id handling.
11560 Reported and tested by: Aleš Nesrsta.
11561
11562 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11563 (grub_atapi_dev): Changed .name to "ata". New field .id.
11564 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11565 (grub_usbms_dev): New field .id.
11566 * disk/scsi.c (grub_scsi_iterate): Generate name.
11567 (grub_scsi_open): Parse name.
11568 * include/grub/scsi.h (grub_make_scsi_id): New function.
11569 (grub_scsi_dev): Change iterate and open to number instead of naming
11570 busses. All users updated.
11571 (grub_scsi): Remove name. Add .bus.
11572
11573 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11574
11575 * commands/help.c (grub_cmd_help): Fix a typo.
11576
11577 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11578
11579 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11580 Reported and tested by: Colin Watson.
11581
11582 2010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11583
11584 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11585 in this context.
11586
11587 2010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11590
11591 2010-07-07 Colin Watson <cjwatson@ubuntu.com>
11592
11593 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11594 indentation.
11595
11596 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11597
11598 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11599 and disk/raid6_recover.c.
11600 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11601 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11602
11603 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11604
11605 * term/gfxterm.c (repaint_schedulded): Rename to ...
11606 (repaint_scheduled): ... this. Update all callers.
11607 (repaint_was_schedulded): Rename to ...
11608 (repaint_was_scheduled): ... this. Update all callers.
11609
11610 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11611
11612 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11613 which we expect to be handled by upper layers.
11614
11615 2010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11616
11617 * bus/usb/usbhub.c: #include time.h header.
11618
11619 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11620
11621 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11622 entry_name also for entries without stat blocks (e.g. ".."); fixes
11623 corruption of the first entry in a directory.
11624
11625 2010-07-06 Colin Watson <cjwatson@ubuntu.com>
11626
11627 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11628 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11629 doesn't work otherwise.
11630
11631 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11632
11633 * docs/grub.texi (Features): Update list of supported file systems.
11634 (GNU/Linux): Update for GRUB 2.
11635 (Serial terminal): Remove mention of --disable-serial, which was a
11636 GRUB Legacy configure option. Update instructions to use
11637 `terminal_input' and `terminal_output' rather than `terminal'.
11638 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11639 configuration' and `Installing GRUB using grub-install'.
11640 (Menu entry editor): Update for GRUB 2.
11641 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11642 Document new -a, -u, and -v options.
11643 (initrd): New section.
11644 (initrd16): New section.
11645 (linux): New section.
11646 (linux16): New section.
11647 (search): The `var' argument to `--set' is optional.
11648 (GRUB only offers a rescue shell): Go into a little more detail on
11649 drive ordering.
11650
11651 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11652
11653 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11654
11655 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11656
11657 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11658 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11659
11660 2010-07-05 Colin Watson <cjwatson@ubuntu.com>
11661
11662 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11663 install_prefix, in line with install_dos_part and install_bsd_part.
11664 Add new prefix variable, which is copied to install_prefix after
11665 comparing core.img in memory with the one read from disk in the
11666 no-embedding case, and use that rather than overwriting
11667 install_prefix immediately when installing to a partition.
11668 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11669 Bicakci.
11670
11671 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11672
11673 * configure.ac: Avoid == in test command, it's not portable.
11674 * util/grub.d/30_os-prober.in: Likewise.
11675
11676 2010-07-04 Colin Watson <cjwatson@ubuntu.com>
11677
11678 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
11679
11680 2010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11681
11682 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
11683 multiple (top-level) partmaps.
11684
11685 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * util/i386/efi/grub-install.in: Don't use empty grub_device.
11688 Reported by: Tino Keitel.
11689
11690 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 Bidi and diacritics support.
11693
11694 * Makefile.in (widthspec.bin): New target.
11695 (widthspec.h): Likewise.
11696 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
11697 * autogen.sh: Generate unidata.c.
11698 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
11699 * commands/ls.c (grub_ls_list_devices): Likewise.
11700 (grub_ls_list_files): Likewise.
11701 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
11702 (grub_mini_cmd_lsmod): Likewise.
11703 * commands/read.c: Likewise.
11704 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
11705 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
11706 * lib/arg.c (grub_arg_show_help): Likewise.
11707 * lib/crypto.c (grub_password_get): Likewise.
11708 * normal/auth.c (grub_username_get): Likewise.
11709 * normal/misc.c (grub_normal_print_device_info): Likewise.
11710 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
11711 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
11712 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
11713 (normal/charset.c_DEPENDENCIES): New variable.
11714 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
11715 (pkglib_MODULES): Remove charset.mod.
11716 (charset_mod_SOURCES): Removed.
11717 (charset_mod_CFLAGS): Likewise.
11718 (charset_mod_LDFLAGS): Likewise.
11719 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
11720 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
11721 and term/tparm.c.
11722 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11723 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11724 (kernel_img_HEADERS): Add terminfo.h.
11725 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
11726 Fill ->font. Reverse ascii bitmaps.
11727 (grub_font_get_xheight): New function.
11728 * font/font.c (grub_font_get_string_width): Moved from here ...
11729 * gfxmenu/font.c (grub_font_get_string_width): ... here.
11730 * font/font.c (grub_font_draw_string): Moved from here ...
11731 * gfxmenu/font.c (grub_font_draw_string): ... here.
11732 * font/font.c (grub_font_dup_glyph): New function.
11733 (grub_font_blit_glyph): Likewise.
11734 (grub_font_blit_glyph_mirror): Likewise.
11735 (blit_comb): Likewise.
11736 (grub_font_construct_dry_run): Likewise.
11737 (grub_font_get_constructed_device_width): Likewise.
11738 (grub_font_construct_glyph): Likewise.
11739 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
11740 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
11741 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
11742 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
11743 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
11744 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
11745 (grub_font_get_xheight): New proto.
11746 (grub_font_get_constructed_device_width): Likewise.
11747 (grub_font_construct_glyph): Likewise.
11748 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
11749 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
11750 * include/grub/font.h (grub_font_draw_string): Moved from here ...
11751 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
11752 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
11753 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
11754 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
11755 (grub_console_getcharwidth): Likewise.
11756 * include/grub/misc.h (grub_xputs): New proto.
11757 (grub_puts): Inlined.
11758 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
11759 (grub_normal_get_line_counter): Removed.
11760 (grub_install_newline_hook): Likewise.
11761 (grub_normal_get_char_counter): New proto.
11762 (grub_normal_reset_more): Likewise.
11763 (grub_xputs_normal): Likewise.
11764 * include/grub/powerpc/ieee1275/console.h: Removed.
11765 * include/grub/sparc64/ieee1275/console.h: Likewise.
11766 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
11767 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
11768 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
11769 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
11770 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
11771 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
11772 (grub_term_input): Pass reference to self. All users updated.
11773 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
11774 Pass reference to self. New fields normal_color, highlight_color and
11775 data. All users updated.
11776 (grub_putchar): Removed.
11777 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
11778 (grub_unicode_estimate_width): New function.
11779 (grub_term_getcharwidth): Add defaults.
11780 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
11781 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
11782 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
11783 (grub_cls): Remove EXPORT_FUNC.
11784 (grub_setcolorstate): Inline.
11785 (grub_newline_hook): Removed.
11786 * include/grub/terminfo.h: Rewritten. All users updated.
11787 * include/grub/unicode.h: New file.
11788 * include/grub/video.h (grub_video_signed_rect): New type.
11789 * kern/emu/console.c (grub_console_highlight_color): Removed.
11790 (grub_console_normal_color): Likewise.
11791 (grub_console_standard_color): Made static.
11792 (grub_ncurses_putchar): Remove mapping.
11793 (grub_ncurses_getcharwidth): Removed.
11794 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11795 (grub_ncurses_setcolor): Removed.
11796 (grub_ncurses_getcolor): Likewise.
11797 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
11798 (grub_console_putchar): ... this.
11799 (grub_console_putchar): Handle argument difference.
11800 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
11801 console_init_early and console_init_lately.
11802 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
11803 * kern/misc.c (grub_puts): Removed.
11804 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
11805 (grub_vsnprintf_real): Remove str = NULL support.
11806 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
11807 * normal/charset.c (grub_utf8_to_ucs4): ... here.
11808 * kern/term.c (grub_putcode): Renamed to ...
11809 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
11810 (grub_putchar): Removed.
11811 (grub_xputs_dumb): New function.
11812 (grub_xputs): New variable.
11813 * lib/charset.c: Move from here ...
11814 * normal/charset.c: ... to here.
11815 (grub_ucs4_to_utf8): New function.
11816 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
11817 (join_types): New variable.
11818 (unpack_join): New function.
11819 (bidi_types): New variable.
11820 (unpack_bidi): New function.
11821 (get_bidi_type): Likewise.
11822 (get_join_type): Likewise.
11823 (is_mirrored): Likewise.
11824 (grub_unicode_get_comb_type): Likewise.
11825 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
11826 (is_type_after): Likewise.
11827 (grub_unicode_aglomerate_comb): Likewise.
11828 (bidi_line_wrap): Likewise.
11829 (grub_bidi_line_logical_to_visual): Likewise.
11830 (grub_bidi_logical_to_visual): Likewise.
11831 (grub_unicode_mirror_code): Likewise.
11832 (grub_unicode_shape_code): Likewise.
11833 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
11834 Don't use grub_putchar.
11835 * normal/main.c (grub_normal_init_page): Use grub_putcode.
11836 (grub_normal_reader_init): Likewise.
11837 (grub_xputs_saved): New variable.
11838 (GRUB_MOD_INIT): Set grub_xputs.
11839 (GRUB_MOD_FINI): Restore grub_xputs.
11840 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
11841 (menu_init): Avoid printing gfxmenu error.
11842 (show_menu): Use grub_normal_get_char_counter.
11843 * normal/menu_entry.c (update_screen): Fix out-of-array.
11844 (complete): Avoid NULL dereferencing.
11845 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
11846 * normal/menu_text.c (print_spaces): Removed.
11847 (grub_print_ucs4): Likewise.
11848 (grub_print_message_indented): Use grub_print_ucs4.
11849 (print_message): Use grub_putcode.
11850 (print_entry): Hanlde diacritics.
11851 * normal/term.c (term_state): New type.
11852 (grub_more_lines): Removed.
11853 (term_states): New variable.
11854 (grub_normal_line_counter): Renamed to ..
11855 (grub_normal_char_counter): ...this. All users updated.
11856 (grub_normal_get_line_counter): Renamed to ...
11857 (grub_normal_get_char_counter): ... this.
11858 (grub_normal_reset_more): New function.
11859 (process_newline): Removed.
11860 (print_more): New function.
11861 (grub_install_newline_hook): Removed.
11862 (map_code): New function.
11863 (grub_puts_terminal): Use grub_print_ucs4.
11864 (putglyph): New function.
11865 (putcode_real): Likewise.
11866 (grub_putcode): Use putcode_real.
11867 (get_maxwidth): New function.
11868 (get_startwidth): Likewise.
11869 (print_ucs4_terminal): Likewise.
11870 (find_term_state): Likewise.
11871 (put_glyphs_terminal): Likewise.
11872 (print_backlog): Likewise.
11873 (print_ucs4_real): Likewise.
11874 (grub_print_ucs4): Likewise.
11875 (grub_xputs_normal): Likewise.
11876 * term/efi/console.c (grub_console_putchar): Output diacritics.
11877 (grub_console_getcharwidth): Removed.
11878 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11879 * term/gfxterm.c (clear_char): Free chars.
11880 (scroll_up): Avoid leaking memory.
11881 (grub_gfxterm_putchar): Support diacritics.
11882 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11883 * term/i386/pc/console.c (grub_console_term_output): Declare as
11884 GRUB_TERM_CODE_TYPE_VGA.
11885 * term/i386/pc/vga.c (grub_vga_term): Declare as
11886 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
11887 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
11888 GRUB_TERM_CODE_TYPE_VGA.
11889 * term/i386/vga_common.c (map_char): Removed.
11890 (grub_console_putchar): Likewise.
11891 (grub_console_getcharwidth): Likewise.
11892 * term/ieee1275/ofconsole.c: Simplify using terminfo.
11893 (colors): Reordered to match terminfo.
11894 (grub_ofconsole_normal_color): Removed.
11895 (grub_ofconsole_writeesc): Likewise.
11896 (grub_ofconsole_highlight_color): Likewise.
11897 (grub_ofconsole_getcharwidth): Likewise.
11898 (grub_ofconsole_setcolorstate): Likewise.
11899 (grub_ofconsole_setcolor): Likewise.
11900 (grub_ofconsole_getcolor): Likewise.
11901 (grub_ofconsole_readkey): Renamed to ...
11902 (readkey): ... this. Remove escape sequence handling. Return -1 on no
11903 key.
11904 (grub_ofconsole_checkkey): Removed.
11905 (grub_ofconsole_getkey): Likewise.
11906 (grub_ofconsole_getxy): Likewise.
11907 (grub_ofconsole_gotoxy): Likewise.
11908 (grub_ofconsole_cls): Likewise.
11909 (grub_ofconsole_refresh): Likewise.
11910 (grub_ofconsole_terminfo_input): New struct.
11911 (grub_ofconsole_terminfo_output): Likewise.
11912 (grub_ofconsole_term_input): Use terminfo.
11913 (grub_ofconsole_term_output): Likewise.
11914 (grub_console_init): Split into ...
11915 (grub_console_init_early): ...this and ...
11916 (grub_console_init_lately): ...this. Use terminfo.
11917 (grub_ofconsole_putchar): Renamed to ...
11918 (put): ... this. Remove mapping.
11919 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11920 * term/serial.c: Simplify using terminfo.
11921 (xpos): Removed.
11922 (ypos): Likewise.
11923 (keep_track): Likewise.
11924 (registered): Likewise.
11925 (input_buf): Likewise.
11926 (npending): Likewise.
11927 (serial_translate_key_sequence): Likewise.
11928 (fill_input_buf): Likewise.
11929 (grub_serial_checkkey): Likewise.
11930 (grub_serial_getkey): Likewise.
11931 (grub_serial_getxy): Likewise.
11932 (grub_serial_gotoxy): Likewise.
11933 (grub_serial_putchar): Likewise.
11934 (grub_serial_cls): Likewise.
11935 (grub_serial_setcolorstate): Likewise.
11936 (grub_serial_setcursor): Likewise.
11937 (serial_hw_init): Use serial_hw_fetch.
11938 (grub_serial_terminfo_input): New variable.
11939 (grub_serial_terminfo_output): Likewise.
11940 (grub_serial_term_input): Use terminfo.
11941 (grub_serial_term_output): Likewise.
11942 * term/terminfo.c (putstr): Use put.
11943 (grub_terminfo_all_free): New function
11944 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
11945 (grub_terminfo_output_register): New function.
11946 (grub_terminfo_output_unregister): Likewise.
11947 (grub_terminfo_getxy): Likewise.
11948 (grub_terminfo_readkey): Likewise.
11949 (grub_terminfo_checkkey): Likewise.
11950 (grub_terminfo_getkey): Likewise.
11951 (grub_terminfo_input_init): Likewise.
11952 (print_terminfo): Likewise.
11953 (grub_cmd_terminfo): Handle encoding.
11954 (grub_terminfo_gotoxy): Track position.
11955 (grub_terminfo_cls): Likewise.
11956 (grub_terminfo_putchar): Likewise.
11957 (grub_terminfo_setcolorstate): Handle colors
11958 (grub_terminfo_cursor_on): This ...
11959 (grub_terminfo_cursor_off): ... and this merged into ...
11960 (grub_terminfo_setcursor): ... this.
11961 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
11962 * unicode/ArabicShaping.txt: New file (imported from Unicode).
11963 * unicode/BidiMirroring.txt: Likewise.
11964 * unicode/UnicodeData.txt: Likewise.
11965 * unicode/COPYING: Likewise.
11966 * util/grub-editenv.c (grub_putchar): Removed.
11967 (grub_xputs_real): New function.
11968 (grub_xputs): New variable.
11969 * util/grub-fstest.c (grub_putchar): Removed.
11970 (grub_xputs_real): New function.
11971 (grub_xputs): New variable.
11972 * util/grub-mkdevicemap.c (grub_putchar): Removed.
11973 (grub_xputs_real): New function.
11974 (grub_xputs): New variable.
11975 * util/grub-probe.c (grub_putchar): Removed.
11976 (grub_xputs_real): New function.
11977 (grub_xputs): New variable.
11978 * util/grub-script-check.c (grub_putchar): Removed.
11979 (grub_xputs_real): New function.
11980 (grub_xputs): New variable.
11981 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
11982 (grub_xputs_real): New function.
11983 (grub_xputs): New variable.
11984 * util/import_unicode.py: New file.
11985 * util/grub-mkfont.c (ft_errmsgs): New array.
11986 (grub_glyph_info): Make bitmap a pointer.
11987 (file_formats): New type WIDTH_SPEC.
11988 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
11989 (options): Add width-spec.
11990 (help): Likewise.
11991 (add_char): Renamed to ...
11992 (add_glyph): ... this.
11993 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
11994 (glyph_replace): New type.
11995 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
11996 (add_char): New function.
11997 (add_subst): Likewise.
11998 (process_cursive): Likewise.
11999 (add_font): Handle GSUB.
12000 (write_font_width_spec): New function.
12001 (main): Sort glyphs.
12002 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
12003 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
12004 * kern/term.c (grub_cls): Moved from here...
12005 * normal/term.c (grub_cls): ... here.
12006
12007 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12008
12009 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
12010 suitable for using within the format argument of printf when
12011 converting grub_size_t.
12012 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
12013 "x" to convert grub_size_t arguments.
12014
12015 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12016
12017 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
12018 too long captions.
12019 (list_get_minimal_size): Take selection box into account.
12020
12021 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
12024 NULL font.
12025
12026 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12027
12028 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
12029 devices when iterating over /dev/disk/by-id; they will be handled
12030 later if appropriate, which they aren't always (e.g. LVM).
12031
12032 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12033
12034 * include/grub/misc.h (grub_reboot): Declare as noreturn.
12035 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
12036 fails.
12037 (grub_halt): Likewise.
12038 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
12039 reset-all fails.
12040 (grub_halt): Don't return, even if all of shut-down, power-off, and
12041 poweroff fail.
12042
12043 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12044
12045 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
12046 arguments, not three.
12047
12048 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12049
12050 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12051 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12052 LVM-on-RAID is handled correctly.
12053
12054 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12055
12056 * docs/grub.texi (Changes from GRUB Legacy): New section.
12057 (Future): Fix typo.
12058
12059 2010-07-02 Colin Watson <cjwatson@ubuntu.com>
12060
12061 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12062 grub.d/README accidentally ends up executable for one reason or
12063 another. Ignore it.
12064
12065 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12066
12067 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12068 (gpt_partition_map_iterate): Support non-512B sectors.
12069
12070 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12071
12072 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12073 Tested by: Seth Goldberg.
12074
12075 2010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12076
12077 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12078 Properly align mbi.
12079 Reported by: Seth Goldberg.
12080
12081 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12082
12083 * util/grub-mkrescue.in: Avoid module duplication.
12084
12085 2010-07-01 Sean Finney <seanius@seanius.net>
12086
12087 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12088
12089 2010-07-01 Sean Finney <seanius@seanius.net>
12090
12091 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12092
12093 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12094
12095 * disk/lvm.c (grub_lvm_checkvalue): New function.
12096 (grub_lvm_check_flag): Likewise.
12097
12098 2010-07-01 Robert Millan <rmh@gnu.org>
12099
12100 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12101 Support 'p' as partition separator on kernel of FreeBSD (used
12102 with GPT labels).
12103 (grub_util_biosdisk_get_grub_dev): Likewise.
12104
12105 2010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12106
12107 Yeeloong firmware port.
12108
12109 * boot/mips/yeeloong/fwstart.S: New file.
12110 * bus/cs5536.c (gpiodump): New const.
12111 (set_io_space): New function.
12112 (set_iod): Likewise.
12113 (set_p2d): Likewise.
12114 (grub_cs5536_init_geode): Likewise.
12115 * commands/mips/yeeloong/lsspd.c: New file.
12116 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12117 (serial_mod_SOURCES): New variable.
12118 (serial_mod_CFLAGS): Likewise.
12119 (serial_mod_LDFLAGS): Likewise.
12120 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12121 term/terminfo.c and term/tparm.c.
12122 (pkglib_IMAGES): Add fwstart.img.
12123 (fwstart_img_SOURCES): New variable.
12124 (fwstart_img_CFLAGS): Likewise.
12125 (fwstart_img_ASFLAGS): Likewise.
12126 (fwstart_img_LDFLAGS): Likewise.
12127 (fwstart_img_FORMAT): Likewise.
12128 (pkglib_MODULES): Add lsspd.mod.
12129 (lsspd_mod_SOURCES): New variable.
12130 (lsspd_mod_CFLAGS): Likewise.
12131 (lsspd_mod_LDFLAGS): Likewise.
12132 (pkglib_MODULES): Add halt.mod.
12133 (halt_mod_SOURCES): New variable.
12134 (halt_mod_CFLAGS): Likewise.
12135 (halt_mod_LDFLAGS): Likewise.
12136 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12137 (serial_mod_SOURCES): Removed.
12138 (serial_mod_CFLAGS): Likewise.
12139 (serial_mod_LDFLAGS): Likewise.
12140 * disk/ata.c (check_device): New function.
12141 (grub_ata_device_initialize): Use check_device.
12142 (grub_ata_iterate): Recheck devices.
12143 (grub_ata_open): Likewise.
12144 (grub_atapi_iterate): Likewise.
12145 (grub_atapi_open): Likewise.
12146 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12147 (GRUB_ATA_CH1_PORT1): Likewise.
12148 (GRUB_ATA_CH0_PORT2): Likewise.
12149 (GRUB_ATA_CH1_PORT2): Likewise.
12150 * include/grub/mips/loongson.h: New file.
12151 * include/grub/mips/yeeloong/ec.h: Likewise.
12152 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12153 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12154 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12155 * include/grub/misc.h (grub_halt): Declare as noreturn.
12156 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12157 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12158 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12159 (UART_ENABLE_DTRRTS): Likewise.
12160 (UART_ENABLE_MODEM): Removed.
12161 (UART_ENABLE_OUT2): New const.
12162 * include/grub/term.h (grub_term_register_input_active): New function.
12163 (grub_term_register_output_active): Likewise.
12164 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12165 argument.
12166 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12167 (init_pci): New function.
12168 (grub_machine_init): Execute platform init when firmware. Init serial.
12169 (grub_halt): Implement.
12170 (grub_exit): Likewise.
12171 (grub_reboot): Likewise.
12172 * term/serial.c (serial_hw_init): Update macros.
12173 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12174 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12175 (image_targets): New target mipsel-yeeloong-flash.
12176 (generate_image): Support IMAGE_YEELOONG_FLASH.
12177 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12178 (grub_video_sm712_setup): Init card.
12179 (grub_video_sm712_set_palette): Removed.
12180 * video/sm712_init.c: New file.
12181
12182 2010-06-30 Colin Watson <cjwatson@ubuntu.com>
12183
12184 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12185 PATH when running help2man and then run it on the unadorned
12186 executable names, rather than passing $(builddir)/* paths to
12187 help2man. This avoids the build directory ending up in generated
12188 manual pages.
12189
12190 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12191
12192 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12193 to avoid accidents when debugging with 'sh -x'.
12194 * util/grub-mkrescue.in: Likewise.
12195 * util/grub.d/00_header.in: Likewise.
12196 * util/grub.d/10_hurd.in: Likewise.
12197 * util/grub.d/10_kfreebsd.in: Likewise.
12198 * util/grub.d/10_linux.in: Likewise.
12199 * util/grub.d/10_netbsd.in: Likewise.
12200 * util/grub.d/10_windows.in: Likewise.
12201 * util/grub.d/20_linux_xen.in: Likewise.
12202 * util/grub.d/30_os-prober.in: Likewise.
12203 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12204
12205 2010-06-29 Colin Watson <cjwatson@ubuntu.com>
12206
12207 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12208 last character in the buffer.
12209 Reported by: Vladimir Serbinenko.
12210
12211 2010-06-29 Robert Millan <rmh@gnu.org>
12212
12213 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12214 (Command-line and menu entry commands): Document `badram' command.
12215
12216 2010-06-28 Robert Millan <rmh@gnu.org>
12217
12218 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12219 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12220 command using ${GRUB_BADRAM} as parameter.
12221
12222 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12223
12224 * docs/grub.texi (Device map): New section.
12225 (Themes): New section (stub).
12226 * Makefile.in (docs/grub.info): The info documentation now builds
12227 without errors. Make sure it stays that way.
12228
12229 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12230
12231 Use normal parser for menu entries.
12232 Reported by: Thomas Frauendorfer
12233
12234 * include/grub/parser.h (grub_parser_execute): Don't export.
12235 * normal/menu.c (grub_menu_execute_entry_real): New function.
12236 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12237
12238 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12239
12240 * docs/grub.texi (Embedded configuration): New section (replacing
12241 old "Preset Menu" stub).
12242 (Images): New section.
12243 (configfile): Note that any menu entries defined in `file' are shown
12244 immediately.
12245
12246 2010-06-28 Josh Triplett <josh@joshtriplett.org>
12247
12248 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12249
12250 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12251
12252 * util/grub-install.in: Add --debug-image= option.
12253
12254 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12255
12256 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12257 possible on Linux.
12258
12259 * util/deviceiter.c (check_device): Rename to ...
12260 (check_device_readable_unique): ... this. Update all callers.
12261 Maintain and check a list of which devices (by canonicalized name)
12262 have already been seen.
12263 (clear_seen_devices): New function.
12264 (compare_file_names) [__linux__]: New function.
12265 (grub_util_iterate_devices): Clear the list of seen devices on exit
12266 and (just in case) on entry.
12267 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12268 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12269 seen-devices list, superseded by general code in check_device.
12270
12271 2010-06-28 Colin Watson <cjwatson@ubuntu.com>
12272
12273 * commands/cat.c (options): New variable.
12274 (grub_cmd_cat): Parse options. If the --dos option is given, print
12275 DOS-style "\r\n" line endings as simple newlines (Debian bug
12276 #586358).
12277 (GRUB_MOD_INIT): Use extcmd.
12278 (GRUB_MOD_FINI): Likewise.
12279 * docs/grub.texi (cat): Document --dos.
12280
12281 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12282
12283 XEN with Linux grub-mkconfig support.
12284
12285 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12286 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12287 GRUB_CMDLINE_XEN_DEFAULT.
12288 * util/grub.d/20_linux_xen.in: New file.
12289
12290 2010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 Initialise VGA video on qemu ourselves.
12293
12294 * boot/i386/qemu/boot.S: Don't call 0xc000.
12295 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12296 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12297 (kernel_img_HEADERS): Add pci.h.
12298 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12299 * configure.ac: Force unifont on qemu and yeeloong.
12300 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12301 (grub_vga_palette_write): Use correct register.
12302 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12303 Call grub_qemu_init_cirrus.
12304 * kern/i386/qemu/init.c: New file.
12305 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12306
12307 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12308
12309 2010-06-26 Pavel Roskin <proski@gnu.org>
12310
12311 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12312 13.
12313
12314 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12315
12316 * docs/grub.texi (Simple configuration): Explain that
12317 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12318 set to `true' to disable their respective recovery entries, not
12319 merely set.
12320
12321 2010-06-26 Colin Watson <cjwatson@ubuntu.com>
12322
12323 Make the `source' command slightly faster.
12324
12325 * normal/main.c (grub_normal_execute): Don't re-read list files when
12326 nested.
12327
12328 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12329
12330 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12331 field position and mask size to red fields from mode_info, not
12332 green.
12333 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12334 Remove redundant tag->common.framebuffer_type assignment.
12335 Reported by: Seth Goldberg.
12336
12337 2010-06-23 Colin Watson <cjwatson@ubuntu.com>
12338
12339 Sync up other versions of the Linux loader with Robert Millan's
12340 change of 2010-01-09, "Make loader output a bit more user-friendly".
12341
12342 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12343 grub_dprintf().
12344 (grub_cmd_linux): Likewise.
12345 (grub_cmd_initrd): Likewise.
12346 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12347 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12348
12349 2010-06-21 Colin Watson <cjwatson@ubuntu.com>
12350
12351 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12352 larger than MEMORY_MAP_SIZE.
12353
12354 2010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12355
12356 Fix parallel build.
12357
12358 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12359 dependency.
12360 * script/parser.y: #include grub_script.tab.h header.
12361
12362 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12363
12364 Support >3GiB and <16MiB RAM in i386-qemu.
12365
12366 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12367 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12368 (grub_lower_mem): Removed.
12369 (grub_upper_mem): Likewise.
12370 (mem_size): Made static.
12371 (above_4g): New variable.
12372 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12373 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12374 support.
12375
12376 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12377
12378 Cirrus 5446 and Bochs video cards support.
12379
12380 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12381 video_bochs.mod
12382 (video_cirrus_mod_SOURCES): New variable.
12383 (video_cirrus_mod_CFLAGS): Likewise.
12384 (video_cirrus_mod_LDFLAGS): Likewise.
12385 (video_bochs_mod_SOURCES): Likewise.
12386 (video_bochs_mod_CFLAGS): Likewise.
12387 (video_bochs_mod_LDFLAGS): Likewise.
12388 * include/grub/vga.h: New file.
12389 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12390 (grub_video_fb_set_page_t): New type.
12391 (grub_video_fb_setup): New prototype.
12392 (grub_video_fb_swap_buffers): Likewise.
12393 (grub_video_fb_get_info_and_fini): Likewise.
12394 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12395 (CRTC_DATA_PORT): Likewise.
12396 (CRTC_CURSOR): Likewise.
12397 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12398 (CRTC_CURSOR_ADDR_LOW): Likewise.
12399 (CRTC_CURSOR_DISABLE): Likewise.
12400 (update_cursor): Use grub_vga_cr_write.
12401 (grub_vga_text_setcursor): Likewise.
12402 * video/bochs.c: New file.
12403 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12404 (palette): Likewise.
12405 (palette_size): Likewise.
12406 (framebuffer): New variable.
12407 (grub_video_fb_init): Use 'framebuffer'.
12408 (grub_video_fb_fini): Likewise.
12409 (grub_video_fb_get_info): Likewise.
12410 (grub_video_fb_get_palette): Likewise.
12411 (grub_video_fb_set_palette): Likewise.
12412 (grub_video_fb_set_viewport): Likewise.
12413 (grub_video_fb_get_viewport): Likewise.
12414 (grub_video_fb_map_color): Likewise.
12415 (grub_video_fb_map_rgb): Likewise.
12416 (grub_video_fb_map_rgba): Likewise.
12417 (grub_video_fb_unmap_color): Likewise.
12418 (grub_video_fb_unmap_color_int): Likewise.
12419 (grub_video_fb_fill_rect): Likewise.
12420 (grub_video_fb_blit_bitmap): Likewise.
12421 (grub_video_fb_blit_render_target): Likewise.
12422 (grub_video_fb_scroll): Likewise.
12423 (grub_video_fb_create_render_target): Likewise.
12424 (grub_video_fb_doublebuf_blit_init): Likewise.
12425 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12426 (doublebuf_pageflipping_update_screen): New function.
12427 (doublebuf_pageflipping_init): Likewise.
12428 (grub_video_fb_setup): Likewise.
12429 (grub_video_fb_swap_buffers): Likewise.
12430 (grub_video_fb_get_info_and_fini): Likewise.
12431 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12432 All users updated.
12433 (doublebuf_pageflipping_commit): Restructured into ...
12434 (doublebuf_pageflipping_set_page): ... this.
12435 (doublebuf_pageflipping_update_screen): Removed.
12436 (doublebuf_pageflipping_init): Likewise.
12437 (double_buffering_init): Likewise.
12438 (grub_video_vbe_setup): Use grub_video_fb_setup.
12439 (grub_video_vbe_swap_buffers): Removed.
12440 (grub_video_vbe_set_active_render_target): Likewise.
12441 (grub_video_vbe_get_active_render_target): Likewise.
12442 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12443 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12444 grub_video_fb_set_active_render_target and
12445 grub_video_fb_get_active_render_target.
12446 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12447 (SEQUENCER_DATA_PORT): Likewise.
12448 (MAP_MASK_REGISTER): Likewise.
12449 (CRTC_ADDR_PORT): Likewise.
12450 (CRTC_DATA_PORT): Likewise.
12451 (START_ADDR_HIGH_REGISTER): Likewise.
12452 (START_ADDR_LOW_REGISTER): Likewise.
12453 (GRAPHICS_ADDR_PORT): Likewise.
12454 (GRAPHICS_DATA_PORT): Likewise.
12455 (READ_MAP_REGISTER): Likewise.
12456 (INPUT_STATUS1_REGISTER): Likewise.
12457 (INPUT_STATUS1_VERTR_BIT): Likewise.
12458 (get_map_mask): Use grub_vga_sr_read.
12459 (set_map_mask): Use grub_vga_sr_write.
12460 (set_read_map): Use grub_vga_gr_write.
12461 (set_start_address): Use grub_vga_cr_write.
12462 * video/sm712.c (framebuffer): Remove leftover fields.
12463
12464 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
12465
12466 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12467 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12468 instead. Replace the gfxterm backend check with a check that
12469 ${GRUB_PREFIX}/video.lst is non-empty.
12470 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12471 again.
12472 (load_video): New generated function. Call it before loading
12473 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12474 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12475 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12476 * docs/grub.texi (Simple configuration): Document
12477 GRUB_VIDEO_BACKEND.
12478
12479 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12480
12481 Use video functions in linux and xnu loaders.
12482
12483 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12484 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12485 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12486 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12487 loader/i386/pc/linux.c.
12488 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12489 (find_line_len): Removed.
12490 (find_framebuf): Likewise.
12491 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12492 * loader/i386/efi/xnu.c: Removed.
12493 * loader/i386/pc/xnu.c: Moved from here...
12494 * loader/i386/xnu.c: ...here.
12495
12496 Enable priorities in video drivers.
12497
12498 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12499 (grub_video_adapter): New field prio.
12500 (grub_video_register): Respect prio when inserting.
12501 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12502 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12503 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12504 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12505 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12506 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12507 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12508
12509 Fix SDL driver ID.
12510
12511 * include/grub/video.h (grub_video_driver_id_t): New value
12512 GRUB_VIDEO_DRIVER_SDL.
12513 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12514
12515 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12516
12517 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12518 argument to printf.
12519 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12520
12521 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12522
12523 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12524 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12525
12526 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12527
12528 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12529 directly, and recommend grub-install instead.
12530 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12531
12532 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
12533
12534 Fix i386-pc prefix handling with nested partitions (Debian bug
12535 #585068). Note that the case where the core image is booted using
12536 multiboot and relocated from its original location still requires
12537 more work.
12538
12539 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12540 with "(,", fill the boot drive in between those two characters, but
12541 expect that a full partition specification including partition map
12542 names will follow.
12543 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12544 specified, write a prefix without the drive name but including a
12545 full partition specification.
12546
12547 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
12548
12549 * util/grub-mkconfig.in: Ignore non-option arguments, for
12550 compatibility with older versions (before 2010-06-12) which did the
12551 same. In particular, this makes it easier to ship an update-grub
12552 wrapper which is compatible with that used with GRUB Legacy (Debian
12553 bug #586056).
12554
12555 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12556
12557 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12558 for manual page generation.
12559
12560 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12561
12562 * po/POTFILES: Remove leftover commands/handler.c.
12563
12564 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12565
12566 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12567 left this script non-functional.
12568
12569 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
12570
12571 * docs/man/grub-emu.h2m: New file.
12572
12573 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
12574
12575 * docs/grub.texi (Commands): Document reduced command set in rescue
12576 mode.
12577 (cpuid): New section.
12578
12579 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12580
12581 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12582 new partition naming style.
12583 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12584
12585 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12586
12587 Add "-o grub.iso" like cmdline options support.
12588
12589 * util/grub-install.in: Improve cmdline option parsing.
12590 * util/grub-mkconfig.in: Likewise.
12591 * util/grub-mkrescue.in: Likewise.
12592 * util/grub-reboot.in: Likewise.
12593 * util/grub-set-default.in: Likewise.
12594 * util/i386/efi/grub-install.in: Likewise.
12595 * util/ieee1275/grub-install.in: Likewise.
12596 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12597
12598 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12599
12600 * .bzrignore: Ignore 41_custom.
12601
12602 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12603
12604 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12605
12606 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12607
12608 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12609 prototype declarations.
12610
12611 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12612 generating fs, partmap, and video lists.
12613 * include/grub/fs.h (grub_fs_register): Omit prototype if
12614 GRUB_LST_GENERATOR is defined.
12615 * include/grub/partition.h (grub_partition_map_register): Likewise.
12616 * include/grub/video.h (grub_video_register): Likewise.
12617
12618 2010-06-12 Javier Martín <lordhabbit@gmail.com>
12619
12620 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12621
12622 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12623
12624 * util/grub-mkrescue.in: Support --xorriso argument.
12625
12626 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12627
12628 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12629 Suggested by: Thomas Schmitt.
12630
12631 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12632
12633 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12634 Suggested by: Thomas Schmitt.
12635
12636 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12637
12638 custom.cfg support.
12639
12640 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12641 * util/grub.d/41_custom.in: New file.
12642
12643 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
12644
12645 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12646 been merged back into normal.
12647
12648 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12649
12650 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12651 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12652
12653 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
12654
12655 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12656 when generating manual pages.
12657 * docs/man/grub-bin2h.h2m: New file.
12658 * docs/man/grub-editenv.h2m: New file.
12659 * docs/man/grub-fstest.h2m: New file.
12660 * docs/man/grub-install.h2m: New file.
12661 * docs/man/grub-macho2img.h2m: New file.
12662 * docs/man/grub-mkconfig.h2m: New file.
12663 * docs/man/grub-mkdevicemap.h2m: New file.
12664 * docs/man/grub-mkfont.h2m: New file.
12665 * docs/man/grub-mkimage.h2m: New file.
12666 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12667 * docs/man/grub-mkrelpath.h2m: New file.
12668 * docs/man/grub-mkrescue.h2m: New file.
12669 * docs/man/grub-ofpathname.h2m: New file.
12670 * docs/man/grub-pe2elf.h2m: New file.
12671 * docs/man/grub-probe.h2m: New file.
12672 * docs/man/grub-reboot.h2m: New file.
12673 * docs/man/grub-script-check.h2m: New file.
12674 * docs/man/grub-set-default.h2m: New file.
12675 * docs/man/grub-setup.h2m: New file.
12676
12677 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
12678
12679 Use FOR_* macros instead of *_iterate whenever possible.
12680
12681 * commands/handler.c: Removed.
12682 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
12683 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
12684 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12685 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
12686 (grub_probe_SOURCES): Remove kern/parser.c.
12687 (util/grub-script-check.c_DEPENDENCIES): Removed.
12688 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
12689 and grub_script_check_init.c.
12690 (grub_script_check_init.lst): Removed.
12691 (grub_script_check_init.h): Likewise.
12692 (grub_script_check_init.c): Likewise.
12693 (pkglib_MODULES): Remove handler.mod and sh.mod.
12694 (handler_mod_SOURCES): Removed.
12695 (handler_mod_CFLAGS): Likewise.
12696 (handler_mod_LDFLAGS): Likewise.
12697 (normal_mod_SOURCES): Remove normal/handler.c.
12698 Add script/main.c, script/script.c, script/execute.c,
12699 script/function.c, script/lexer.c, grub_script.tab.c
12700 and grub_script.yy.c.
12701 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12702 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12703 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
12704 (grub_setup_SOURCES): Remove kern/parser.c.
12705 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12706 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
12707 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12708 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12709 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12710 (grub_setup_SOURCES): Remove kern/parser.c.
12711 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12712 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
12713 * include/grub/command.h (grub_command_iterate): Removed.
12714 (FOR_COMMANDS): New macro.
12715 * include/grub/dl.h (grub_dl): New member next.
12716 (grub_dl_iterate): Removed.
12717 (grub_dl_head): New variable declaration.
12718 (FOR_DL_MODULES): New macro.
12719 * include/grub/fs.h: Include list.h.
12720 (grub_fs): Make next first element.
12721 (grub_fs_list): New variable declaration.
12722 (grub_fs_register): Make inline.
12723 (grub_fs_unregister): Likewise.
12724 (grub_fs_iterate): Removed.
12725 (FOR_FILESYSTEMS): New macro.
12726 * include/grub/handler.h: Removed.
12727 * include/grub/list.h (grub_list_hook_t): Removed.
12728 (grub_list_test_t): Likewise.
12729 (grub_list_pop): Likewise.
12730 (grub_list_iterate): Likewise.
12731 (grub_list_insert): Likewise.
12732 (FOR_LIST_ELEMENTS): New macro.
12733 * include/grub/parser.h (grub_parser_class): Removed.
12734 (grub_parser_register): Likewise.
12735 (grub_parser_unregister): Likewise.
12736 (grub_parser_get_current): Likewise.
12737 (grub_parser_set_current): Likewise.
12738 (grub_register_rescue_parser): Likewise.
12739 (grub_rescue_parse_line): New function.
12740 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
12741 * include/grub/script_sh.h (grub_script_function_list): New variable
12742 declaration.
12743 (FOR_SCRIPT_FUNCTIONS): New macro.
12744 (grub_script_function_iterate): Removed.
12745 (grub_normal_parse_line): New prototype.
12746 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
12747 (FOR_DISABLED_TERM_INPUTS): Likewise.
12748 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12749 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12750 * include/grub/video.h (grub_video_adapter): Move 'next' to first
12751 element.
12752 (grub_video_register): Inline.
12753 (grub_video_unregister): Likewise.
12754 (grub_video_adapter_list): New variable declaration.
12755 (grub_video_iterate): Removed.
12756 (FOR_VIDEO_ADAPTERS): New macro.
12757 * kern/dl.c (grub_dl_list): Removed. All users updated.
12758 (grub_dl_iterate): Removed.
12759 * kern/fs.c (grub_fs_list): Make global.
12760 (grub_fs_register): Removed.
12761 (grub_fs_unregister): Likewise.
12762 (grub_fs_iterate): Likewise.
12763 * kern/handler.c: Removed.
12764 * kern/list.c (grub_list_pop): Removed.
12765 (grub_list_iterate): Likewise.
12766 (grub_list_insert): Likewise.
12767 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
12768 (grub_prio_list_insert): Don't use grub_list_insert.
12769 * kern/main.c (grub_register_rescue_parser): Don't call
12770 grub_register_rescue_parser.
12771 * kern/parser.c (grub_parser_class): Removed.
12772 (grub_parser_execute): Use grub_rescue_parse_line.
12773 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
12774 (grub_rescue_parser): Removed.
12775 (grub_register_rescue_parser): Likewise.
12776 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
12777 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
12778 (grub_auth_check_authentication): Likewise.
12779 * normal/completion.c (iterate_command): Removed.
12780 (grub_normal_do_completion): Use FOR_COMMANDS.
12781 * normal/handler.c: Removed.
12782 * normal/main.c (read_config_file): Remove parser changing.
12783 (grub_normal_execute): Don't call read_handler_list.
12784 (grub_normal_read_line_real): Statically allocate prompt.
12785 (grub_cmdline_run): Use grub_normal_parse_line.
12786 (GRUB_MOD_FINI): Don't call free_handler_list.
12787 * normal/menu_entry.c (run): Likewise.
12788 * script/function.c (grub_script_function_list): Make global.
12789 (grub_script_function_iterate): Removed.
12790 * script/main.c (grub_normal_parse_line): Make global.
12791 (grub_sh_parser): Removed.
12792 (GRUB_MOD_INIT): Likewise.
12793 (GRUB_MOD_FINI): Likewise.
12794 * tests/lib/functional_test.c (grub_functional_test): Use
12795 FOR_LIST_ELEMENTS.
12796 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
12797 (grub_test_run): Use FOR_LIST_ELEMENTS.
12798 * tests/lib/unit_test.c (main): Likewise.
12799 * util/deviceiter.c (grub_util_iterate_devices): Don't use
12800 grub_list_pop.
12801 * util/grub-fstest.c (grub_term_input_class): Removed.
12802 (grub_term_output_class): Likewise.
12803 * util/grub-probe.c: Likewise.
12804 * util/i386/pc/grub-setup.c: Likewise.
12805 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12806 * util/grub-script-check.c (main): Don't call grub_init_all and
12807 grub_fini_all.
12808 * video/video.c (grub_video_adapter_list): Make global.
12809 (grub_video_register): Removed.
12810 (grub_video_unregister): Likewise.
12811 (grub_video_iterate): Likewise.
12812
12813 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
12814
12815 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
12816 reported by Henrique Ferreiro.
12817
12818 2010-06-09 Robert Millan <rmh@gnu.org>
12819
12820 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
12821 ones, when both are available.
12822
12823 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12824
12825 Make --version uniform and avoid hard-coded program name.
12826
12827 * util/grub-mkimage.c (main): Use `program_name' instead of
12828 hard-coded string.
12829 * util/i386/pc/grub-setup.c (main): Likewise.
12830 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
12831 * util/grub-install.in: Save the basename of $0 in $self, and use the
12832 latter in informational messages. Use the same format for --version
12833 as the binary programs.
12834 * util/grub-mkconfig.in: Likewise.
12835 * util/grub-mkrescue.in: Likewise.
12836 * util/grub-reboot.in: Likewise.
12837 * util/grub-set-default.in: Likewise.
12838 * util/i386/efi/grub-install.in: Likewise.
12839 * util/ieee1275/grub-install.in: Likewise.
12840 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12841
12842 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12843
12844 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
12845 embedding area. Use <= instead of == when checking for non-emptiness.
12846
12847 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12848
12849 * configure.ac: Add `.' to the directories searched for unifont.
12850
12851 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12852
12853 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
12854 grub_script.yy.h.
12855
12856 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12857
12858 * docs/grub.texi (History): Expand to cover GRUB 2.
12859 (Serial terminal): Refer to `terminal_input' and `terminal_output'
12860 commands, not `terminal'.
12861 (serial): Likewise.
12862 (terminal_input): New section.
12863 (terminal_output): New section.
12864 (uppermem): New section (stub).
12865 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
12866
12867 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
12868
12869 * docs/grub.texi (Security): Menu entries are unrestricted by
12870 default, not restricted to superusers as I had previously thought.
12871 Reword to account for this.
12872
12873 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12874
12875 * kern/emu/misc.c (device_mapper_null_log): New function.
12876 (grub_device_mapper_supported): New function.
12877 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
12878 prototype.
12879 * kern/emu/hostdisk.c (find_partition_start): Check whether
12880 device-mapper is supported before trying to use it.
12881 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
12882
12883 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12884
12885 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
12886 (File name syntax): Likewise.
12887 (help): --all is no longer supported in GRUB 2. Be more precise
12888 about pattern matching.
12889
12890 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12891
12892 * normal/completion.c (grub_normal_do_completion): When completing
12893 arguments to "set" and the current word contains an equals sign,
12894 skip to after the equals sign before starting completion.
12895
12896 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12897
12898 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
12899
12900 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12901
12902 * docs/grub.texi (Network): New section.
12903 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
12904 `(nd)' as in GRUB Legacy.
12905 (pxe_unload): New section.
12906
12907 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12908
12909 * docs/grub.texi (Troubleshooting): `echo' is not usually available
12910 in the rescue shell, so recommend using `set' instead. Thanks,
12911 Jordan Uggla.
12912
12913 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12914
12915 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
12916 (password): New section.
12917 (password_pbkdf2): New section.
12918 (search): New section.
12919 (Security): New section.
12920 (Troubleshooting): New section, currently very incomplete.
12921 (Invoking grub-mkpasswd-pbkdf2): New section.
12922 (Internals): New section, currently very incomplete.
12923
12924 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12925
12926 * util/grub.d/00_header.in: Add some more quoting (of
12927 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
12928 work again.
12929 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
12930
12931 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
12932
12933 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
12934 to `count', fixing variable shadowing that broke the -c option.
12935
12936 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
12937
12938 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
12939 in case they contain spaces.
12940
12941 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
12942
12943 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
12944 "part_" to partmap module names, in line with grub-install.
12945 Reported by: Jindřich Makovička (Debian bug #584426).
12946
12947 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
12948
12949 * util/grub-mkimage.c: Make target-related error messages slightly
12950 more helpful; -O talks about "format". Explicitly point to the use
12951 of -O if no target is specified.
12952 Reported by: Didier Raboud (Debian bug #584415).
12953
12954 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
12955
12956 * INSTALL: Document several build requirements for optional features
12957 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
12958
12959 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12960
12961 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
12962 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
12963 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
12964
12965 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
12966
12967 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
12968 Thanks to Jordan Uggla for spotting this.
12969
12970 2010-06-02 Aleš Nesrsta <starous@volny.cz>
12971
12972 Finally make USB usable.
12973
12974 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
12975 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
12976 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
12977 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
12978 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
12979 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
12980 (GRUB_OHCI_FSMPS): Likewise.
12981 (GRUB_OHCI_PERIODIC_START): Likewise.
12982 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
12983 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
12984 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
12985 (GRUB_OHCI_SET_PORT_RESET): Likewise.
12986 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
12987 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
12988 (grub_ohci_transaction): Likewise.
12989 (grub_ohci_transfer): Improve condition detection algorithms.
12990 Handle toggle property. Program the transactions correctly.
12991 Improve error handling. Various important fixups.
12992 (grub_ohci_portstatus): Put register writes in right order.
12993 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
12994 (grub_uhci_transfer): Don't show "failed" message on success.
12995 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
12996 array.
12997 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
12998 determine its size.
12999 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
13000 before initialization is completed. Use IN direction for empty
13001 transfers. Use last_trans and compute toggle.
13002 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
13003 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
13004 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
13005 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
13006 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
13007 (grub_usb_device): Increase toggle to 256.
13008 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
13009 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
13010 GRUB_USBMS_SUBCLASS_SFF8070.
13011 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
13012 (grub_scsi_inquiry): New member page and alloc_length.
13013 (grub_scsi_request_sense): New structure.
13014 (grub_scsi_request_sense_data): Likewise.
13015 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
13016 control.
13017 * disk/scsi.c (grub_scsi_request_sense): New function.
13018 (grub_scsi_test_unit_ready): Likewise.
13019 (grub_scsi_inquiry): Fill new fields.
13020 (grub_scsi_read_capacity): Likewise.
13021 (grub_scsi_read10): Add request sense at the end.
13022 (grub_scsi_read12): Likewise.
13023 (grub_scsi_write10): Likewise.
13024 (grub_scsi_write12): Likewise.
13025 (grub_scsi_open): Add Test Unit Ready.
13026 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
13027 Support additional subclasses. Con't clear halt yet. Activate the
13028 proper config. Calculate LUNs correctly.
13029 (grub_usbms_transfer): Various important fixups.
13030
13031 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13032
13033 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
13034 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
13035 (grub_ohci_fini_hw): New function.
13036 (grub_ohci_restore_hw): Likewise.
13037 (GRUB_MOD_INIT(ohci)): Register preboot hook.
13038 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
13039 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
13040
13041 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13042
13043 Dedicated DMA allocations.
13044
13045 * bus/pci.c (grub_memalign_dma32): New function
13046 (grub_dma_free): Likewise.
13047 (grub_dma_get_virt): Likewise.
13048 (grub_dma_get_phys): Likewise.
13049 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13050 (grub_ohci_pci_iter): Use dma32_alloc.
13051 (grub_ohci_transfer): Likewise.
13052 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13053 (grub_usb_bulk_readwrite): Likewise.
13054 * include/grub/pci.h: Add declarations.
13055
13056 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13057
13058 CS5536 support.
13059
13060 * bus/cs5536.c: New file.
13061 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13062 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13063 (cs5536_mod_SOURCES): New variable.
13064 (cs5536_mod_CFLAGS): Likewise.
13065 (cs5536_mod_LDFLAGS): Likewise.
13066 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13067 machine/pci.h.
13068 (kernel_img_SOURCES): Add bus/cs5536.c.
13069 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13070 usb_keyboard.mod.
13071 (usb_mod_SOURCES): New variable.
13072 (usb_mod_CFLAGS): New variable.
13073 (usb_mod_LDFLAGS): New variable.
13074 (usbtest_mod_SOURCES): New variable.
13075 (usbtest_mod_CFLAGS): New variable.
13076 (usbtest_mod_LDFLAGS): New variable.
13077 (ohci_mod_SOURCES): New variable.
13078 (ohci_mod_CFLAGS): New variable.
13079 (ohci_mod_LDFLAGS): New variable.
13080 (usbms_mod_SOURCES): New variable.
13081 (usbms_mod_CFLAGS): New variable.
13082 (usbms_mod_LDFLAGS): New variable.
13083 (usb_keyboard_mod_SOURCES): New variable.
13084 (usb_keyboard_mod_CFLAGS): New variable.
13085 (usb_keyboard_mod_LDFLAGS): New variable.
13086 * include/grub/smbus.h: New file.
13087 * include/grub/cs5536.h: New file.
13088
13089 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13090
13091 * util/grub.d/00_header.in: Add safety check to make sure that
13092 ${locale_dir} exists before trying to probe it.
13093
13094 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13095
13096 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13097 per the GNU Coding Standards; this is now too obscure to be worth
13098 documenting.
13099 (QNX): Likewise.
13100 (chainloader): Remove cross-reference to `SCO UnixWare'.
13101
13102 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13103
13104 * docs/grub.texi (Chain-loading): New section.
13105 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13106 adjusted for GRUB 2.
13107 (SCO UnixWare): Likewise.
13108 (QNX): Likewise.
13109 (chainloader): Add reference to `Block list syntax'.
13110 (drivemap): New section.
13111 (parttool): New section.
13112
13113 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13114
13115 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13116 the grub shell'.
13117 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13118 (Installing GRUB using grub-install): Remove reference to the grub
13119 shell; mention `grub-mkimage' and `grub-setup' instead.
13120 (Invoking grub-install): Likewise.
13121 (Interface): Add reference to `Menu entry editor'.
13122 (serial): Remove `--device' option.
13123
13124 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13125
13126 * docs/grub.texi (Configuration): New section, documenting
13127 configuration file generation using grub-mkconfig. I've left a slot
13128 for documenting the full shell scripting format but have not yet
13129 started on writing that up.
13130 (Invoking grub-mkconfig): New section.
13131
13132 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13133
13134 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13135 (GNU GRUB manual): Likewise.
13136 (General commands): Update description of `terminfo' for GRUB 2.
13137
13138 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13139
13140 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13141 (GRUB_MOD_INIT): Fix capitalisation.
13142 * docs/grub.texi (Command-line and menu entry commands): Document
13143 gettext and gptsync commands.
13144
13145 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
13146
13147 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13148 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13149
13150 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
13151
13152 Add btrfs probing support, currently only in the single-device case.
13153
13154 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13155 function.
13156 (grub_guess_root_device): Call find_root_device_from_mountinfo
13157 before looking in /dev.
13158
13159 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13162 GRUB_DISK_SIZE_UNKNOWN.
13163 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13164
13165 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
13166
13167 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13168 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13169 corrupted or not synced properly.
13170
13171 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13172
13173 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13174 Reported by: Seth Goldberg.
13175
13176 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13177
13178 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13179 addition of dest.
13180 Reported by: Seth Goldberg.
13181
13182 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13183
13184 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13185 Reported by: Seth Goldberg.
13186
13187 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13190 64-bit address as signed on MIPS.
13191
13192 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13193
13194 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13195 to the empty string.
13196
13197 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13198
13199 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13200
13201 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13202 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13203 * kern/misc.c (__enable_execute_stack): Disable on
13204 GRUB_MACHINE_EMU.
13205
13206 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
13207
13208 Make grub-probe work with symbolic links under /dev/mapper as well
13209 as with real block devices. The Linux world seems to be (at best)
13210 in transition here, and GRUB shouldn't get caught in the middle.
13211
13212 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13213 /dev/mapper.
13214
13215 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13216
13217 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13218 input files (in which case exit zero).
13219
13220 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13221
13222 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13223 return NULL for various reasons even if it has a maximum-length
13224 buffer: for example, there might be a symlink loop, or the path
13225 might exceed PATH_MAX. If this happens, return NULL.
13226
13227 2010-05-27 Robert Millan <rmh@gnu.org>
13228
13229 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13230 partmap module to handle cross-partmap setups.
13231 Reported by Orestes Mas. Gràcies!
13232
13233 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
13234
13235 * util/grub-mkrescue.in: Initialise override_dir rather than
13236 assuming that it's unset or empty in the environment.
13237
13238 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13239
13240 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13241 variable index into p_index to suppress a warning with -Wshadow.
13242
13243 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13244
13245 * INSTALL: Added flex >= 2.5.35 requirement.
13246
13247 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13248
13249 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13250
13251 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 cmostest support.
13254
13255 * commands/i386/cmostest.c: New file.
13256 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13257 (cmostest_mod_SOURCES): New variable.
13258 (cmostest_mod_CFLAGS): Likewise.
13259 (cmostest_mod_LDFLAGS): Likewise.
13260 * conf/i386-pc.rmk: Likewise.
13261 * docs/grub.texi (Vendor power-on keys): New section.
13262 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13263 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13264 and GRUB_BUTTON_CMOS_ADDRESS.
13265 * util/grub.d/00_header.in: Handle powering-on by separate button.
13266
13267 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13270 Removed drawing_scrollbar argument. All users updated
13271 Fixes #29792.
13272 Reported by Jo Shields
13273
13274 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13275
13276 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13277 buffer since gfxterm handles double repaint.
13278
13279 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13282 * term/gfxterm.c (real_scroll): Likewise.
13283
13284 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13287 before calling BIOS.
13288
13289 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13290
13291 * include/grub/i18n.h: Always enable grub_gettext.
13292
13293 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13294
13295 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13296 partition naming style.
13297
13298 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
13299
13300 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13301 not the first option.
13302
13303 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13304
13305 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13306
13307 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
13308
13309 * util/misc.c: Move inclusion of <limits.h> to ...
13310 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13311
13312 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13313
13314 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13315 Fix merge error in NetBSD code.
13316 (find_partition_start) [__NetBSD__]: Likewise.
13317
13318 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13319
13320 Fix grub-mkrescue usage unit testing.
13321
13322 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13323
13324 2010-05-18 Christian Franke <franke@computer.org>
13325
13326 * util/grub.d/10_windows.in: Use path names instead of
13327 drive letters to prevent warning from Cygwin 1.7.
13328 Add drivemap command to menuentry if needed.
13329
13330 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13331
13332 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13333 gnumach and gnumach.gz.
13334
13335 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13336
13337 * include/grub/i18n.h (gettext): Inline instead of using #define.
13338 (grub_gettext): Likewise.
13339 (_): Likewise.
13340
13341 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13342
13343 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13344 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13345 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13346 (main): Add a slash after pkglibdirroot.
13347
13348 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13349
13350 * util/grub-install.in: Add missing "in" keyword.
13351
13352 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13355 Reported by: Seth Goldberg.
13356
13357 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13358
13359 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13360
13361 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13362
13363 * configure.ac: Check for Linux device-mapper support.
13364
13365 * util/hostdisk.c (device_is_mapped): New function.
13366 (find_partition_start): New function, partly broken out from
13367 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13368 device-mapper support added.
13369 (linux_find_partition): Use find_partition_start.
13370 (convert_system_partition_to_system_disk): Add `st' argument.
13371 Support Linux /dev/mapper/* devices if device-mapper support is
13372 available; only DM-RAID devices are understood at present.
13373 (find_system_device): Add `st' argument. Pass it to
13374 convert_system_partition_to_system_disk.
13375 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13376 find_system_device and convert_system_partition_to_system_disk. Use
13377 find_partition_start.
13378
13379 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13380 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13381 * util/deviceiter.c [__linux__]: Define MINOR.
13382 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13383 * util/mkdevicemap.c (grub_putchar): New function.
13384 (grub_getkey): New function.
13385 (grub_refresh): New function.
13386 (main): Set debug=all if -v -v is used.
13387
13388 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13389
13390 Fix build with non-GNU libcs.
13391
13392 * util/misc.c (canonicalize_file_name): Move to ...
13393 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13394 grub_make_system_path_relative_to_its_root.
13395
13396 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
13397
13398 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13399 we handle finding grub-mkimage. Default to finding grub-mkimage in
13400 ${bindir} with program_transform_name applied, and provide a
13401 --grub-mkimage option to override this.
13402
13403 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13404
13405 Remove grub-mkisofs.
13406
13407 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13408 (grub_mkisofs_SOURCES): Removed.
13409 (grub_mkisofs_CFLAGS): Removed.
13410 * util/mkisofs/defaults.h: Removed.
13411 * util/mkisofs/eltorito.c: Likewise.
13412 * util/mkisofs/exclude.h: Likewise.
13413 * util/mkisofs/hash.c: Likewise.
13414 * util/mkisofs/include/: Likewise.
13415 * util/mkisofs/include/fctldefs.h: Likewise.
13416 * util/mkisofs/include/mconfig.h: Likewise.
13417 * util/mkisofs/include/prototyp.h: Likewise.
13418 * util/mkisofs/include/statdefs.h: Likewise.
13419 * util/mkisofs/iso9660.h: Likewise.
13420 * util/mkisofs/joliet.c: Likewise.
13421 * util/mkisofs/match.c: Likewise.
13422 * util/mkisofs/match.h: Likewise.
13423 * util/mkisofs/mkisofs.c: Likewise.
13424 * util/mkisofs/mkisofs.h: Likewise.
13425 * util/mkisofs/msdos_partition.h: Likewise.
13426 * util/mkisofs/multi.c: Likewise.
13427 * util/mkisofs/name.c: Likewise.
13428 * util/mkisofs/rock.c: Likewise.
13429 * util/mkisofs/tree.c: Likewise.
13430 * util/mkisofs/write.c: Likewise.
13431
13432 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13433
13434 Unify grub-mkimage accross platforms.
13435
13436 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13437 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13438 (grub_mkelfimage_SOURCES): Removed.
13439 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13440 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13441 (bin_UTILITIES): Add grub-mkimage.
13442 (grub_mkimage_SOURCES): New variable.
13443 (kernel_img_HEADERS): Remove machine/kernel.h.
13444 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13445 (pkglib_PROGRAMS): Add kernel.img.
13446 (kernel_img_HEADERS): Add machine/kernel.h.
13447 (kernel_img_FORMAT): Removed.
13448 (bin_UTILITIES): Remove grub-mkimage.
13449 (grub_mkimage_SOURCES): Removed.
13450 (grub_mkimage_CFLAGS): Likewise.
13451 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13452 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13453 (pkglib_PROGRAMS): Add kernel.img.
13454 (bin_UTILITIES): Remove grub-mkimage.
13455 (grub_mkimage_SOURCES): Removed.
13456 (grub_mkimage_CFLAGS): Likewise.
13457 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13458 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13459 (pkglib_PROGRAMS): Add kernel.img.
13460 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13461 (pkglib_PROGRAMS): Add kernel.img.
13462 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13463 (grub_mkimage_SOURCES): Removed.
13464 (grub_mkimage_CFLAGS): Likewise.
13465 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13466 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13467 (pkglib_PROGRAMS): Add kernel.img.
13468 (bin_UTILITIES): Remove grub-mkimage.
13469 (grub_mkimage_SOURCES): Removed.
13470 (grub_mkimage_CFLAGS): Likewise.
13471 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13472 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13473 (grub_mkimage_SOURCES): Removed.
13474 (grub_mkimage_CFLAGS): Likewise.
13475 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13476 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13477 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13478 (grub_pe32_optional_header): ... this.
13479 (grub_pe64_optional_header): ... and this. All users updated.
13480 (GRUB_PE32_PE32_MAGIC): Split into ..
13481 (GRUB_PE32_PE32_MAGIC): .. this.
13482 (GRUB_PE32_PE64_MAGIC): .. and this.
13483 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13484 * include/grub/elf.h (PT_GNU_STACK): New definition.
13485 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13486 * include/grub/i386/efi/kernel.h: Likewise.
13487 * include/grub/i386/kernel.h: Likewise.
13488 * include/grub/i386/pc/kernel.h: Likewise.
13489 * include/grub/i386/qemu/boot.h: Likewise.
13490 * include/grub/mips/kernel.h: Likewise.
13491 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13492 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13493 * include/grub/powerpc/kernel.h: Likewise.
13494 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13495 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13496 * include/grub/sparc64/kernel.h: Likewise.
13497 * include/grub/x86_64/efi/kernel.h: Likewise.
13498 * include/grub/x86_64/kernel.h: Likewise.
13499 * include/grub/offsets.h: New file.
13500 * include/grub/kernel.h (grub_module_info): Split into ...
13501 (grub_module_info32): ... this.
13502 (grub_module_info64): ... and this.
13503 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13504 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13505 (grub_boot_blocklist): Moved from here ...
13506 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13507 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13508 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13509 * include/grub/types.h (grub_target_to_host16): Removed.
13510 (grub_target_to_host32): Likewise.
13511 (grub_target_to_host64): Likewise.
13512 (grub_host_to_target16): Likewise.
13513 (grub_host_to_target32): Likewise.
13514 (grub_host_to_target64): Likewise.
13515 (grub_host_to_target_addr): Likewise.
13516
13517 Support grub-mkrescue for efi, coreboot and qemu.
13518
13519 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13520 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13521 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13522 * util/grub-mkrawimage.c: Moved from here ...
13523 * util/grub-mkimage.c: ... here. All users updated.
13524 (ALIGN_ADDR): Use image_target.
13525 (TARGET_NO_FIELD): New const.
13526 (image_target_desc): New type.
13527 (image_targets): New array.
13528 (grub_target_to_host64): Use image_target.
13529 (grub_target_to_host32): Likewise.
13530 (grub_target_to_host16): Likewise.
13531 (grub_host_to_target64): Likewise.
13532 (grub_host_to_target32): Likewise.
13533 (grub_host_to_target16): Likewise.
13534 (grub_host_to_target_addr): Likewise.
13535 (generate_image): Handle multiimage.
13536 (main): Require -O parameter. All users updated.
13537 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13538 util/efi/grub-mkimage.c
13539 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13540 New option --rom-directory.
13541 Use xorriso.
13542 * util/i386/efi/grub-mkimage.c: Removed.
13543 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13544 (grub_target_to_host32): Likewise.
13545 (grub_target_to_host64): Likewise.
13546 (grub_host_to_target16): Likewise.
13547 (grub_host_to_target32): Likewise.
13548 (grub_host_to_target64): Likewise.
13549 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13550 (grub_target_to_host32): Likewise.
13551 (grub_target_to_host64): Likewise.
13552 (grub_host_to_target16): Likewise.
13553 (grub_host_to_target32): Likewise.
13554 (grub_host_to_target64): Likewise.
13555
13556 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13557
13558 Source tree is reorganized for emu build.
13559
13560 * include/grub/util/console.h: Move from here...
13561 * include/grub/emu/console.h: ...to here.
13562 * include/grub/util/getroot.h: Move from here...
13563 * include/grub/emu/getroot.h: ...to here.
13564 * include/grub/util/hostdisk.h: Move from here...
13565 * include/grub/emu/hostdisk.h: ...to here.
13566 * util/console.c: Move from here...
13567 * kern/emu/console.c: ...to here.
13568 * util/getroot.c: Move from here...
13569 * kern/emu/getroot.c: ...to here.
13570 * util/grub-emu.c: Move from here...
13571 * kern/emu/main.c: ...to here.
13572 * util/hostdisk.c: Move from here...
13573 * kern/emu/hostdisk.c: ...to here.
13574 * util/hostfs.c: Move from here...
13575 * kern/emu/hostfs.c: ...to here.
13576 * util/mm.c: Move from here...
13577 * kern/emu/mm.c: ...to here.
13578 * util/pci.c: Move from here...
13579 * bus/emu/pci.c: ...to here.
13580 * util/sdl.c: Move from here...
13581 * video/emu/sdl.c: ...to here.
13582 * util/time.c: Move from here...
13583 * kern/emu/time.c: ...to here.
13584 * util/usb.c: Move from here...
13585 * bus/usb/emu/usb.c: ...to here.
13586
13587 * include/grub/emu/misc.h: New header for grub-emu functions.
13588 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13589
13590 * conf/any-emu.rmk: Rule updates for above renames.
13591 * conf/common.rmk: Likewise.
13592 * conf/i386-pc.rmk: Likewise.
13593 * conf/i386-qemu.rmk: Likewise.
13594 * conf/mips.rmk: Likewise.
13595 * conf/sparc64-ieee1275.rmk: Likewise.
13596 * conf/x86-efi.rmk: Likewise.
13597
13598 * disk/lvm.h: #include updates for above renames.
13599 * util/grub-mkrelpath.c: Likewise.
13600 * util/grub-probe.c: Likewise.
13601 * util/i386/pc/grub-setup.c: Likewise.
13602 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13603 * kern/emu/console.c: Likewise.
13604 * kern/emu/getroot.c: Likewise.
13605 * kern/emu/hostdisk.c: Likewise.
13606 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13607
13608 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13609 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13610 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13611 * util/misc.c: Remove grub-emu functions.
13612
13613 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13614
13615 Fix gfxmenu crash.
13616 Reported by: Thorsten Grützmacher.
13617
13618 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13619 timeout hook.
13620 (circprog_set_property): Register and unregister timeout hook.
13621 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13622 (label_destroy): Free template. and unregister hook.
13623 (label_set_state): New function.
13624 (label_set_property): Handle templates and hooks.
13625 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13626 timeout hook.
13627 (progress_bar_set_property): Register and unregister timeout hook.
13628 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13629 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13630 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13631 (update_timeout_visit): Removed.
13632 (update_timeouts): New function.
13633 (redraw_timeouts): Likewise.
13634 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13635 (grub_gfxmenu_clear_timeout): Likewise.
13636 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13637 (grub_gfxmenu_timeout_notify): Likewise.
13638 (grub_gfxmenu_timeout_notifications): New external variable.
13639 (grub_gfxmenu_timeout_register): New function.
13640 (grub_gfxmenu_timeout_unregister): Likewise.
13641
13642 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13643
13644 Transform (broken) vga terminal into (working) vga video driver.
13645
13646 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13647 video/i386/pc/vga.c.
13648 * include/grub/video.h (grub_video_driver_id):
13649 Add GRUB_VIDEO_DRIVER_VGA.
13650 * term/i386/pc/vga.c: Renamed to ...
13651 * video/i386/pc/vga.c: ...this
13652 (DEBUG_VGA): Removed.
13653 (CHAR_WIDTH): Likewise.
13654 (CHAR_HEIGHT): Likewise.
13655 (TEXT_WIDTH): Likewise.
13656 (TEXT_HEIGHT): Likewise.
13657 (DEFAULT_FG_COLOR): Likewise.
13658 (DEFAULT_BG_COLOR): Likewise.
13659 (colored_char): Likewise.
13660 (xpos): Likewise.
13661 (ypos): Likewise.
13662 (cursor_state): Likewise.
13663 (fg_color): Likewise.
13664 (bg_color): Likewise.
13665 (text_buf): Likewise.
13666 (page): Likewise.
13667 (font): Likewise.
13668 (framebuffer): New variable.
13669 (set_read_map): Disabled.
13670 (setup): New variable.
13671 (is_target): Likewise.
13672 (grub_vga_mod_init): Likewise.
13673 (grub_vga_mod_fini): Likewise.
13674 (check_vga_mem): Likewise.
13675 (write_char): Likewise.
13676 (write_cursor): Likewise.
13677 (scroll_up): Likewise.
13678 (grub_vga_putchar): Likewise.
13679 (grub_vga_getcharwidth): Likewise.
13680 (grub_vga_getwh): Likewise.
13681 (grub_vga_getxy): Likewise.
13682 (grub_vga_gotoxy): Likewise.
13683 (grub_vga_cls): Likewise.
13684 (grub_vga_setcolorstate): Likewise.
13685 (grub_vga_setcursor): Likewise.
13686 (grub_video_vga_init): New function.
13687 (grub_video_vga_setup): Likewise.
13688 (grub_video_vga_fini): Likewise.
13689 (update_target): Likewise.
13690 (grub_video_vga_blit_bitmap): Likewise.
13691 (grub_video_vga_blit_render_target): Likewise.
13692 (grub_video_vga_set_active_render_target): Likewise.
13693 (grub_video_vga_get_active_render_target): Likewise.
13694 (grub_video_vga_swap_buffers): Likewise.
13695 (grub_video_vga_set_palette): Likewise.
13696 (grub_video_vga_get_info_and_fini): Likewise.
13697 (grub_vga_term): Removed.
13698 (grub_video_vga_adapter): New variable.
13699 (GRUB_MOD_INIT): Register a video driver instead of terminal.
13700 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
13701
13702 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13703
13704 * video/readers/jpeg.c: Indented.
13705
13706 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 Various jpeg cleanups.
13709
13710 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
13711 (grub_jpeg_decode_quan_table): Use sizeof.
13712 (grub_jpeg_decode_du): Use ARRAY_SIZE.
13713
13714 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
13715
13716 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
13717 tables. Ignore non-last ac bit.
13718 (grub_jpeg_decode_quan_table): Likewise.
13719
13720 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
13723 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
13724 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13725 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
13726 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
13727 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
13728
13729 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13730
13731 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
13732 error.
13733
13734 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
13737
13738 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13739
13740 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
13741 condition.
13742
13743 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13744
13745 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
13746 part.
13747
13748 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13749
13750 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
13751 pointers.
13752
13753 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13754
13755 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
13756
13757 2010-05-01 Christian Franke <franke@computer.org>
13758
13759 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
13760 Remove broken Cygwin path conversion.
13761 * util/misc.c: [__CYGWIN__] Add include and define.
13762 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
13763 for Cygwin 1.7.
13764 (make_system_path_relative_to_its_root): Simplify loop, replace early
13765 return by break.
13766 [__CYGWIN__] Add conversion to win32 path.
13767 Include "/" case in trailing slash removal.
13768
13769 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13770
13771 * kern/main.c (grub_load_config): Fix copy-pasted comment.
13772 Reported by: Seth Goldberg
13773
13774 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13775
13776 * commands/help.c (grub_cmd_help): Fix a typo.
13777 Reported by: Seth Goldberg
13778
13779 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13780
13781 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
13782 name and add N_.
13783 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
13784 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
13785 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
13786 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
13787 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
13788 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
13789 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13790 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13791 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13792 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13793 * normal/context.c (GRUB_MOD_INIT): Likewise.
13794 * normal/main.c (GRUB_MOD_INIT): Likewise.
13795 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
13796 * term/serial.c (GRUB_MOD_INIT): Likewise.
13797 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
13798
13799 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13800
13801 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
13802 extra == 0.
13803
13804 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13805
13806 * commands/iorw.c: New file.
13807 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
13808 (iorw_mod_SOURCES): New variable.
13809 (iorw_mod_CFLAGS): Likewise.
13810 (iorw_mod_LDFLAGS): Likewise.
13811
13812 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13813
13814 Hotkey support
13815
13816 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
13817 * normal/main.c (hotkey_aliases): New variable.
13818 (grub_normal_add_menu_entry): Parse "--hotkey".
13819 * normal/menu_text.c (run_menu): Handle hotkeys.
13820
13821 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13822
13823 * kern/i386/coreboot/init.c (grub_machine_init): Call
13824 grub_machine_mmap_init on qemu.
13825
13826 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13827
13828 * boot/i386/qemu/boot.S: Add a missing .code16.
13829
13830 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13831
13832 Use LBIO on coreboot.
13833
13834 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
13835 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
13836 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
13837 New declaration.
13838 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
13839 grub_machine_mmap_init on coreboot.
13840 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
13841 GRUB_LINUXBIOS_MEMBER_LINK.
13842 (grub_machine_mmap_iterate): Fix declaration.
13843 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
13844
13845 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 Split coreboot and multiboot ports.
13848
13849 * conf/i386-multiboot.rmk: New file.
13850 * configure.ac: Add multiboot port.
13851 * include/grub/i386/multiboot/boot.h: New file.
13852 * include/grub/i386/multiboot/console.h: Likewise.
13853 * include/grub/i386/multiboot/init.h: Likewise.
13854 * include/grub/i386/multiboot/kernel.h: Likewise.
13855 * include/grub/i386/multiboot/loader.h: Likewise.
13856 * include/grub/i386/multiboot/memory.h: Likewise.
13857 * include/grub/i386/multiboot/serial.h: Likewise.
13858 * include/grub/i386/multiboot/time.h: Likewise.
13859 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
13860 * loader/multiboot.c: Likewise.
13861 * loader/multiboot_mbi2.c: Likewise.
13862 * util/grub-mkrescue.in: Generate multiboot rescue.
13863
13864 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13865
13866 * kern/parser.c (grub_parser_execute): Cope with read-only config.
13867
13868 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13869
13870 Merge handling of input and output terminals. Fix a hang.
13871
13872 * commands/terminal.c (abstract_terminal): New struct.
13873 (handle_command): New function. Based on grub_cmd_terminal_input.
13874 (grub_cmd_terminal_input): Use handle_command.
13875 (grub_cmd_terminal_output): Use handle_command.
13876
13877 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
13878
13879 Fix comment handling.
13880
13881 * tests/grub_script_comments.in: New testcase.
13882 * conf/tests.rmk: Rules for new testcase.
13883 * script/yylex.l: Updated flex rules.
13884
13885 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
13886
13887 * docs/grub.texi (play): Document that zero pitches produce rests.
13888 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
13889 if argc is 1.
13890
13891 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13892
13893 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
13894 autogen issues.
13895
13896 2010-04-26 Christian Franke <franke@computer.org>
13897
13898 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
13899 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
13900 (grub_get_prefix): Remove function.
13901 * util/grub-emu.c (main): Replace grub_get_prefix () call by
13902 make_system_path_relative_to_its_root ().
13903 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13904
13905 2010-04-24 Christian Franke <franke@computer.org>
13906
13907 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
13908 (kernel_img_LDFLAGS): Remove -static-libgcc.
13909
13910 2010-04-24 Christian Franke <franke@computer.org>
13911
13912 * configure.ac: Do not CHECK_BSS_START_SYMBOL
13913 and CHECK_END_SYMBOL if grub-emu is built.
13914 Unset TARGET_OBJ2ELF if grub-emu is built
13915 without module support.
13916
13917 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
13918
13919 Nilfs2 support.
13920
13921 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
13922 (grub_fstest_SOURCES): Likewise.
13923 (pkglib_MODULES): Add nilfs2.mod.
13924 (nilfs2_mod_SOURCES): New variable.
13925 (nilfs2_mod_CFLAGS): Likewise.
13926 (nilfs2_mod_LDFLAGS): Likewise.
13927 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13928 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13929 * fs/nilfs2.c: New file.
13930
13931 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
13932
13933 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
13934 is not supported.
13935
13936 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
13937
13938 Add grub-mkconfig support for NetBSD.
13939
13940 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
13941 * util/grub-mkconfig.in: export new NetBSD specific variables.
13942 * po/POTFILES-shell: added 10_netbsd.in.
13943 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
13944
13945 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
13946
13947 Fix emu build with grub-emu-pci and grub-emu-modules.
13948
13949 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
13950 functions.
13951 * include/grub/libpciaccess.h: New file.
13952 * conf/any-emu.rmk: Update kernel headers for emu build.
13953
13954 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
13957
13958 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13959
13960 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
13961
13962 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
13965 Retrieve chosen/bootpath if bootpath isn't hardcoded.
13966 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
13967 util/ieee1275/ofpath.c.
13968 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
13969 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
13970 * include/grub/sparc64/ieee1275/boot.h
13971 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
13972 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
13973 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
13974 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
13975 const char *.
13976 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
13977 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
13978 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
13979 install.
13980
13981 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13982
13983 * util/grub-mkconfig.in: Corrected two == equality tests.
13984 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
13985 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
13986 expect a number appended to it.
13987 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
13988 expects a number appended to it.
13989
13990 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13991
13992 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
13993
13994 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 * util/hostdisk.c (make_device_name): Change to new partition naming.
13997
13998 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13999
14000 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
14001
14002 2010-04-17 Christian Franke <franke@computer.org>
14003
14004 * Makefile.in: Add missing localedir setting.
14005
14006 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
14007
14008 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
14009 mistake in r2156. Noticed by Anthony Fok.
14010
14011 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
14012 @localedir@.
14013 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
14014
14015 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
14016
14017 Fix a spurious, uninitialized variable warning.
14018
14019 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
14020 Initialize variable, shdr.
14021 (grub_freebsd_load_elfmodule): Likewise.
14022 (grub_freebsd_load_elf_meta): Likewise.
14023
14024 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
14025
14026 Fix for escaped dollar in double quoted strings.
14027
14028 * script/yylex.l: Updated flex rules.
14029 * conf/tests.rmk: Rule for new testcase.
14030 * tests/grub_script_dollar.in: New testcase.
14031
14032 2010-04-13 Carles Pina i Estany <carles@pina.cat>
14033 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
14034
14035 Enclose all translated strings in grub.cfg in single quotes, and
14036 escape them appropriately (Ubuntu bug #552921).
14037
14038 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
14039 * util/grub.d/10_hurd.in: Use it.
14040 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
14041 * util/grub.d/10_linux.in (linux_entry): Likewise.
14042
14043 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14044
14045 Fix cygwin compilation.
14046
14047 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
14048 * include/grub/misc.h (__register_frame_info)
14049 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14050 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14051 * kern/misc.c (__register_frame_info)
14052 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14053 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14054
14055 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14056
14057 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14058
14059 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 Unify libgcc processing.
14062
14063 * Makefile.in (kernel_img_LDFLAGS): New variable.
14064 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14065 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14066 overwriting.
14067 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14068 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14069 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14070 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14071 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14072 overwriting. Remove -lgcc and -static-libgcc
14073 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14074 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14075 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14076 (kernel_img_LDFLAGS): Append instead of overwriting.
14077 Remove -lgcc and -static-libgcc
14078 * conf/sparc64-ieee1275.rmk: Likewise.
14079 * include/grub/powerpc/libgcc.h: Move to ...
14080 * include/grub/libgcc.h: .. this.
14081 * include/grub/libgcc.h: Don't export most of the function on x86.
14082 (__bswapsi2): New export.
14083 (__bswapdi2): Likewise.
14084 * include/grub/mips/libgcc.h: Removed.
14085 * include/grub/sparc64/libgcc.h: Likewise.
14086
14087 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14088
14089 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14090 disk_info_msg (conflicts with gettexting into languages with cases).
14091
14092 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14093
14094 Add grub-probe support for NetBSD.
14095
14096 * util/getroot.c (find_root_device): Convert block device to
14097 character device on NetBSD.
14098 * util/probe.c (probe): Require character device on NetBSD.
14099 * util/hostdisk.c: NetBSD specific headers.
14100 (configure_device_driver): new function to tune device driver
14101 parameters (currently only for NetBSD floppy driver).
14102 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14103 via disklabel ioctl).
14104 (open_device): call configure_device_driver on NetBSD.
14105 (convert_system_partition_to_system_disk): NetBSD specific code.
14106 (device_is_wholedisk): Likewise.
14107 (grub_util_biosdisk_get_grub_dev): Likewise.
14108 (make_device_name): Fixed a typo in bsd_part_str.
14109 * configure.ac: check for opendisk() and getrawpartition() on
14110 NetBSD and set LIBUTIL.
14111 * Makefile.in: add LIBUTIL to LIBS.
14112
14113 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14114
14115 Documentation fix.
14116
14117 * util/grub-script-check.c: Better help message.
14118
14119 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14120
14121 Fix FreeBSD build.
14122
14123 * configure.ac: Flex version check.
14124 * conf/common.rmk: Add -Wno-error to sh.mod.
14125 * script/yylex.l: Remove all #pragma.
14126
14127 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14128
14129 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14130 prototype.
14131 Reported by: Seth Goldberg.
14132
14133 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14134
14135 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14136 Rename "module" to "module2".
14137 Reported by: Seth Goldberg.
14138
14139 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14142 EXPORT_FUNC.
14143 Reported by: Seth Goldberg.
14144
14145 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14146
14147 * lib/posix_wrap/locale.h: Add missing file.
14148 Reported by: Seth Goldberg.
14149
14150 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14151
14152 grub-emu module load support.
14153
14154 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14155 NO_DYNAMIC_MODULES switched to this.
14156 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14157 (CFLAGS): Likewise.
14158 * conf/any-emu.rmk: Generate symlist.
14159 (kernel_img_HEADERS): Add util/datetime.h.
14160 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14161 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14162 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14163 kern/$(target_cpu)/cache.S.
14164 * configure.ac (grub-emu-modules): New option.
14165 * genmk.rb: Handle multiple source lists.
14166 * include/grub/sdl.h: New file.
14167 * include/grub/libusb.h: Likewise.
14168 * util/grub-emu.c (main): Hanle (host) root.
14169 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14170 GRUB_ERR_UNKNOWN_DEVICE.
14171 * util/misc.c: Move mm functions to ...
14172 * util/mm.c: ... here. All users updated.
14173
14174 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14177 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14178 missing files.
14179 (maintainer-clean): Remove libgcrypt-grub.
14180
14181 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14182
14183 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14184
14185 2010-04-09 EFI Coder <eficoder@hotmail.com>
14186
14187 * normal/menu_text.c (print_message): Clean up the message and show
14188 the Fn information when on EFI
14189 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14190
14191 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14194 All users updated.
14195 * normal/crypto.c (read_crypto_list): Likewise.
14196 * normal/dyncmd.c (read_command_list): Likewise.
14197 * normal/term.c (read_terminal_list): Likewise.
14198 * normal/main.c (read_lists): Use explicit prefix.
14199 (read_lists_hook): Use read_lists.
14200 (grub_normal_execute): Likewise.
14201
14202 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14205 Reported by: Thomas Schmitt.
14206 Add -no-emul-boot to grub-mkisofs parameters.
14207
14208 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 * font/font.c: Indented.
14211
14212 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14213
14214 Elif support to GRUB script (by Deepak Vankadaru).
14215
14216 * tests/grub_script_if.in: New testcase.
14217 * conf/tests.rmk: Rule for new testcase.
14218 * script/parser.y: Grammar rules for elif.
14219
14220 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14221
14222 While and until loops support to GRUB script.
14223
14224 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14225 (grub_script_create_cmdwhile): New function prototype.
14226 (grub_script_execute_cmdwhile): New function prototype.
14227 * script/execute.c (grub_script_execute_cmdwhile): New function.
14228 * script/parser.y (command): New commands.
14229 (whilecmd): New grammar rule.
14230 (untilcmd): New grammar rule.
14231 * script/script.c (grub_script_create_cmdwhile): New function.
14232 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14233 function.
14234
14235 * tests/grub_script_while1.in: New testcase.
14236 * conf/tests.rmk: Rule for new testcase.
14237
14238 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14239
14240 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14241 as *.jpg.
14242
14243 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
14244
14245 GRUB_BACKGROUND support.
14246
14247 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14248 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14249
14250 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14251
14252 Load fonts and modules for gfxmenu in grub-mkconfig.
14253 Idea by: Mario Vazquez
14254
14255 * util/grub.d/00_header.in: Load pf2 and image modules.
14256
14257 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14258
14259 grub-mkconfig multiple terminal support.
14260
14261 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14262 * util/grub.d/00_header.in: Likewise.
14263
14264 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14265
14266 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14267 we use cd $(srcdir).
14268
14269 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
14270
14271 * util/grub.d/10_linux.in: Only use the first word of
14272 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14273 spaces in GRUB_DISTRIBUTOR.
14274 * util/grub.d/10_kfreebsd.in: Likewise.
14275 * util/grub.d/10_hurd.in: Likewise.
14276
14277 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14278
14279 Fix unit testing framework for Qemu 0.12.
14280
14281 * tests/util/grub-shell.in: Remove -serial stdio option.
14282
14283 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14284
14285 POSIX header file wrappers.
14286
14287 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14288 equivalents.
14289 * lib/posix_wrap/ctype.h: Likewise.
14290 * lib/posix_wrap/errno.h: Likewise.
14291 * lib/posix_wrap/langinfo.h: Likewise.
14292 * lib/posix_wrap/limits.h: Likewise.
14293 * lib/posix_wrap/localcharset.h: Likewise.
14294 * lib/posix_wrap/stdint.h: Likewise.
14295 * lib/posix_wrap/stdio.h: Likewise.
14296 * lib/posix_wrap/stdlib.h: Likewise.
14297 * lib/posix_wrap/string.h: Likewise.
14298 * lib/posix_wrap/sys/types.h: Likewise.
14299 * lib/posix_wrap/unistd.h: Likewise.
14300 * lib/posix_wrap/wchar.h: Likewise.
14301 * lib/posix_wrap/wctype.h: Likewise.
14302 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14303 (grub_script.yy.h): Likewise.
14304 * script/yylex.l: Remove POSIX emulation #defines.
14305 * Makefile.in (POSIX_CFLAGS): New variable.
14306 (GNULIB_UTIL_CFLAGS): Likewise.
14307
14308 Regexp support.
14309
14310 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14311 (regexp_mod_SOURCES): New variable.
14312 (regexp_mod_CFLAGS): Likewise.
14313 (regexp_mod_LDFLAGS): Likewise.
14314 * commands/regexp.c: New file.
14315 * gnulib/regcomp.c: New file. Imported from gnulib.
14316 * gnulib/regex.c: Likewise.
14317 * gnulib/regex_internal.c: Likewise.
14318 * gnulib/regex_internal.h: Likewise.
14319 * gnulib/regexec.c: Likewise.
14320 * gnulib/regex.h: Likewise.
14321
14322 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14325 unsupported video mode types.
14326
14327 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14330
14331 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14332
14333 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14334 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14335
14336 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14337
14338 Remove unused grub_vga_get_font.
14339
14340 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14341 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14342
14343 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14344
14345 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14346 * include/grub/misc.h: Likewise.
14347
14348 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14349
14350 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14351 for which failure is fatal.
14352
14353 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14354
14355 * util/grub-install.in: Use mkdir -p to create grub directory.
14356 * util/i386/efi/grub-install.in: Likewise.
14357 * util/ieee1275/grub-install.in: Likewise.
14358
14359 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14360
14361 * Makefile.in (LEX): new variable.
14362
14363 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14364
14365 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14366 `=' and added double quotes on operands of this equality test.
14367
14368 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14369
14370 * Makefile.in (uninstall): Remove a leftover debug echo.
14371 Reported by: Grégoire Sutre
14372
14373 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 MIPS multiboot2 support.
14376
14377 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14378 (multiboot2_mod_SOURCES): New variable.
14379 (multiboot2_mod_CFLAGS): Likewise.
14380 (multiboot2_mod_LDFLAGS): Likewise.
14381 (multiboot2_mod_ASFLAGS): Likewise.
14382 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14383 definition.
14384 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14385 (MULTIBOOT_MBI_REGISTER): Likewise.
14386 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14387 (MULTIBOOT_ELF32_MACHINE): Likewise.
14388 (MULTIBOOT_ELF64_MACHINE): Likewise.
14389 * include/grub/mips/multiboot.h: New file.
14390 * include/grub/video.h (grub_video_driver_id): New type
14391 GRUB_VIDEO_DRIVER_SM712.
14392 (grub_video_get_info_and_fini): Export.
14393 (grub_video_get_palette): Likewise.
14394 (grub_video_get_driver_id): Likewise.
14395 * include/multiboot2.h: Resynced with spec.
14396 * loader/i386/multiboot.c: Moved from here ...
14397 * loader/multiboot.c: ... here. All users updated.
14398 (grub_multiboot_boot): Use platform-specific macros.
14399 * loader/i386/multiboot_elfxx.c: Moved from here ...
14400 * loader/multiboot_elfxx.c: ... here. All users updated.
14401 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14402 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14403 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14404
14405 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14406
14407 Import gnulib argp module.
14408
14409 * gnulib/argp-ba.c: New file.
14410 * gnulib/argp-eexst.c: Likewise.
14411 * gnulib/argp-fmtstream.c: Likewise.
14412 * gnulib/argp-fmtstream.h: Likewise.
14413 * gnulib/argp-fs-xinl.c: Likewise.
14414 * gnulib/argp-help.c: Likewise.
14415 * gnulib/argp-namefrob.h: Likewise.
14416 * gnulib/argp-parse.c: Likewise.
14417 * gnulib/argp-pin.c: Likewise.
14418 * gnulib/argp-pv.c: Likewise.
14419 * gnulib/argp-pvh.c: Likewise.
14420 * gnulib/argp-version-etc.c: Likewise.
14421 * gnulib/argp-version-etc.h: Likewise.
14422 * gnulib/argp-xinl.c: Likewise.
14423 * gnulib/argp.h: Likewise.
14424
14425 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14426
14427 * kern/device.c (grub_device_iterate): Clear errors after failed
14428 opening device.
14429
14430 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14431
14432 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14433 returned by firmware.
14434
14435 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14438 compilation on coreboot and qemu
14439
14440 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14441
14442 * include/multiboot2.h: Resync with spec.
14443
14444 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14445
14446 Multiboot2 tag support
14447
14448 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14449 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14450 Remove loader/multiboot_loader.c.
14451 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14452 (grub_multiboot2_real_boot): Likewise.
14453 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14454 (grub_get_multiboot_mmap_count): New proto.
14455 (grub_fill_multiboot_mmap): Likewise.
14456 (grub_multiboot_set_video_mode): Likewise.
14457 (grub_multiboot_set_console): Likewise.
14458 (grub_multiboot_load): Likewise.
14459 (grub_multiboot_load_elf): Likewise.
14460 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14461 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14462 * include/multiboot.h: Resynced with specification.
14463 * include/multiboot2.h: Resynced with specification.
14464 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14465 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14466 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14467 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14468 users updated.
14469 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14470 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14471 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14472 Removed.
14473 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14474 Moved from here...
14475 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14476 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14477 Moved from here...
14478 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14479 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14480 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14481 All users updated.
14482 * loader/i386/multiboot_mbi2.c: New file.
14483
14484 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14485
14486 Resync with gnulib.
14487
14488 * Makefile.in (GNULIB_CFLAGS): New variable.
14489 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14490 (grub_script_check_CFLAGS): New variable.
14491 * gnulib/alloca.h: Resync with gnulib.
14492 * gnulib/error.c: Likewise.
14493 * gnulib/error.h: Likewise.
14494 * gnulib/fnmatch.c: Likewise.
14495 * gnulib/fnmatch_loop.c: Likewise.
14496 * gnulib/getdelim.c: Likewise.
14497 * gnulib/getline.c: Likewise.
14498 * gnulib/getopt.c: Likewise.
14499 * gnulib/getopt1.c: Likewise.
14500 * gnulib/getopt_int.h: Likewise.
14501 * gnulib/gettext.h: Likewise.
14502 * gnulib/progname.c: Likewise.
14503 * gnulib/progname.h: Likewise.
14504
14505 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14506
14507 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14508 which is the case with --disabled-nls.
14509
14510 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14511 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14512 * util/misc.c: Likewise.
14513 * util/mkisofs/mkisofs.c: Likewise.
14514 * util/mkisofs/mkisofs.h: Likewise.
14515
14516 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14517
14518 Simplify Apple CC support.
14519
14520 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14521 Add 0 byte at the end not to have a symbol with empty target.
14522 * mmap/i386/pc/mmap_helper.S: Likewise.
14523 * genmk.rb: Ignore errors 2030 and 2050.
14524 * kern/i386/pc/startup.S: Use LOCAL when possible.
14525
14526 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14527
14528 Testcase and the fix for final semicolon on cmdline.
14529
14530 * tests/grub_script_final_semicolon.in: New testcase.
14531 * conf/tests.rmk: Rules for the new testcase.
14532 * script/parser.y: Grammar fix.
14533
14534 2010-03-26 BVK Chaitanya <bvk@localhost>
14535
14536 Blank lines testcase for GRUB script.
14537
14538 * tests/grub_script_blanklines.in: New testcase.
14539 * conf/tests.rmk: Rules for the new testcase.
14540
14541 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14542
14543 Don't use __FILE__.
14544
14545 * genmk.rb: Add -DGRUB_FILE to all C targets.
14546 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14547 * include/grub/list.h: Likewise.
14548 * include/grub/misc.h: Likewise.
14549 * include/grub/mm.h: Likewise.
14550 * include/grub/test.h: Likewise.
14551 * kern/mm.c: Likewise.
14552 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14553
14554 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14555
14556 Sunpc partitions support.
14557
14558 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14559 (grub_fstest_SOURCES): Likewise.
14560 (pkglib_MODULES): Add part_sunpc.mod.
14561 (part_sunpc_mod_SOURCES): New variable.
14562 (part_sunpc_mod_CFLAGS): Likewise.
14563 (part_sunpc_mod_LDFLAGS): Likewise.
14564 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14565 * partmap/sunpc.c: New file.
14566
14567 2010-03-26 BVK Chaitanya <bvk@localhost>
14568
14569 For loop support to GRUB script.
14570
14571 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14572 (grub_script_create_cmdfor): New function prototype.
14573 (grub_script_execute_cmdfor): New function prototype.
14574 * script/execute.c (grub_script_execute_cmdfor): New function.
14575 * script/parser.y (command): New for command.
14576 (forcmd): New grammar rule.
14577 * script/script.c (grub_script_create_cmdfor): New function.
14578 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14579 function.
14580 * tests/grub_script_for1.in: New testcase.
14581 * conf/tests.rmk: Rules for new testcase.
14582
14583 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14584
14585 Nested partitions
14586
14587 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14588 'partition' is NULL, grub_partition_get_start already does that.
14589 * commands/loadenv.c (check_blocklists): Likewise.
14590 (write_blocklists): Likewise.
14591 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14592 (grub_fstest_SOURCES): Likewise.
14593 (pkglib_MODULES): Add part_bsd.mod.
14594 (part_bsd_mod_SOURCES): New variable.
14595 (part_bsd_mod_CFLAGS): Likewise.
14596 (part_bsd_mod_LDFLAGS): Likewise.
14597 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14598 (grub_emu_SOURCES): Likewise.
14599 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14600 * include/grub/bsdlabel.h: New file.
14601 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14602 'get_name'.
14603 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14604 (grub_partition_map_list): New variable.
14605 (grub_partition_map_register): Inline.
14606 (grub_partition_map_unregister): Likewise.
14607 (FOR_PARTITION_MAPS): New macro.
14608 (grub_partition_map_iterate): Removed.
14609 (grub_partition_get_start): Handle nested partitions.
14610 * include/grub/msdos_partition.h: Remove bsd-related entries.
14611 (grub_pc_partition): Remove.
14612 * kern/disk.c (grub_disk_close): Free partition data.
14613 (grub_disk_adjust_range): Handle nested partitions.
14614 * kern/partition.c (grub_partition_map_probe): New function.
14615 (grub_partition_probe): Parse name to number, handle subpartitions.
14616 (get_partmap): New function.
14617 (grub_partition_iterate): Handle subpartitions.
14618 (grub_partition_get_name): Likewise.
14619 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14620 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14621 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14622 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14623 Set 'number'.
14624 (acorn_partition_map_probe): Remove.
14625 (acorn_partition_map_get_name): Likewise.
14626 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14627 Set 'number'.
14628 Set 'index' to 0 since there can be only one partition entry per sector.
14629 (amiga_partition_map_probe): Remove.
14630 (amiga_partition_map_get_name): Likewise.
14631 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14632 Set 'number'.
14633 Set 'offset' and 'index' to real positions of partitions.
14634 (apple_partition_map_probe): Remove.
14635 (apple_partition_map_get_name): Likewise.
14636 * partmap/bsdlabel.c: New file.
14637 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14638 Set 'number'.
14639 Allocate 'data' so it can be correctly freed.
14640 Set 'index' to offset inside sector.
14641 (gpt_partition_map_probe): Remove.
14642 (gpt_partition_map_get_name): Likewise.
14643 * partmap/msdos.c (grub_partition_parse): Remove.
14644 (pc_partition_map_iterate): Don't force raw access.
14645 Set 'number'.
14646 Make 'ext_offset' a local variable.
14647 (pc_partition_map_probe): Remove.
14648 (pc_partition_map_get_name): Remove.
14649 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14650 Set 'number'.
14651 (sun_partition_map_probe): Remove.
14652 (sun_partition_map_get_name): Likewise.
14653 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14654 (grub_pcpart_type): Likewise.
14655 * util/hostdisk.c (open_device): Handle new numbering scheme.
14656 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14657 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14658 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14659 * util/grub-install.in: Insert all subpartition modules.
14660 * util/ieee1275/grub-install.in: Likewise.
14661
14662 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14663
14664 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14665 grammar.
14666
14667 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
14668
14669 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14670
14671 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
14672
14673 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14674 match where 'make install' puts them.
14675 * util/i386/efi/grub-install.in: Likewise.
14676
14677 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
14678
14679 * .bzrignore: Add gentrigtables, grub-script-check,
14680 grub_script_check_init.c, grub_script_check_init.h, and
14681 trigtables.c.
14682
14683 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
14684
14685 * kern/parser.c: Indented.
14686
14687 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14688
14689 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
14690
14691 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14692
14693 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
14694 alpha_mask_size == 0 case.
14695
14696 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
14697
14698 GRUB shell lexer and parser improvements.
14699
14700 * conf/any-emu.rmk: Build rule updates.
14701 * conf/common.rmk: Likewise.
14702 * conf/i386-coreboot.rmk: Likewise.
14703 * conf/i386-efi.rmk: Likewise.
14704 * conf/i386-ieee1275.rmk: Likewise.
14705 * conf/i386-pc.rmk: Likewise.
14706 * conf/powerpc-ieee1275.rmk: Likewise.
14707 * conf/x86_64-efi.rmk: Likewise.
14708
14709 * configure.ac: Configure check for flex.
14710
14711 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
14712 types.
14713 (grub_lexer_param): Struct member updates.
14714 (grub_parser_param): Likewise.
14715 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
14716 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
14717 (grub_script_lexer_init): Prototype update.
14718 (grub_script_lexer_record_start): Likewise.
14719 (grub_script_lexer_record_stop): Likewise.
14720 (grub_script_lexer_yywrap): New function prototype.
14721 (grub_script_lexer_fini): Likewise.
14722 (grub_script_execute_argument_to_string): Removed by...
14723 (grub_script_execute_argument_to_argv): ...better version.
14724
14725 * script/execute.c (ROUND_UPTO): New macro.
14726 (grub_script_execute_cmdline): Out of memory fixes.
14727 (grub_script_execute_menuentry): Likewise.
14728 (grub_script_execute_argument_to_string): Removed. Update all
14729 users by...
14730 (grub_script_execute_argument_to_argv): ...better version.
14731 * script/function.c (grub_script_function_create): Use
14732 grub_script_execute_argument_to_argv instead of
14733 grub_script_execute_argument_to_string.
14734
14735 * script/lexer.c (check_varstate): Removed.
14736 (check_textstate): Removed.
14737 (grub_script_lexer_record_start): Likewise.
14738 (grub_script_lexer_record_stop): Likewise.
14739 (recordchar): Replaced with...
14740 (grub_script_lexer_record): ...new function.
14741 (nextchar): Removed.
14742 (grub_script_lexer_init): Rewritten.
14743 (grub_script_yylex): Rewritten.
14744 (append_newline): New function.
14745 (grub_script_lexer_yywrap): New function.
14746 (grub_script_lexer_fini): New function.
14747 (grub_script_yyerror): Sets error flag.
14748
14749 * script/yylex.l: New file.
14750 (grub_lexer_yyfree): Wrapper for flex yyffre.
14751 (grub_lexer_yyalloc): Likewise.
14752 (grub_lexer_yyrealloc): Likewise.
14753 * script/parser.y: Refactored.
14754
14755 * script/script.c (grub_script_arg_add): Out of memory fixes.
14756 (grub_script_add_arglist): Likewise.
14757 (grub_script_create_cmdline): Likewise.
14758 (grub_script_create_cmdmenu): Likewise.
14759 (grub_script_add_cmd): Likewise.
14760 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
14761 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
14762 unnecessary code.
14763
14764 * tests/grub_script_echo1.in: New testcase.
14765 * tests/grub_script_vars1.in: New testcase.
14766 * tests/grub_script_echo_keywords.in: New testcase.
14767
14768 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14769
14770 Remove some redundancy in build system.
14771
14772 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
14773 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
14774 (TARGET_LDFLAGS): Add -nostdlib.
14775 (TARGET_IMG_LDFLAGS): Likewise.
14776 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
14777 anything since mmap isn't available.
14778 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
14779 Add util/time.c.
14780 (pkglib_MODULES): Remove reboot.mod.
14781 (reboot_mod_SOURCES): Removed.
14782 (reboot_mod_CFLAGS): Likewise.
14783 (reboot_mod_LDFLAGS): Likewise.
14784 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
14785 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
14786 (DEFSYMFILES): Add kernel_syms.lst.
14787 (kernel_img_HEADERS): Add common headers.
14788 (symlist.c): New target.
14789 (kernel_syms.lst): Likewise.
14790 (pkglib_MODULES): Add memdisk.mod.
14791 (memdisk_mod_SOURCES): New variable.
14792 (memdisk_mod_CFLAGS): Likewise.
14793 (memdisk_mod_LDFLAGS): Likewise.
14794 (pkglib_MODULES): Add reboot.mod.
14795 (reboot_mod_SOURCES): New variable.
14796 (reboot_mod_CFLAGS): Likewise.
14797 (reboot_mod_LDFLAGS): Likewise.
14798 (pkglib_MODULES): Add date.mod.
14799 (date_mod_SOURCES): New variable.
14800 (date_mod_CFLAGS): Likewise.
14801 (date_mod_LDFLAGS): Likewise.
14802 (pkglib_MODULES): Add datehook.mod.
14803 (datehook_mod_SOURCES): New variable.
14804 (datehook_mod_CFLAGS): Likewise.
14805 (datehook_mod_LDFLAGS): Likewise.
14806 (pkglib_MODULES): Add lsmmap.mod.
14807 (lsmmap_mod_SOURCES): New variable.
14808 (lsmmap_mod_CFLAGS): Likewise.
14809 (lsmmap_mod_LDFLAGS): Likewise.
14810 (pkglib_MODULES): Add boot.mod.
14811 (boot_mod_SOURCES): New variable.
14812 (boot_mod_CFLAGS): Likewise.
14813 (boot_mod_LDFLAGS): Likewise.
14814 * conf/i386-coreboot.rmk: Removed redundant parts.
14815 * conf/i386-ieee1275.rmk: Likewise.
14816 * conf/i386-pc.rmk: Likewise.
14817 * conf/mips-yeeloong.rmk: Likewise.
14818 * conf/mips.rmk: Likewise.
14819 * conf/powerpc-ieee1275.rmk: Likewise.
14820 * conf/sparc64-ieee1275.rmk: Likewise.
14821 * conf/x86_64-efi.rmk: Likewise.
14822 * conf/i386-coreboot.rmk: Moved qemu parts ..
14823 * conf/i386-qemu.rmk: ... here
14824 * conf/i386-efi.rmk: Moved common parts to...
14825 * conf/x86-efi.rmk: ... here.
14826 * conf/i386.rmk: Added modules common to all x86 variants.
14827 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
14828 * disk/memdisk.c: Remove grub/machine/kernel.h.
14829 * gensymlist.sh.in: Include symbol.h.
14830 * hook/datehook.c: Correct module name.
14831 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
14832 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
14833 * include/grub/i386/efi/serial.h: New file.
14834 * include/grub/x86_64/efi/serial.h: Likewise.
14835 * util/time.c: Likewise.
14836 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
14837
14838 2010-03-14 Colin King <colin.king@ubuntu.com>
14839 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
14840
14841 Shrink the pre-partition-table part of boot.img by eight bytes.
14842
14843 * boot/i386/pc/boot.S (ERR): New macro.
14844 (chs_mode): Use ERR.
14845 (geometry_error): Likewise.
14846 (hd_probe_error): Remove. This is only used once, so we wrwite
14847 it inline instead.
14848 (read_error): Instead of printing read_error_string, just set up
14849 %si and fall through to ...
14850 (error_message): ... this new function, also used by ERR.
14851
14852 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
14853
14854 Speed up consecutive hostdisk operations on the same device.
14855
14856 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
14857 (grub_util_biosdisk_open): Initialise disk->data.
14858 (struct linux_partition_cache): New structure.
14859 (linux_find_partition): Cache partition start positions; these are
14860 expensive to compute on every read and write.
14861 (open_device): Cache open file descriptor in disk->data, so that we
14862 don't have to reopen it and flush the buffer cache for consecutive
14863 operations on the same device.
14864 (grub_util_biosdisk_close): New function.
14865 (grub_util_biosdisk_dev): Set `close' member.
14866
14867 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
14868 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
14869 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14870 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14871 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
14872
14873 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14874
14875 Compile parts of grub-emu as modules.
14876
14877 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
14878 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
14879 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
14880 (all-local): Add $(GRUB_EMU).
14881 (install-local): Install $(GRUB_EMU).
14882 (uninstall): Uninstall $(GRUB_EMU).
14883 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
14884 * kern/dl.c: Likewise.
14885 * commands/sleep.c: Not include machine/time.h.
14886 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
14887 (COMMON_CFLAGS): Likewise.
14888 (sbin_UTILITIES): Remove grub-emu.
14889 (grub_emu_SOURCES): Removed.
14890 (kernel_img_RELOCATABLE): New variable.
14891 (pkglib_PROGRAMS): Add kernel.img.
14892 (kernel_img_SOURCES): New variable
14893 (kernel_img_CFLAGS): Likewise.
14894 (kernel_img_LDFLAGS): Likewise.
14895 (TARGET_NO_STRIP): Likewise.
14896 (TARGET_NO_DYNAMIC_MODULES): Likewise.
14897 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
14898 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
14899 (grub-emu): New target.
14900 (GRUB_EMU): New variable.
14901 * configure.ac: Whitelist -emu as possible x86_64 architecture.
14902 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
14903 * loader/xnu.c: Likewise.
14904 * include/grub/pci.h: Likewise.
14905 * genemuinit.sh: New file.
14906 * genemuinitheader.sh: Likewise.
14907 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
14908 Support TARGET_NO_DYNAMIC_MODULES.
14909 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
14910 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
14911 * disk/loopback.c: Likewise.
14912 * font/font_cmd.c: Likewise.
14913 * partmap/acorn.c: Likewise.
14914 * partmap/amiga.c: Likewise.
14915 * partmap/apple.c: Likewise.
14916 * partmap/gpt.c: Likewise.
14917 * partmap/msdos.c: Likewise.
14918 * partmap/sun.c: Likewise.
14919 * parttool/msdospart.c: Likewise.
14920 * term/gfxterm.c: Likewise.
14921 * video/bitmap.c: Likewise.
14922 * video/readers/jpeg.c: Likewise.
14923 * video/readers/png.c: Likewise.
14924 * video/readers/tga.c: Likewise.
14925 * video/video.c: Likewise.
14926 * util/grub-emu.c (read_command_list): Removed.
14927 (main): Don't call util_init_nls.
14928 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
14929 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
14930
14931 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14932
14933 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
14934 date.mod, datehook.mod.
14935 (datetime_mod_SOURCES): New variable.
14936 (datetime_mod_CFLAGS): Likewise.
14937 (datetime_mod_LDFLAGS): Likewise.
14938 (date_mod_SOURCES): Likewise.
14939 (date_mod_CFLAGS): Likewise.
14940 (date_mod_LDFLAGS): Likewise.
14941 (datehook_mod_SOURCES): Likewise.
14942 (datehook_mod_CFLAGS): Likewise.
14943 (datehook_mod_LDFLAGS): Likewise.
14944 * conf/sparc64-ieee1275.rmk: Likewise.
14945 * lib/ieee1275/datetime.c: New file.
14946
14947 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14948
14949 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
14950 (ieee1275_fb_mod_SOURCES): New variable.
14951 (ieee1275_fb_mod_CFLAGS): Likewise.
14952 (ieee1275_fb_mod_LDFLAGS): Likewise.
14953 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
14954 New proto.
14955 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
14956 (HEAP_MAX_ADDR): Likewise.
14957 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
14958 type.
14959 Correct stop condition.
14960 (grub_ieee1275_devices_iterate): New function.
14961 * video/ieee1275.c: New file.
14962
14963 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14964
14965 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
14966
14967 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
14968 as scratch.
14969 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
14970 SCRATCH_PAD_DISKBOOT as scratch.
14971 (bootit): Pass Openfirmware pointer in %o4.
14972 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
14973 of 0x200000.
14974 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
14975 with util/grub-mkrawimage.c.
14976 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
14977 * include/grub/aout.h (AOUT_MID_SUN): New definition.
14978 (grub_aout_get_type) [GRUB_UTIL]: Removed.
14979 (grub_aout_load) [GRUB_UTIL]: Likewise.
14980 * include/grub/kernel.h (grub_modules_get_end): New proto.
14981 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
14982 (SCRATCH_PAD_BOOT): New definition.
14983 (SCRATCH_PAD_DISKBOOT): Likewise.
14984 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
14985 * include/grub/sparc64/ieee1275/ieee1275.h
14986 (grub_ieee1275_original_stack): New variable
14987 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14988 New definition
14989 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
14990 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
14991 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
14992 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
14993 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
14994 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
14995 (grub_platform_image_format_t): New type.
14996 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
14997 * kern/main.c (grub_modules_get_end)
14998 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
14999 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
15000 (codestart): Switch stacks.
15001 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
15002 variable.
15003 (grub_heap_init): Use grub_modules_get_end.
15004 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
15005 stack.
15006 * util/grub-mkrawimage.c (generate_image): Support sparc64.
15007 (main): Likewise.
15008 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
15009
15010 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
15011
15012 * util/grub-mkrescue.in: Base ISO UUID on UTC.
15013
15014 2010-03-08 Matt Kraai <kraai@ftbfs.org>
15015
15016 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
15017 bug #559005).
15018
15019 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
15020
15021 * genmoddep.awk: Output all missing symbols and not only first.
15022
15023 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15024
15025 * NEWS: Put the date of 1.98 release.
15026
15027 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
15030 ft2build.h.
15031
15032 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15033
15034 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
15035 completition in the middle of string.
15036
15037 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15038
15039 * util/grub-mkrescue.in: Use mktemp with explicit template.
15040
15041 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15042
15043 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
15044
15045 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
15046
15047 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
15048 right pointer.
15049
15050 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15051
15052 Fix FreeBSD compilation.
15053
15054 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15055 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15056
15057 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15058
15059 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15060
15061 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15062
15063 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15064
15065 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15066
15067 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15068
15069 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15070
15071 Support relative image path in theme file.
15072
15073 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15074 (image_set_property): Handle theme_dir and relative path.
15075
15076 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15077
15078 * configure.ac: Alias amd64 to x86_64.
15079
15080 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * NEWS: mention multiboot on EFI.
15083
15084 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15085
15086 * kern/main.c (grub_load_modules): Handle errors from init functions of
15087 embeded modules.
15088
15089 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15090
15091 * normal/autofs.c (autoload_fs_module): Handle errors.
15092
15093 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15094
15095 Disable linux.mod on qemu-mips since it's not functional and leads
15096 to compilation failure.
15097
15098 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15099 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15100 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15101 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15102 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15103 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15104 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15105 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15106 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15107 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15108 Reported by: BVK Chaitanya
15109
15110 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15111
15112 * INSTALL: Add gettext as a dependency and add qemu to a new section
15113 "Prerequisites for make-check".
15114
15115 2010-03-04 Christian Franke <franke@computer.org>
15116
15117 * util/grub-pe2elf.c: Add missing include "progname.h".
15118
15119 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * normal/crypto.c (read_crypto_list): Fix a typo.
15122 Reported by: Seth Goldberg.
15123
15124 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
15127 Reported by: Seth Goldberg.
15128
15129 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15130
15131 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15132 ascii.bitmaps.
15133
15134 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15135
15136 * genmk.rb: Remove terminal*.lst in make clean.
15137 Reported by: Seth Goldberg.
15138
15139 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15140
15141 * util/i386/efi/grub-install.in: Copy gettext files.
15142
15143 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15144
15145 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15146
15147 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15148
15149 Wait for user entry basing on presence of output rather than on errors.
15150
15151 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15152 (grub_install_newline_hook): Likewise.
15153 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15154 * normal/menu.c (show_menu): Check line_counter to determine presence
15155 of output.
15156 * normal/term.c (grub_normal_line_counter): New variable.
15157 (grub_normal_get_line_counter): New function.
15158 (grub_install_newline_hook): Likewise.
15159
15160 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15161
15162 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15163
15164 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15165
15166 * configure.ac: Update version to 1.98.
15167
15168 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15169
15170 * util/grub.d/10_linux.in (linux_entry): Don't default to
15171 gfxpayload=keep if Linux doesn't support video handover.
15172
15173 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 Don't compile video modules on yeeloong since video subsystem is part
15176 of kernel.
15177
15178 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15179 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15180 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15181 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15182 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15183 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15184 * include/grub/bitmap_scale.h: Likewise.
15185 * include/grub/bufio.h: Likewise.
15186 * include/grub/font.h: Likewise.
15187 * include/grub/gfxterm.h: Likewise.
15188 * include/grub/video.h: Likewise.
15189 * include/grub/vbe.h: Don't include video_fb.h.
15190 * video/i386/pc/vbe.c: Include video_fb.h.
15191 * commands/i386/pc/vbetest.c: Include video.h.
15192
15193 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15194
15195 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15196 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15197 default entry if GRUB_SAVEDEFAULT=true. This allows using
15198 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15199 saving a new default on every boot.
15200
15201 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15202
15203 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15204 * normal/term.c (read_terminal_list): Likewise.
15205 * normal/main.c (grub_normal_init_page): Likewise.
15206 (grub_normal_read_line_real): Likewise.
15207
15208 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15209
15210 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15211 memory leak.
15212 Reported by: Seth Goldberg.
15213
15214 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15215
15216 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15217 duplicate declaration of `start'.
15218
15219 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15220
15221 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15222 filename.
15223 Reported by: Georgy Buranov
15224
15225 2010-02-20 Carles Pina i Estany <carles@pina.cat>
15226
15227 * util/grub-mkrawimage.c (usage): Change string formatting to
15228 improve gettext.
15229
15230 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15231
15232 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15233 backspace keys.
15234
15235 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15236
15237 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15238 Reported by: Michael Suchanek.
15239
15240 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
15241
15242 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15243 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15244
15245 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15246
15247 Remove any reference to non-free fonts.
15248
15249 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15250 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15251 uses non-free components.
15252 * font/font.c (grub_font_get_name): Remove example name.
15253 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15254 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15255 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15256 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15257
15258 2010-02-16 Georgy Buranov <gburanov@gmail.com>
15259
15260 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15261
15262 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15263
15264 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15265 Double divisor.
15266 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15267 features.
15268 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15269
15270 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15273
15274 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15275
15276 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15277 * docs/grub.texi (Command-line and menu entry commands): Document play
15278 command.
15279
15280 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15281
15282 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15283 parse arguments as inline tempo and notes. Move code for playing notes
15284 to...
15285 (play): ... new function.
15286
15287 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15288
15289 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15290 grub_uint16_t instead of short.
15291 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15292 disk from little endian to cpu endianness.
15293
15294 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15295
15296 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15297 GRUB_TICKS_PER_SECOND instead of 120.
15298
15299 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15302 escape sequence after \e.
15303
15304 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15307 non-ASCII characters.
15308
15309 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15312 set root in single quotes to prevent \, from being unescaped.
15313
15314 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15315
15316 Prevent unknown commands from stopping menuentry execution.
15317
15318 * script/execute.c (grub_script_execute_cmdline): Print error after
15319 unknown command.
15320
15321 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15322
15323 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15324 Reported by: Pavel Pisa.
15325
15326 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15327
15328 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15329
15330 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15331
15332 Merge grub_ieee1275_map_physical into grub_map and rename to
15333 grub_ieee1275_map
15334
15335 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15336 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15337 Remove.
15338 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15339 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15340 necessary.
15341 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15342
15343 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15344
15345 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15346 opening and not after.
15347
15348 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15349
15350 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15351 constants.
15352
15353 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15356 (alloc_phys): Use ALIGN_UP instead of align_addr.
15357
15358 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15359
15360 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15361
15362 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15363
15364 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15365
15366 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15367
15368 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15369 verbose dprintf.
15370
15371 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15372
15373 Fix over-4GiB seek on sparc64.
15374
15375 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15376 Replace pos_i and pos_lo with pos. All users updated.
15377 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15378 New constant.
15379 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15380 Likewise.
15381 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15382 and pos_lo.
15383
15384 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15385
15386 * util/grub-mkrawimage.c (main): Call set_program_name.
15387
15388 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15389
15390 Properly align 64-bit targets.
15391
15392 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15393 (generate_image): Use ALIGN_ADDR.
15394
15395 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 Properly create cross-endian images.
15398
15399 * include/grub/types.h (grub_host_to_target_addr): New macro
15400 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15401
15402 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15403
15404 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15405
15406 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15407
15408 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15409
15410 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15411 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15412 (grub_linux_boot): Divide by 64K when on VESA.
15413
15414 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15415
15416 Support GRUB_GFXPAYLOAD_LINUX.
15417
15418 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15419 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15420
15421 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15424 to show messages instead of discarding them.
15425 Process errors after executing command and not before. Keep old method
15426 too as precaution.
15427
15428 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 * configure.ac: Check for ft2build.h.
15431
15432 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15435
15436 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * genkernsyms.sh.in: Use TARGET_CC.
15439
15440 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
15441
15442 * NEWS: Update.
15443
15444 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15445
15446 * include/grub/multiboot2.h: Remove leftover file.
15447 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15448 * include/grub/partition.h [GRUB_UTIL]: Likewise.
15449
15450 2010-02-07 Yves Blusseau <blusseau@zetam.org>
15451
15452 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
15453
15454 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15455
15456 Fix warnings in grub-emu when compiling with maximum warning options.
15457
15458 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15459 (grub_arch_modules_addr): Return 0 and not NULL.
15460 * util/misc.c (ENABLE_RELOCATABLE): New definition.
15461 (xstrdup): Use newstr instead of dup.
15462 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15463 of disk to dsk to avoid shadowing.
15464 (find_free_slot): Fix prototype.
15465 * util/getroot.c (grub_util_is_dmraid): Make static.
15466 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15467 Add missing prototype.
15468 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
15469
15470 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15471
15472 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15473 appropriately.
15474
15475 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15476
15477 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15478 code out.
15479
15480 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15481
15482 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15483 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15484 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15485 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15486 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15487 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15488
15489 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15490
15491 * include/grub/err.h (grub_err_printf): Don't export.
15492
15493 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15494
15495 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15496
15497 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15498
15499 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15500 * kern/misc.c (grub_gettext_dummy): Make static.
15501
15502 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15505 by non-valid ones.
15506 * kern/term.c (grub_putchar): Likewise.
15507
15508 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15509
15510 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15511 buggy hook call and memory leak.
15512
15513 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15514
15515 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15516
15517 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15518
15519 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15520
15521 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15522
15523 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15524 modevar.
15525 Return grub_errno on allocation error.
15526
15527 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15528
15529 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15530
15531 2010-02-06 Yves Blusseau <blusseau@zetam.org>
15532
15533 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15534 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15535
15536 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15537
15538 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15539 non-pxe disk.
15540 (grub_pxefs_open): Likewise.
15541
15542 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15543
15544 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15545 * util/grub.d/10_kfreebsd.in: Likewise.
15546 * util/grub.d/10_linux.in: Likewise.
15547
15548 2010-02-06 Colin D Bennett <colin@gibibit.com>
15549
15550 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15551 (gfxmenu_mod_SOURCES): New variable.
15552 (gfxmenu_mod_CFLAGS): Likewise.
15553 (gfxmenu_mod_LDFLAGS): Likewise.
15554 * include/grub/term.h (grub_term_set_current_output): Declare
15555 argument as const.
15556 * docs/gfxmenu-theme-example.txt: New file.
15557 * gfxmenu/gfxmenu.c: Likewise.
15558 * gfxmenu/gui_box.c: Likewise.
15559 * gfxmenu/gui_canvas.c: Likewise.
15560 * gfxmenu/gui_circular_progress.c: Likewise.
15561 * gfxmenu/gui_image.c: Likewise.
15562 * gfxmenu/gui_label.c: Likewise.
15563 * gfxmenu/gui_list.c: Likewise.
15564 * gfxmenu/gui_progress_bar.c: Likewise.
15565 * gfxmenu/gui_string_util.c: Likewise.
15566 * gfxmenu/gui_util.c: Likewise.
15567 * gfxmenu/icon_manager.c: Likewise.
15568 * gfxmenu/model.c: Likewise.
15569 * gfxmenu/named_colors.c: Likewise.
15570 * gfxmenu/theme_loader.c: Likewise.
15571 * gfxmenu/view.c: Likewise.
15572 * gfxmenu/widget-box.c: Likewise.
15573 * include/grub/gfxmenu_model.h: Likewise.
15574 * include/grub/gfxmenu_view.h: Likewise.
15575 * include/grub/gfxwidgets.h: Likewise.
15576 * include/grub/gui.h: Likewise.
15577 * include/grub/gui_string_util.h: Likewise.
15578 * include/grub/icon_manager.h: Likewise.
15579
15580 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15581
15582 Agglomerate scrolling in gfxterm.
15583
15584 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15585 (grub_virtual_screen_setup): Initialise 'total_screen'.
15586 (write_char): Split to ...
15587 (paint_char): ... this ...
15588 (write_char): ... and this.
15589 (paint_char): Handle delayed scrolling.
15590 (draw_cursor): Likewise.
15591 (scroll_up): Split to ...
15592 (real_scroll): ... this ...
15593 (scroll_up): ... and this.
15594 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15595 characters.
15596 (grub_gfxterm_refresh): Call real_scroll.
15597
15598 2010-02-06 Colin D Bennett <colin@gibibit.com>
15599
15600 * include/grub/misc.h (grub_iscntrl): New inline function.
15601 (grub_isalnum): Likewise.
15602 (grub_strtol): Likewise.
15603
15604 2010-02-06 Colin D Bennett <colin@gibibit.com>
15605
15606 * normal/menu_text.c (get_entry_number): Move from here ...
15607 * normal/menu.c (get_entry_number): ... moved here.
15608 * include/grub/menu.h (grub_menu_get_default_entry_index):
15609 New prototype.
15610 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15611 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15612 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15613 (grub_menu_viewer_should_return): Likewise.
15614 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15615 * normal/menu_text.c (run_menu): Enable menu switching.
15616 * normal/menu_viewer.c (should_return): New variable.
15617 (menu_viewer_changed): Likewise.
15618 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15619 (grub_menu_viewer_should_return): New function.
15620 (menuviewer_write_hook): Likewise.
15621 (grub_menu_viewer_init): Likewise.
15622
15623 2010-02-06 Colin D Bennet <colin@gibibit.com>
15624 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15625
15626 Support for gfxterm in a window.
15627
15628 * include/grub/gfxterm.h: New file.
15629 * include/grub/video.h (struct grub_video_rect): New declaration.
15630 (grub_video_rect_t): Likewise.
15631 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15632 (refcount): New variable.
15633 (render_target): Likewise.
15634 (window): Likewise.
15635 (repaint_callback): Likewise.
15636 (grub_virtual_screen_setup): Use 'render_target'.
15637 (init_window): New function.
15638 (grub_gfxterm_init_window): Likewise.
15639 (grub_gfxterm_init): Check reference counter.
15640 Use init_window.
15641 (destroy_window): New function.
15642 (grub_gfxterm_destroy_window): Likewise.
15643 (grub_gfxterm_fini): Check reference counter.
15644 Use destroy_window.
15645 (redraw_screen_rect): Restore viewport.
15646 Use 'render_target' and 'window'.
15647 Call 'repaint_callback'.
15648 (write_char): Use 'render_target'.
15649 (draw_cursor): Likewise.
15650 (scroll_up): Restore viewport.
15651 Use 'render_target' and 'window'.
15652 Call 'repaint_callback'.
15653 (grub_gfxterm_cls): Likewise.
15654 (grub_gfxterm_refresh): Use 'window'.
15655 (grub_gfxterm_set_repaint_callback): New function.
15656 (grub_gfxterm_background_image_cmd): Use 'window'.
15657 (grub_gfxterm_get_term): New function.
15658 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15659
15660 2010-02-06 Colin D Bennett <colin@gibibit.com>
15661
15662 Bitmap scaling support.
15663
15664 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15665 (bitmap_scale_mod_SOURCES): New variable.
15666 (bitmap_scale_mod_CFLAGS): Likewise.
15667 (bitmap_scale_mod_LDFLAGS): Likewise.
15668 * include/grub/bitmap_scale.h: New file.
15669 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15670 (background_image_cmd_options): New variable.
15671 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15672 (cmd): Rename and change type to ...
15673 (background_image_cmd_handle): ... this. All users updated.
15674 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
15675 * video/bitmap_scale.c: New file.
15676
15677 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15678
15679 SDL support.
15680
15681 * Makefile.in (LIBSDL): New variable.
15682 (enable_grub_emu_sdl): Likewise.
15683 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
15684 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
15685 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
15686 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
15687 * util/sdl.c: New file.
15688
15689 2010-02-06 Colin D Bennett <colin@gibibit.com>
15690 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15691
15692 Double buffering support.
15693
15694 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
15695 * include/grub/video.h: Update comment.
15696 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
15697 New type.
15698 (grub_video_fb_doublebuf_blit_init): New prototype.
15699 * term/gfxterm.c (scroll_up): Support double buffering.
15700 (grub_gfxterm_refresh): Likewise.
15701 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
15702 (grub_video_fb_doublebuf_blit_init): Likewise.
15703 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
15704 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
15705 'displayed_page', 'render_page' and 'update_screen'.
15706 (grub_video_vbe_fini): Free offscreen buffer.
15707 (doublebuf_pageflipping_commit): New function.
15708 (doublebuf_pageflipping_update_screen): Likewise.
15709 (doublebuf_pageflipping_init): Likewise.
15710 (double_buffering_init): Likewise.
15711 (grub_video_vbe_setup): Enable doublebuffering.
15712 (grub_video_vbe_swap_buffers): Implement.
15713 (grub_video_vbe_set_active_render_target): Handle double buffering.
15714 (grub_video_vbe_get_active_render_target): Likewise.
15715 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
15716 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
15717 (grub_video_vbe_enable_double_buffering): Likewise.
15718 (grub_video_vbe_swap_buffers): Use update_screen.
15719 (grub_video_set_mode): Use double buffering.
15720
15721 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15722
15723 * maintainance/gentrigtables.py: Remove.
15724 * lib/trig.c: Likewise.
15725
15726 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
15727
15728 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
15729 `trigtables.c'.
15730 (trigtables.c): New rule.
15731 (gentrigtables): Likewise.
15732 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
15733
15734 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15735
15736 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
15737 integer constants.
15738
15739 2010-02-06 Colin D Bennet <colin@gibibit.com>
15740
15741 Trigonometry support.
15742
15743 * include/grub/trig.h: New file.
15744 * lib/trig.c: Likewise.
15745 * maintainance/gentrigtables.py: Likewise.
15746 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
15747 (trig_mod_SOURCES): New variable.
15748 (trig_mod_CFLAGS): Likewise.
15749 (trig_mod_LDFLAGS): Likewise.
15750
15751 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15752
15753 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
15754 disk devices.
15755
15756 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15757
15758 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
15759 error.
15760
15761 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 * util/hostdisk.c (open_device): Don't use partition device when reading
15764 before the partition.
15765 (grub_util_biosdisk_read): Don't read from partition and before the
15766 partition in single operation.
15767 (grub_util_biosdisk_write): Don't write to partition and before the
15768 partition in single operation.
15769
15770 2010-02-03 Torsten Landschoff <torsten@debian.org>
15771
15772 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15773 last sectors.
15774
15775 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15776
15777 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
15778 CDROM reads.
15779 (grub_biosdisk_write): Refuse to write to CDROM.
15780
15781 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15782
15783 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
15784
15785 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * font/font.c (find_glyph): Check that bmp_idx is available before
15788 using it.
15789 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
15790 with (font == NULL).
15791
15792 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
15793
15794 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
15795
15796 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
15797
15798 * include/grub/script_sh.h (sourcecode): Add const qualifier.
15799 * util/grub-script-check.c (getline): Fix empty lines case.
15800
15801 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
15802
15803 * Makefile.in (check): Exit with fail status when one of the tests
15804 fails.
15805 * tests/example_functional_test.c (example_test): Fix reversed assert.
15806 * tests/example_unit_test.c (example_test): Likewise.
15807
15808 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
15809
15810 * util/grub.d/10_linux.in: This script does not use any of the
15811 contents of gettext.sh, only the external command `gettext', so stop
15812 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
15813 the same prefix as GRUB.)
15814 * util/grub.d/10_kfreebsd.in: Likewise.
15815
15816 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
15819 of the line.
15820
15821 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15822
15823 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15824 last sectors.
15825
15826 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15827
15828 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
15829 having a 4KiB and not 32KiB buffer size.
15830
15831 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15832
15833 * util/hostfs.c: Include `<errno.h>'.
15834 (grub_hostfs_read): Handle errors from fseeko() and fread().
15835
15836 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15837
15838 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
15839 loop when using read hooks on files whose size isn't sector-aligned.
15840
15841 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15842
15843 Remove unused parameter.
15844
15845 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
15846 (grub_iso9660_open): Remove initialization of `data->length'.
15847
15848 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15849
15850 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
15851 memleak conditions.
15852
15853 2010-01-27 Carles Pina i Estany <carles@pina.cat>
15854
15855 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
15856 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
15857
15858 2010-01-26 Carles Pina i Estany <carles@pina.cat>
15859
15860 * util/bin2h.c (usage): Fix warning (space after backslash).
15861
15862 2010-01-26 Carles Pina i Estany <carles@pina.cat>
15863
15864 * font/font.c: Include `grub/fontformat.h.
15865 Remove font file format constants.
15866 (grub_font_load): Use the new macros.
15867 * include/grub/fontformat.h: New file.
15868 * util/grub-mkfont.c: Include `grub/fontformat.c'.
15869 (write_font_pf2): Use the new macros.
15870
15871 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15872
15873 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
15874 does.
15875
15876 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15877
15878 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
15879
15880 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
15881 (_start): Macroify `0x7F'.
15882
15883 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
15884 (make_install_device): Use "(pxe)" as fallback prefix when booting
15885 via PXE.
15886
15887 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
15888
15889 * configure.ac: Reset LIBS after check for libgcc symbols.
15890
15891 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
15892
15893 * util/hostdisk.c (open_device): Add trailing newline to debug
15894 message.
15895
15896 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
15897
15898 * configure.ac: Check for `limits.h'.
15899 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
15900
15901 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
15902
15903 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
15904 capitalize error strings.
15905
15906 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
15907
15908 * util/grub.d/10_hurd.in: Add a recovery mode.
15909
15910 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
15911
15912 * configure.ac: Check for libgcc symbols with -nostdlib.
15913
15914 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
15915
15916 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
15917
15918 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15919
15920 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
15921 stack since heap may be unavailable at that point.
15922 (grub_ofconsole_gotoxy): Likewise.
15923
15924 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15925
15926 * configure.ac: Check for _restgpr_14_x.
15927 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
15928 and _savegpr_* prototypes.
15929
15930 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
15931
15932 Use generic grub_reboot() for i386-efi.
15933
15934 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
15935 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
15936 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
15937
15938 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15939
15940 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
15941 presence of "prefix" variable as it breaks when normal.mod is
15942 embedded.
15943
15944 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15945
15946 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
15947 stack since heap is unavailable at that point.
15948
15949 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15950
15951 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
15952 (grub_freebsd_bootinfo): Rewritten.
15953 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
15954
15955 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15956
15957 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
15958
15959 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
15960
15961 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
15962 domain now.
15963
15964 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
15965
15966 * util/misc.c (make_system_path_relative_to_its_root): Change the work
15967 around for handling "/" to the correct fix. Fix a memory leak. Use
15968 xstrdup instead of strdup.
15969
15970 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15971
15972 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
15973
15974 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15975
15976 Optimise glyph lookup by Basic Multilingual Plane lookup array.
15977
15978 * font/font.c (struct grub_font): New member 'bmp_idx'.
15979 (font_init): Initialise 'bmp_idx'.
15980 (load_font_index): Fill 'bmp_idx'.
15981 (find_glyph): Make inline. Use bmp_idx for BMP characters.
15982
15983 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15984
15985 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
15986 unnecessary calls.
15987
15988 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15989
15990 Move context handling out of the kernel.
15991
15992 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
15993 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
15994 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
15995 * conf/i386-efi.rmk: Likewise.
15996 * conf/i386-ieee1275.rmk: Likewise.
15997 * conf/i386-pc.rmk: Likewise.
15998 * conf/powerpc-ieee1275.rmk: Likewise.
15999 * conf/sparc64-ieee1275.rmk: Likewise.
16000 * conf/x86_64-efi.rmk: Likewise.
16001 * include/grub/env.h: Include grub/menu.h.
16002 (grub_env_var_type): Removed.
16003 (grub_env_var): Replaced field 'type' with 'global'.
16004 (grub_env_find): New prototype.
16005 (grub_env_context_open): Remove EXPORT_FUNC.
16006 (grub_env_context_close): Likewise.
16007 (grub_env_export): Likewise.
16008 (grub_env_set_data_slot): Removed.
16009 (grub_env_get_data_slot): Likewise.
16010 (grub_env_unset_data_slot): Likewise.
16011 (grub_env_unset_menu): New prototype.
16012 (grub_env_set_menu): Likewise.
16013 (grub_env_get_menu): Likewise.
16014 * include/grub/env_private.h: New file.
16015 * include/grub/normal.h (grub_context_init): New prototype.
16016 (grub_context_fini): Likewise.
16017 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
16018 * normal/context.c (grub_cmd_export): ... to here.
16019 * kern/env.c: Include env_private.h.
16020 (HASHSZ): Moved to include/grub/env_private.h.
16021 (grub_env_context): Likewise.
16022 (grub_env_sorted_var): Likewise.
16023 (current_context): Renamed from this ...
16024 (grub_current_context): ...to this. 'static' removed. All users updated.
16025 (grub_env_find): Removed 'static'.
16026 (grub_env_context_open): Moved to normal/context.c.
16027 (grub_env_context_close): Likewise.
16028 (grub_env_export): Likewise.
16029 (mangle_data_slot_name): Removed.
16030 (grub_env_set_data_slot): Likewise.
16031 (grub_env_get_data_slot): Likewise.
16032 (grub_env_unset_data_slot): Likewise.
16033 * kern/main.c (grub_set_root_dev): Don't export root.
16034 It will be done later.
16035 (grub_main): Don't export prefix.
16036 It will be done later.
16037 * normal/context.c: New file.
16038 * normal/main.c (free_menu): Use grub_env_unset_menu.
16039 (grub_normal_add_menu_entry): Use grub_env_get_menu.
16040 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
16041 (GRUB_MOD_INIT(normal)): Call grub_context_init.
16042 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
16043
16044 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16045
16046 setpci support.
16047
16048 * commands/setpci.c: New file.
16049 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16050 (setpci_mod_SOURCES): New variable.
16051 (setpci_mod_CFLAGS): Likewise.
16052 (setpci_mod_LDFLAGS): Likewise.
16053
16054 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16055
16056 Byte-addressable PCI configuration space.
16057
16058 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16059 dword address.
16060 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16061 GRUB_PCI_REG_CACHELINE.
16062 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16063 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16064 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16065 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16066 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16067 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16068 grub_pci_make_address.
16069 (lock_rom_area): Likewise.
16070 * commands/lspci.c (grub_lspci_iter): Use macroses
16071 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16072 of grub_pci_make_address.
16073 * disk/ata.c (grub_ata_pciinit): Likewise.
16074 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16075 (GRUB_PCI_REG_VENDOR): Likewise.
16076 (GRUB_PCI_REG_DEVICE): Likewise.
16077 (GRUB_PCI_REG_COMMAND): Likewise.
16078 (GRUB_PCI_REG_STATUS): Likewise.
16079 (GRUB_PCI_REG_REVISION): Likewise.
16080 (GRUB_PCI_REG_CLASS): Likewise.
16081 (GRUB_PCI_REG_CACHELINE): Likewise.
16082 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16083 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16084 (GRUB_PCI_REG_BIST): Likewise.
16085 (GRUB_PCI_REG_ADDRESSES): Likewise.
16086 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16087 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16088 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16089 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16090 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16091 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16092 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16093 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16094 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16095 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16096 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16097 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16098 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16099 (GRUB_PCI_REG_MIN_GNT): Likewise.
16100 (GRUB_PCI_REG_MAX_LAT): Likewise.
16101 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16102 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16103 * video/efi_uga.c (find_framebuf): Likewise.
16104 * video/sm712.c (grub_video_sm712_setup): Likewise.
16105 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16106 space.
16107
16108 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16109
16110 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16111 can be reliably determined to be supported.
16112
16113 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16114
16115 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16116 that VESA is supported.
16117 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16118 supported.
16119
16120 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16121
16122 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16123
16124 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16125
16126 * util/misc.c (make_system_path_relative_to_its_root): Work around
16127 special-casing of "/", as previous incarnation of this routine did.
16128
16129 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16130
16131 Fix any-emu compilation.
16132
16133 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16134 * grub_bin2h_SOURCES: New variable.
16135
16136 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16137
16138 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16139
16140 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16141
16142 * util/grub.d/00_header.in: Fix handling of locale_dir.
16143
16144 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16145
16146 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16147 as possible unifont location (Gentoo).
16148 Reported by: Alexander Brüning
16149
16150 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16151
16152 Don't try to generate lists for kernel.img.
16153
16154 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16155 (pkglib_MODULES): Remove kernel.img.
16156 (kernel_img_EXPORTS): Removed.
16157 (kernel_img_RELOCATABLE): New variable.
16158 * conf/x86_64-efi.rmk: Likewise.
16159 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16160
16161 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16162
16163 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16164 grub_xasprintf or grub_snprintf.
16165 (grub_vsprintf): Likewise.
16166 (grub_snprintf): New proto.
16167 (grub_vsnprintf): Likewise.
16168 (grub_xasprintf): Likewise.
16169 (grub_xvasprintf): Likewise.
16170 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16171 (grub_sprintf): Removed.
16172 (grub_vsnprintf): New function.
16173 (grub_snprintf): Likewise.
16174 (grub_xvasprintf): Likewise.
16175 (grub_xasprintf): Likewise.
16176 (grub_vsprintf): Renamed to ...
16177 (grub_vsnprintf_real): ...this. New argument max_len.
16178
16179 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16180
16181 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16182 fix grub-script-check warning.
16183
16184 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16185
16186 * include/grub/font.h (grub_font_load): Fix prototype.
16187
16188 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16189
16190 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16191
16192 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16193
16194 * include/grub/x86_64/at_keyboard.h: New file.
16195
16196 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16197
16198 * loader/mips/linux.c: Include missing grub/i18n.h.
16199
16200 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16201
16202 * normal/menu.c (notify_execution_failure): Clarify error message.
16203
16204 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16205
16206 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16207 return value (and revert all return statements). Update users.
16208
16209 2010-01-20 Dan Merillat <debian@dan.merillat.org>
16210
16211 * kern/device.c (grub_device_iterate): Allocate new part_ent
16212 structure based on sizeof (*p) rather than sizeof (p->next), to
16213 account for structure padding.
16214
16215 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16216 disk is NULL, which might happen for LVM physical volumes with no
16217 LVM signature.
16218
16219 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16220
16221 * loader/mips/linux.c (grub_cmd_initrd)
16222 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16223
16224 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16225
16226 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16227 (grub_video_video_init, grub_video_bitmap_init)
16228 (grub_font_manager_init, grub_term_gfxterm_init)
16229 (grub_at_keyboard_init): New extern declarations.
16230 (grub_machine_init): Initialize gfxterm and at_keyboard.
16231
16232 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16233
16234 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16235 `gfxterm.mod' into core image.
16236
16237 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16238 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16239 (kernel_img_FORMAT): Copy to ...
16240
16241 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16242 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16243 (kernel_img_FORMAT): ... here, and ...
16244
16245 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16246 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16247 (kernel_img_FORMAT): ... here.
16248
16249 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16250 and input (at_keyboard) terminals in kernel.
16251 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16252
16253 (pkglib_MODULES): Remove `pci.mod'.
16254 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16255 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16256 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16257 (at_keyboard_mod_LDFLAGS): Remove variables.
16258
16259 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
16260
16261 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16262
16263 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16264
16265 * include/grub/mips/libgcc.h: Only export symbols for functions
16266 that libgcc provides.
16267
16268 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16269
16270 MIPS support.
16271
16272 * bus/bonito.c: New file.
16273 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16274 GRUB_PCI_NUM_DEVICES.
16275 * term/i386/pc/serial.c: Move to ...
16276 * term/serial.c: ... here. All users updated.
16277 * util/i386/pc/grub-mkimage.c: Move to ...
16278 * util/grub-mkrawimage.c: ... here. All users updated.
16279 * term/i386/pc/at_keyboard.c: Move to ...
16280 * term/at_keyboard.c: ... here. All users updated.
16281 * conf/mips-qemu-mips.rmk: New file.
16282 * conf/mips-yeeloong.rmk: Likewise.
16283 * conf/mips.rmk: Likewise.
16284 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16285 mipsel-qemu-mips.
16286 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16287 to port addresses.
16288 (grub_ata_pciinit): Support CS5536.
16289 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16290 * font/font_cmd.c (loadfont_command): Open file before passing it to
16291 grub_font_load.
16292 (pseudo_file_read): New function.
16293 (pseudo_file_close): Likewise.
16294 (pseudo_fs): New structure.
16295 (load_font_module): New function.
16296 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16297 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16298 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16299 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16300 * include/grub/i386/at_keyboard.h: Split into ...
16301 * include/grub/at_keyboard.h: ... this ...
16302 * include/grub/i386/at_keyboard.h: ... and this.
16303 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16304 New prototype.
16305 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16306 updated.
16307 (grub_elf64_size): Likewise.
16308 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16309 filename.
16310 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16311 * include/grub/i386/coreboot/serial.h: Rewritten.
16312 * include/grub/i386/ieee1275/serial.h: Include
16313 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16314 * include/grub/i386/pc/serial.h: Moved from here ...
16315 * include/grub/serial.h: ... to here. All users updated.
16316 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16317 (GRUB_PCI_NUM_BUS): Likewise.
16318 (GRUB_PCI_NUM_DEVICES): Likewise.
16319 (grub_pci_device_map_range): Add missing volatile keyword.
16320 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16321 * include/grub/mips/at_keyboard.h: New file.
16322 * include/grub/mips/cache.h: Likewise.
16323 * include/grub/mips/io.h: Likewise.
16324 * include/grub/mips/kernel.h: Likewise.
16325 * include/grub/mips/libgcc.h: Likewise.
16326 * include/grub/mips/pci.h: Likewise.
16327 * include/grub/mips/qemu-mips/boot.h: Likewise.
16328 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16329 * include/grub/mips/qemu-mips/loader.h: Likewise.
16330 * include/grub/mips/qemu-mips/memory.h: Likewise.
16331 * include/grub/mips/qemu-mips/serial.h: Likewise.
16332 * include/grub/mips/qemu-mips/time.h: Likewise.
16333 * include/grub/mips/relocator.h: Likewise.
16334 * include/grub/mips/time.h: Likewise.
16335 * include/grub/mips/types.h: Likewise.
16336 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16337 * include/grub/mips/yeeloong/boot.h: Likewise.
16338 * include/grub/mips/yeeloong/kernel.h: Likewise.
16339 * include/grub/mips/yeeloong/loader.h: Likewise.
16340 * include/grub/mips/yeeloong/memory.h: Likewise.
16341 * include/grub/mips/yeeloong/pci.h: Likewise.
16342 * include/grub/mips/yeeloong/serial.h: Likewise.
16343 * include/grub/mips/yeeloong/time.h: Likewise.
16344 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16345 * kern/elf.c (grub_elf32_size): New parameter. All users
16346 updated.
16347 (grub_elf64_size): Likewise.
16348 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16349 Load modules before saying "Welcome to GRUB!".
16350 Call grub_refresh after saying "Welcome to GRUB!".
16351 * kern/mips/cache.S: New file.
16352 * kern/mips/cache_flush.S: Likewise.
16353 * kern/mips/dl.c: Likewise.
16354 * kern/mips/init.c: Likewise.
16355 * kern/mips/qemu-mips/init.c: Likewise.
16356 * kern/mips/startup.S: Likewise.
16357 * kern/mips/yeeloong/init.c: Likewise.
16358 * kern/term.c (grub_putcode): Handle NULL terminal.
16359 (grub_getcharwidth): Likewise.
16360 (grub_getkey): Likewise.
16361 (grub_checkkey): Likewise.
16362 (grub_getkeystatus): Likewise.
16363 (grub_getxy): Likewise.
16364 (grub_getwh): Likewise.
16365 (grub_gotoxy): Likewise.
16366 (grub_cls): Likewise.
16367 (grub_setcolorstate): Likewise.
16368 (grub_setcolor): Likewise.
16369 (grub_getcolor): Likewise.
16370 (grub_refresh): Likewise.
16371 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16372 (write_jump): Add hatch nop.
16373 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16374 * lib/mips/setjmp.S: New file.
16375 * loader/mips/linux.c: Likewise.
16376 * term/i386/pc/at_keyboard.c: Move from here ...
16377 * term/at_keyboard.c: ... to here.
16378 * term/i386/pc/serial.c: Moved from here ...
16379 * term/serial.c: ... to here. All users updated.
16380 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16381 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16382 (serial_translate_key_sequence): Avoid deadlock.
16383 (grub_serial_getkey): Handle backspace.
16384 (grub_serial_putchar): Fix newline handling.
16385 * util/i386/pc/grub-mkimage.c: Move from here ...
16386 * util/grub-mkrawimage.c: ... to here. All users updated.
16387 (generate_image): New parameters 'font_path' and 'format'.
16388 Support embedding font.
16389 Use grub_host_to_target* instead of grub_cpu_to_le*.
16390 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16391 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16392 (options): New option "--font".
16393 (usage): Likewise.
16394 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16395 (main): Handle "--font".
16396 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16397 (grub_virtual_screen_setup): Set bg_color_display.
16398 (redraw_screen_rect): Use bg_color_display instead of incorrect
16399 bg_color.
16400 (grub_gfxterm_cls): Likewise.
16401 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16402 Support embedding config file.
16403 (add_segments): Likewise.
16404 (options): New option "--config".
16405 (main): Handle "--config".
16406 * video/sm712.c: New file.
16407
16408 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16409
16410 Fix parallel builds.
16411
16412 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16413 font.c depend on ascii.h).
16414
16415 2010-01-12 Carles Pina i Estany <carles@pina.cat>
16416
16417 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16418
16419 2010-01-11 Carles Pina i Estany <carles@pina.cat>
16420
16421 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16422 By default: disabled.
16423 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16424 parameter.
16425
16426 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16427
16428 * font/font.c: Update copyright years.
16429 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16430
16431 2010-01-10 Carles Pina i Estany <carles@pina.cat>
16432
16433 * font/font.c: Include `ascii.h'.
16434 (ASCII_BITMAP_SIZE): New macro.
16435 (ascii_font_glyph): Define.
16436 (ascii_glyph_lookup): New function.
16437 (grub_font_get_string_width): Change comment. If glyph not found, use
16438 ascii_glyph_lookup.
16439 (grub_font_get_glyph_with_fallback): If glyph not available returns
16440 ascii_glyph_lookup.
16441 * util/grub-mkfont.c (file_formats): New enum.
16442 (options): Add `ascii-bitmaps' new option.
16443 (usage): Add `asii-bitmaps' new option.
16444 (write_font_ascii_bitmap): New function.
16445 (write_font): Rename to ...
16446 (write_font_p2): ... this. Remove print_glyphs call.
16447 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16448 used. Call print_glyphs.
16449 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16450
16451 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16452
16453 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16454 (grub_bin2h_SOURCES): New variable.
16455 * util/bin2h.c: New file.
16456
16457 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16458
16459 * include/multiboot.h: Resynced with spec.
16460 * include/multiboot2.h: Likewise.
16461 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16462 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16463
16464 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16465
16466 * include/grub/term.h (grub_term_register_input,
16467 grub_term_register_output): Check return of terminal init()
16468 routines, and abort if errors are raised.
16469
16470 * commands/terminal.c: Update copyright year.
16471
16472 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16473
16474 * commands/terminal.c (grub_cmd_terminal_input)
16475 (grub_cmd_terminal_output): Check return of terminal init()
16476 routines, and abort if errors are raised.
16477
16478 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 * include/grub/i386/bsd.h: Fix include pathes.
16481
16482 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16483
16484 Add missing *BSD copyright headers.
16485
16486 * include/grub/aout.h: Add BSD licence.
16487 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16488 * include/grub/i386/freebsd_linker.h: ... here,
16489 * include/grub/i386/freebsd_reboot.h: ... here,
16490 * include/grub/i386/netbsd_bootinfo.h: ... here,
16491 * include/grub/i386/netbsd_reboot.h: ... here,
16492 * include/grub/i386/openbsd_bootarg.h: ... here,
16493 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16494 licence to each file.
16495
16496 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16497
16498 * acinclude.m4: Remove `nop' assembly instruction; it's not
16499 implemented by all architectures.
16500
16501 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16502
16503 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16504 ELILO. This is no longer necessary.
16505
16506 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16507
16508 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16509
16510 * util/grub-script-check.c: grub-script-check tool.
16511 * conf/common.rmk: Make rules for grub-script-check.
16512
16513 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16514
16515 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16516 spotting it back in 2008. Shame on me for forgetting he did.
16517
16518 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16519
16520 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16521
16522 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16523 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16524 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16525 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16526 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16527 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16528
16529 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16530
16531 * include/grub/test.h: Add license header.
16532 * tests/example_functional_test.c: Likewise.
16533 * tests/example_unit_test.c: Likewise.
16534 * tests/lib/functional_test.c: Likewise.
16535 * tests/lib/test.c: Likewise.
16536 * tests/lib/unit_test.c: Likewise.
16537
16538 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16539
16540 Use flag-based instead of hook-based video mode selection and "auto"
16541 keyword.
16542
16543 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16544 (grub_video_set_mode): Changed prototype. All users updated.
16545 (grub_video_check_mode_flag): New inline function.
16546 * video/video.c (parse_modespec): New function.
16547 (grub_video_set_mode): Parse flags and keywords.
16548
16549 2010-01-17 Carles Pina i Estany <carles@pina.cat>
16550
16551 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16552 fprintf call.
16553
16554 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16555
16556 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16557
16558 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16559
16560 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16561 string.
16562 * util/grub-emu.c (usage): Likewise.
16563 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16564 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16565 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16566 * util/i386/pc/grub-setup.c (usage): Likewise.
16567
16568 2010-01-16 Carles Pina i Estany <carles@pina.cat>
16569
16570 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16571 the message.
16572 (grub_util_info): Likewise.
16573 (grub_util_error): Likewise.
16574 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16575 and/or new lines in `grub_util_warna', `grub_util_info',
16576 `grub_util_error' calls.
16577 * util/getroot.c: Likewise.
16578 * util/grub-editenv.c: Likewise.
16579 * util/grub-emu.c: Likewise.
16580 * util/grub-fstest.c: Likewise.
16581 * util/grub-mkdevicemap.c: Likewise.
16582 * util/grub-mkfont.c: Likewise.
16583 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16584 * util/grub-mkrelpath.c: Likewise.
16585 * util/grub-pe2elf.c: Likewise.
16586 * util/grub-probe.c: Likewise.
16587 * util/hostdisk.c: Likewise.
16588 * util/i386/efi/grub-mkimage.c: Likewise.
16589 * util/i386/pc/grub-mkimage.c: Likewise.
16590 * util/i386/pc/grub-setup.c: Likewise.
16591 * util/ieee1275/ofpath.c: Likewise.
16592 * util/mkisofs/eltorito.c: Likewise.
16593 * util/mkisofs/rock.c: Likewise.
16594 * util/mkisofs/write.c: Likewise.
16595 * util/raid.c: Likewise.
16596 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16597 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16598
16599 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16600
16601 Enable multiboot on non-pc.
16602
16603 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16604 multiboot.mod and multiboot2.mod to ...
16605 * conf/i386.rmk (pkglib_MODULES): ... here.
16606 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16607 Moved to ...
16608 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16609 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16610 Moved to ...
16611 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16612 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16613 Moved to ...
16614 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16615 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16616 Moved to ...
16617 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16618 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16619 relocator.mod.
16620 (ata_mod_SOURCES): Removed.
16621 (ata_mod_CFLAGS): Likewise.
16622 (ata_mod_LDFLAGS): Likewise.
16623 (relocator_mod_SOURCES): Removed.
16624 (relocator_mod_CFLAGS): Likewise.
16625 (relocator_mod_ASFLAGS): Likewise.
16626 (relocator_mod_LDFLAGS): Likewise.
16627 Include i386.mk.
16628 * include/grub/x86_64/multiboot.h: New file.
16629 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16630 Terminate EFI.
16631
16632 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16633
16634 Video multiboot support.
16635
16636 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16637 New prototype.
16638 * include/multiboot.h: Resynced with multiboot specification.
16639 * include/multiboot2.h: Likewise.
16640 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16641 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16642 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16643 (HAS_VGA_TEXT): Likewise.
16644 (accepts_video): New variable.
16645 (grub_multiboot_set_accepts_video): New function.
16646 (grub_multiboot_get_mbi_size): Account for video structures.
16647 (set_video_mode): New function.
16648 (retrieve_video_parameters): Likewise.
16649 (grub_multiboot_make_mbi): Fill video fields.
16650
16651 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16652
16653 Video driver ids.
16654
16655 * include/grub/video.h (grub_video_driver_id): New type.
16656 (grub_video_adapter): New member 'id'. All users updated.
16657 (grub_video_get_driver_id): New proto.
16658 * video/video.c (grub_video_get_driver_id): New function.
16659
16660 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16661
16662 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16663 `var=val'.
16664
16665 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16666
16667 * normal/cmdline.c (print_completion): Gettextizze.
16668
16669 2001-01-14 Carles Pina i Estany <carles@pina.cat>
16670
16671 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16672
16673 2010-01-14 Carles Pina i Estany <carles@pina.cat>
16674
16675 * gettext/gettext.c (grub_gettext_translate): Push and pop
16676 grub_errno.
16677 (grub_gettext_delete_list): Change comment style.
16678 * kern/err.c (grub_error): Gettextizze.
16679 (grub_fatal): Gettextizze.
16680
16681 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16682
16683 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
16684 (grub_linux16_real_boot): ... this.
16685 * kern/i386/loader.S: Likewise.
16686 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
16687 (grub_linux16_boot): New function. Switches to text mode and calls
16688 grub_linux16_real_boot().
16689
16690 * loader/i386/bsd.c: Include `<grub/video.h>'.
16691 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
16692 text mode before calling grub_unix_real_boot().
16693
16694 * loader/i386/multiboot.c: Include `<grub/video.h>'.
16695 (grub_multiboot_boot): Switch to text mode before calling
16696 grub_relocator32_boot().
16697
16698 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
16699 (grub_chainloader_boot): Switch to text mode before calling
16700 grub_chainloader_real_boot().
16701
16702 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16703 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16704
16705 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
16706 non-empty value.
16707
16708 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16709 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16710
16711 * util/grub.d/00_header.in: Define a "savedefault" function for use
16712 in menu entries.
16713 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
16714
16715 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
16716 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
16717
16718 * util/grub-mkconfig_lib.in (save_default_entry): Only set
16719 saved_entry if boot_once is unset.
16720 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
16721 previous saved entry (i.e. grub-reboot).
16722
16723 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16724
16725 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
16726
16727 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16728
16729 * util/grub.d/00_header.in: Use `set var=val' rather than plain
16730 `var=val'.
16731 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
16732
16733 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16734
16735 * util/grub-reboot.in: Fix --version output.
16736 * util/grub-set-default.in: Likewise.
16737
16738 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16739
16740 * util/grub.d/00_header.in: Silently ignore zero-sized environment
16741 blocks.
16742
16743 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16744
16745 * util/grub.d/00_header.in: Quote the value assigned to `default',
16746 in case it contains spaces.
16747
16748 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
16749
16750 * util/grub.d/30_os-prober.in: Fix merge error that moved a
16751 `save_default_entry' call from the macosx case to the linux case.
16752
16753 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
16754 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
16755
16756 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
16757 in `chosen' environment variable.
16758 * normal/menu_text.c (get_entry_number): Check if the variable
16759 matches the title of a menu entry.
16760 (run_menu): Pass menu to get_entry_number.
16761
16762 * util/grub-reboot.in: New file.
16763 * util/grub-set-default.in: New file.
16764 * conf/common.rmk (grub-reboot): New utility.
16765 (grub-set-default): New utility.
16766
16767 * util/grub-mkconfig_lib.in (save_default_entry): New function.
16768 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
16769 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
16770 move it to `saved_entry' for the next boot. Load environment on
16771 initialisation.
16772 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
16773 * util/grub.d/10_hurd.in: Likewise.
16774 * util/grub.d/10_linux.in (linux_entry): Likewise.
16775 * util/grub.d/10_windows.in: Likewise.
16776 * util/grub.d/30_os-prober.in: Likewise.
16777
16778 * util/grub-install.in: Create environment block.
16779 * util/i386/efi/grub-install.in: Likewise.
16780 * util/ieee1275/grub-install.in: Likewise.
16781 * util/sparc64/ieee1275/grub-install.in: Likewise.
16782
16783 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
16784
16785 Unit testing framework for GRUB.
16786
16787 * Makefile.in: Test framework build rules for 'make check'.
16788 * conf/tests.rmk: Build rules for individual tests and framework.
16789
16790 * include/grub/test.h: Header file for whitebox tests.
16791 * tests/lib/functional_test.c: Framework support for whitebox
16792 functional tests.
16793 * tests/lib/test.c: Common whitebox testing code for unit and
16794 functional tests.
16795 * tests/lib/unit_test.c: Framework support for whitebox unit
16796 tests.
16797
16798 * tests/util/grub-shell-tester.in: Support utility for grub-script
16799 tests.
16800 * tests/util/grub-shell.in: Utility to execute grub-script
16801 commands in a Qemu instance.
16802
16803 * tests/example_functional_test.c: Example whitebox functional
16804 test.
16805 * tests/example_grub_script_test.in: Example grub-script test.
16806 * tests/example_scripted_test.in: Example scripted test.
16807 * tests/example_unit_test.c: Example whitebox unit test.
16808
16809 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16810
16811 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
16812 Add loader/i386/multiboot_mbi.c.
16813 (multiboot2_mod_SOURCES): Likewise.
16814 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
16815 (multiboot2_mod_SOURCES): Likewise.
16816 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
16817 (grub_multiboot_make_mbi): Likewise.
16818 (grub_multiboot_free_mbi): Likewise.
16819 (grub_multiboot_init_mbi): Likewise.
16820 (grub_multiboot_add_module): Likewise.
16821 (grub_multiboot_set_bootdev): Likewise.
16822 * loader/i386/multiboot.c (mbi): Removed.
16823 (mbi_dest): Likewise.
16824 (alloc_mbi): New variable.
16825 (grub_multiboot_payload_size): Removed. All users updated.
16826 (grub_multiboot_pure_size): New variable.
16827 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
16828 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
16829 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
16830 (grub_fill_multiboot_mmap): Likewise.
16831 (grub_multiboot_get_bootdev): Likewise.
16832 (grub_multiboot): Use multiboot_mbi functions.
16833 * loader/i386/multiboot_mbi.c: New file.
16834
16835 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16836
16837 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
16838 it would result in module crash.
16839
16840 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16841
16842 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
16843 (grub_ofconsole_getwh): Split to ...
16844 (grub_ofconsole_getwh): ... this.
16845 (grub_ofconsole_dimensions): ...and this.
16846 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
16847
16848 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
16849
16850 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
16851
16852 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16853
16854 * loader/i386/pc/multiboot2.c: Removed stalled file.
16855
16856 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16857
16858 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
16859 Reported by: Grégoire Sutre
16860
16861 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
16862
16863 * util/misc.c (canonicalize_file_name): New function.
16864 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
16865 instead of realpath().
16866
16867 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
16868
16869 * util/grub-install.in (usage): Clarify meaning of --root-directory,
16870 and make it clearer that it's optional. Based on confusion
16871 witnessed on IRC.
16872
16873 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16874
16875 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
16876 in premature implicit newline.
16877
16878 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16879
16880 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
16881 which resulted in garbled command line at the end of screen.
16882
16883 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16884
16885 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
16886 initialization with similar approach as with other Linux loaders.
16887
16888 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16889
16890 Fix i386-ieee1275 build.
16891
16892 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
16893 and grub_term_height() for video_{width,height} initialization.
16894
16895 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16896
16897 Fix grub-emu build.
16898
16899 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
16900
16901 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
16902 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16903
16904 Support for multiple terminals.
16905
16906 * Makefile.in (pkglib_DATA): terminal.lst.
16907 (terminal.lst): New target.
16908 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
16909 (GRUB_MOD_INIT(handler)): Likewise.
16910 (GRUB_MOD_FINI(handler)): Likewise.
16911 * commands/help.c (grub_cmd_help): Handle multiple terminals.
16912 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
16913 * commands/sleep.c (do_print): Use grub_term_restore_pos.
16914 (grub_cmd_sleep): Use grub_term_save_pos.
16915 * commands/terminal.c: New file.
16916 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
16917 commands/terminal.c and lib/charset.c.
16918 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
16919 (pkglib_MODULES): Add terminal.mod.
16920 (terminal_mod_SOURCES): New variable.
16921 (terminal_mod_CFLAGS): Likewise.
16922 (terminal_mod_LDFLAGS): Likewise.
16923 * genhandlerlist.sh: Don't handle terminals.
16924 * genmk.rb: Generate terminal-*.lst.
16925 * genterminallist.sh: New file.
16926 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
16927 (grub_is_valid_utf8): Likewise.
16928 (grub_utf8_to_ucs4_alloc): Likewise.
16929 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
16930 (grub_menu_register_viewer): Changed argument.
16931 (grub_menu_try_text): New proto.
16932 (grub_gfxmenu_try_hook): New declaration.
16933 * include/grub/normal.h (grub_normal_exit_level): New declaration.
16934 (grub_menu_init_page): Additional argument term.
16935 (grub_normal_init_page): Likewise.
16936 (grub_cmdline_get): Arguments simplified.
16937 (grub_utf8_to_ucs4_alloc): Removed.
16938 (grub_print_ucs4): Additional argument term.
16939 (grub_getstringwidth): Likewise.
16940 (grub_print_message_indented): Likewise.
16941 (grub_menu_text_register_instances): New proto.
16942 (grub_show_menu): Likewise.
16943 (read_terminal_list): Likewise.
16944 (grub_set_more): Likewise.
16945 * include/grub/parser.h: Include handler.h.
16946 * include/grub/reader.h: Rewritten.
16947 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
16948 (GRUB_TERM_WIDTH): Changed to function.
16949 (GRUB_TERM_HEIGHT): Likewise.
16950 (GRUB_TERM_BORDER_WIDTH): Likewise.
16951 (GRUB_TERM_BORDER_HEIGHT): Likewise.
16952 (GRUB_TERM_NUM_ENTRIES): Likewise.
16953 (GRUB_TERM_ENTRY_WIDTH): Likewise.
16954 (GRUB_TERM_CURSOR_X): Likewise.
16955 (grub_term_input_class): Likewise.
16956 (grub_term_output_class): Likewise.
16957 (grub_term_outputs_disabled): New declaration.
16958 (grub_term_inputs_disabled): Likewise.
16959 (grub_term_outputs): Likewise.
16960 (grub_term_inputs): Likewise.
16961 (grub_term_register_input): Rewritten.
16962 (grub_term_register_output): Likewise.
16963 (grub_term_unregister_input): Likewise.
16964 (grub_term_unregister_output): Likewise.
16965 (FOR_ACTIVE_TERM_INPUTS): New macro.
16966 (FOR_DISABLED_TERM_INPUTS): Likewise.
16967 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16968 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16969 * include/grub/terminfo.h: Add oterm argument to all protypes.
16970 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
16971 Use grub_rescue_run.
16972 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
16973 All users updated.
16974 * kern/reader.c: Removed. All users updated.
16975 * kern/rescue_reader.c (grub_rescue_init): Removed.
16976 (grub_rescue_reader): Likewise.
16977 (grub_register_rescue_reader): Likewise.
16978 (grub_rescue_run): New function based on kern/reader.c.
16979 * kern/term.c: Adapted for multiterm.
16980 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
16981 (grub_is_valid_utf8): Likewise.
16982 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
16983 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
16984 right terminal.
16985 * loader/i386/linux.c (grub_linux_boot): Likewise.
16986 * normal/auth.c (grub_username_get): New function.
16987 (grub_auth_check_authentication): Use grub_username_get.
16988 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
16989 * normal/color.c: Adapt for multiterm.
16990 * normal/main.c (read_config_file): Don't use grub_reader_loop.
16991 (grub_normal_init_page): Additional argument term.
16992 (read_lists): Call read_terminal_lists.
16993 (grub_enter_normal_mode): Call grub_cmdline_run.
16994 Handle grub_normal_exit_level.
16995 (grub_cmd_normal): Make reentrant.
16996 (grub_cmd_normal_exit): New function.
16997 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
16998 * normal/menu.c: Adapt for multiterm.
16999 * normal/menu_entry.c: Likewise.
17000 * normal/menu_text.c: Likewise.
17001 * normal/menu_viewer.c: Removed. All users updated.
17002 * normal/term.c: New file.
17003 * util/console.c: Change order of includes to workaround a bug in
17004 ncurses headers.
17005 * term/terminfo.c: New argument oterm on all exported functions.
17006 All users updated.
17007 * util/grub-editenv.c (grub_term_input_class): Removed.
17008 (grub_term_output_class): Likewise.
17009
17010 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
17011
17012 Make loader output a bit more user-friendly.
17013
17014 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
17015 is being loaded. Likewise for the Hurd.
17016
17017 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
17018 that kernel of FreeBSD ${version} is being loaded.
17019
17020 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
17021 grub_dprintf().
17022 (grub_cmd_initrd): Likewise.
17023 * util/grub.d/10_linux.in (linux_entry): Print message indicating
17024 that Linux ${version} is being loaded. Likewise for initrd.
17025
17026 2010-01-09 Carles Pina i Estany <carles@pina.cat>
17027
17028 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
17029
17030 2010-01-08 Carles Pina i Estany <carles@pina.cat>
17031
17032 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
17033 (GRUB_MOD_INIT): Gettextizze.
17034 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
17035 (GRUB_MOD_INIT): Gettextizze.
17036 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
17037 (grub_cmd_linux): Capitalise Linux.
17038 (GRUB_MOD_INIT): Gettextizze.
17039 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
17040 (grub_cmd_linux): Capitalise Linux.
17041 (GRUB_MOD_INIT): Gettextizze.
17042 * loader/i386/linux.c: Include `<grub/i18n.h>'.
17043 (grub_cmd_linux): Capitalise Linux.
17044 (GRUB_MOD_INIT): Gettextizze.
17045 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
17046 (GRUB_MOD_INIT): Gettextizze.
17047 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
17048 (grub_cmd_linux): Capitalise Linux.
17049 (GRUB_MOD_INIT): Gettextizze.
17050 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17051 (grub_cpu_xnu_init): Gettextizze.
17052 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17053 (GRUB_MOD_INIT): Gettextizze.
17054 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17055 (GRUB_MOD_INIT): Gettextizze.
17056 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17057 (grub_linux_load64): Capitalise Linux.
17058 (GRUB_MOD_INIT): Gettextizze.
17059 * loader/xnu.c: Include `<grub/i18n.h>'.
17060 (GRUB_MOD_INIT): Gettextizze.
17061 * po/POTFILES: Add `loader/efi/appleloader.c',
17062 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17063 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17064 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17065 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17066 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17067 and `loader/xnu.c'.
17068
17069 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17070
17071 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17072
17073 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17074
17075 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17076 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17077 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17078
17079 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17080
17081 Reset Multiboot 2 support. New loader implements the draft in
17082 /branches/multiboot2 and shares as much code as possible with the
17083 production Multiboot 1 implementation.
17084
17085 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17086 * loader/multiboot2.c: Likewise.
17087 * loader/i386/multiboot_helper.S: Likewise.
17088 * include/multiboot2.h: Replace with latest version from the draft
17089 in /branches/multiboot2.
17090
17091 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17092 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17093 and `loader/multiboot2.c'.
17094 (pkglib_MODULES): Add `multiboot2.mod'.
17095 (multiboot2_mod_SOURCES): New variable.
17096 (multiboot2_mod_LDFLAGS): Likewise.
17097 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17098
17099 * conf/i386-pc.rmk: Likewise.
17100
17101 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17102 (multiboot_mod_SOURCES): Remove variable.
17103 (multiboot_mod_LDFLAGS): Likewise.
17104 (multiboot_mod_CFLAGS): Likewise.
17105
17106 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17107 `<multiboot2.h>' instead of `<multiboot.h>'.
17108 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17109 (MULTIBOOT_HEADER_MAGIC): New macros.
17110
17111 * loader/multiboot_loader.c (module_version_status): Remove variable.
17112 (find_multi_boot2_header): Remove function.
17113 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17114 logic. Always check for the Multiboot version we're compiling for.
17115 (grub_cmd_module_loader): Likewise.
17116 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17117 command instead of `multiboot'.
17118
17119 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17120
17121 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17122 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17123 all users.
17124
17125 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17126 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17127
17128 Fix breakage introduced with previous commit.
17129
17130 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17131 commands.
17132 * normal/handler.c (read_handler_list): Revert part of previous commit
17133 affecting this file.
17134 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17135 (grub_normal_execute): ... here.
17136
17137 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17138
17139 Merge prefix-redefinition-fix branch.
17140
17141 * normal/autofs.c (read_fs_list): Make function capable of being
17142 run multiple times, gracefuly replacing the previous data
17143 structures.
17144 * normal/dyncmd.c (read_command_list): Likewise.
17145 * normal/handler.c (read_handler_list): Likewise.
17146 * normal/main.c (read_lists): New function. Calls all the
17147 list reading functions.
17148 (grub_normal_execute): Use read_lists() instead of calling all
17149 list reading functions explicitly. Register read_lists() as a
17150 variable hook attached to ${prefix}.
17151
17152 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17153
17154 Merge crypto branch.
17155
17156 * Makefile.in (pkglib_DATA): Add crypto.lst.
17157 (crypto.lst): New target.
17158 * commands/hashsum.c: New file.
17159 * commands/password.c (check_password): Use grub_crypto_memcmp.
17160 * commands/password_pbkdf2.c: New file.
17161 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17162 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17163 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17164 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17165 -I$(srcdir)/lib/libgcrypt_wrap.
17166 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17167 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17168 password_pbkdf2.mod.
17169 (crypto_mod_SOURCES): New variable.
17170 (crypto_mod_CFLAGS): Likewise.
17171 (crypto_mod_LDFLAGS): Likewise.
17172 (hashsum_mod_SOURCES): New variable.
17173 (hashsum_mod_CFLAGS): Likewise.
17174 (hashsum_mod_LDFLAGS): Likewise.
17175 (pbkdf2_mod_SOURCES): New variable.
17176 (pbkdf2_mod_CFLAGS): Likewise.
17177 (pbkdf2_mod_LDFLAGS): Likewise.
17178 (password_pbkdf2_mod_SOURCES): New variable.
17179 (password_pbkdf2_mod_CFLAGS): Likewise.
17180 (password_pbkdf2_mod_LDFLAGS): Likewise.
17181 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17182 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17183 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17184 Include conf/gcry.rmk.
17185 * include/grub/auth.h: Rewritten.
17186 * include/grub/crypto.h: New file.
17187 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17188 * include/grub/normal.h (read_crypto_list): New prototype.
17189 * lib/crypto.c: New file.
17190 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17191 * lib/pbkdf2.c: Likewise.
17192 * normal/auth.c (grub_auth_strcmp): Removed.
17193 (grub_iswordseparator): Likewise.
17194 (grub_auth_strword): Likewise.
17195 (is_authenticated): Use grub_strword.
17196 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17197 and grub_strword. Pass entered password to authentication callback.
17198 * normal/crypto.c: New file.
17199 * normal/main.c: Call read_crypto_list.
17200 * util/grub-mkpasswd-pbkdf2.c: New file.
17201 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17202
17203 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17204
17205 Fix descent and ascent calculation.
17206
17207 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17208 (options): New option "asce".
17209 (usage): Likewise.
17210 (add_char): Ignore invalid glyphs for descent calculation.
17211 Calculate ascent from actual content.
17212 (print_glyphs): Use 'asce'.
17213 (write_font): Likewise. Allow ascent override.
17214 (main): Handle "asce" option.
17215
17216 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17217
17218 * kern/err.c: Include `<grub/i18n.h>'.
17219 (grub_print_error): Add full stop. Gettextizze.
17220 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17221 (grub_bsd_load_elf): Capitalise ELF.
17222 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17223 (grub_cmd_freebsd_module): Likewise.
17224 (grub_cmd_freebsd_module_elf): Likewise.
17225 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17226
17227 2010-01-06 Carles Pina i Estany <carles@pina.cat>
17228
17229 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17230 * commands/search_file.c (HELP_MESSAGE): New macro.
17231 * commands/search_label.c (HELP_MESSAGE): Likewise.
17232 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17233 * po/POTFILES: Add `commands/search_file.c',
17234 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17235 `commands/search.c'.
17236
17237 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17238
17239 * config.rpath: Update from Gnulib.
17240
17241 2010-01-05 Yves Blusseau <blusseau@zetam.org>
17242
17243 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17244
17245 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17246
17247 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17248
17249 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17250
17251 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17252 arguments to fread so that we get a return value in bytes, rather
17253 than something that will normally be rounded down to 0.
17254 Adjust error handling to avoid producing garbage when size_t is not
17255 the same size as long long.
17256
17257 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
17258
17259 * util/mkisofs/write.c (padblock_write): Check return value of
17260 fread.
17261
17262 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17263
17264 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17265 floppy images now.
17266
17267 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17268
17269 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17270
17271 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17272 instead of manual alignment.
17273 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17274 verbose). Avoid attempts to read past end of the device
17275 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17276 but GRUB_DISK_CACHE_SIZE may exceed that).
17277
17278 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17279
17280 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17281 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17282 it to upper layer.
17283
17284 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17285
17286 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17287 New constant.
17288 (grub_efi_piwg_device_path): New structure
17289 (grub_efi_piwg_device_path_t): New type.
17290 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17291 (devpath_1): Transform to a structure. All users updated.
17292 (devpath_2): Likewise.
17293 (devpath_3): Likewise.
17294 (devpath_4): Likewise.
17295 (devpath_5): Likewise.
17296
17297 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17298
17299 * loader/efi/appleloader.c: Restored. Update all users.
17300
17301 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17302
17303 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17304
17305 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17306 (struct boot_blocklist): Move from here ...
17307 * include/grub/i386/pc/boot.h [ASM_FILE]
17308 (struct grub_boot_blocklist): ... to here. Update all users.
17309 (setup): Only initialize `start' member of `first_block'
17310 structure. Add assert() calls to verify the other members.
17311
17312 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17313 (generate_image): Fix broken blocklist length initialization.
17314 Add assert() call to verify blocklist `segment' field.
17315
17316 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17317
17318 * loader/efi/appleloader.c: Remove. Update all users.
17319
17320 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17321
17322 * boot/i386/pc/boot.S: Update copyright year.
17323 * boot/i386/pc/cdboot.S: Likewise.
17324 * boot/i386/pc/diskboot.S: Likewise.
17325 * boot/i386/pc/lnxboot.S: Likewise.
17326 * boot/i386/pc/pxeboot.S: Likewise.
17327 * bus/pci.c: Likewise.
17328 * commands/cmp.c: Likewise.
17329 * commands/help.c: Likewise.
17330 * commands/hexdump.c: Likewise.
17331 * commands/i386/pc/halt.c: Likewise.
17332 * commands/i386/pc/play.c: Likewise.
17333 * commands/i386/pc/vbeinfo.c: Likewise.
17334 * commands/ls.c: Likewise.
17335 * commands/test.c: Likewise.
17336 * disk/dmraid_nvidia.c: Likewise.
17337 * disk/i386/pc/biosdisk.c: Likewise.
17338 * disk/ieee1275/nand.c: Likewise.
17339 * disk/ieee1275/ofdisk.c: Likewise.
17340 * disk/lvm.c: Likewise.
17341 * disk/raid.c: Likewise.
17342 * disk/raid6_recover.c: Likewise.
17343 * disk/scsi.c: Likewise.
17344 * fs/affs.c: Likewise.
17345 * fs/cpio.c: Likewise.
17346 * fs/ext2.c: Likewise.
17347 * fs/hfs.c: Likewise.
17348 * fs/iso9660.c: Likewise.
17349 * fs/ntfs.c: Likewise.
17350 * fs/sfs.c: Likewise.
17351 * fs/udf.c: Likewise.
17352 * fs/ufs.c: Likewise.
17353 * fs/xfs.c: Likewise.
17354 * gencmdlist.sh: Likewise.
17355 * genmk.rb: Likewise.
17356 * include/grub/disk.h: Likewise.
17357 * include/grub/efi/api.h: Likewise.
17358 * include/grub/efi/efi.h: Likewise.
17359 * include/grub/efi/pe32.h: Likewise.
17360 * include/grub/elf.h: Likewise.
17361 * include/grub/fs.h: Likewise.
17362 * include/grub/i386/at_keyboard.h: Likewise.
17363 * include/grub/i386/pc/memory.h: Likewise.
17364 * include/grub/i386/pc/vbe.h: Likewise.
17365 * include/grub/i386/pci.h: Likewise.
17366 * include/grub/i386/tsc.h: Likewise.
17367 * include/grub/ieee1275/ieee1275.h: Likewise.
17368 * include/grub/ntfs.h: Likewise.
17369 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17370 * include/grub/sparc64/libgcc.h: Likewise.
17371 * include/grub/symbol.h: Likewise.
17372 * include/grub/types.h: Likewise.
17373 * include/multiboot2.h: Likewise.
17374 * io/gzio.c: Likewise.
17375 * kern/device.c: Likewise.
17376 * kern/disk.c: Likewise.
17377 * kern/efi/efi.c: Likewise.
17378 * kern/efi/mm.c: Likewise.
17379 * kern/elf.c: Likewise.
17380 * kern/file.c: Likewise.
17381 * kern/i386/dl.c: Likewise.
17382 * kern/i386/pc/init.c: Likewise.
17383 * kern/i386/pc/startup.S: Likewise.
17384 * kern/ieee1275/ieee1275.c: Likewise.
17385 * kern/ieee1275/init.c: Likewise.
17386 * kern/main.c: Likewise.
17387 * kern/mm.c: Likewise.
17388 * kern/powerpc/dl.c: Likewise.
17389 * kern/sparc64/dl.c: Likewise.
17390 * kern/x86_64/dl.c: Likewise.
17391 * lib/hexdump.c: Likewise.
17392 * loader/efi/appleloader.c: Likewise.
17393 * loader/i386/ieee1275/linux.c: Likewise.
17394 * loader/i386/pc/chainloader.c: Likewise.
17395 * loader/i386/pc/linux.c: Likewise.
17396 * loader/i386/pc/multiboot2.c: Likewise.
17397 * loader/ieee1275/multiboot2.c: Likewise.
17398 * loader/multiboot2.c: Likewise.
17399 * loader/multiboot_loader.c: Likewise.
17400 * loader/powerpc/ieee1275/linux.c: Likewise.
17401 * normal/completion.c: Likewise.
17402 * normal/menu_entry.c: Likewise.
17403 * partmap/apple.c: Likewise.
17404 * util/grub.d/10_hurd.in: Likewise.
17405 * util/hostfs.c: Likewise.
17406 * video/readers/png.c: Likewise.
17407
17408 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
17409
17410 * include/grub/misc.h (GNUC_PREREQ): New macro.
17411 (ATTRIBUTE_ERROR): New macro.
17412 * include/grub/list.h (grub_bad_type_cast_real): Use
17413 ATTRIBUTE_ERROR.
17414
17415 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17416
17417 * normal/menu_text.c (print_message): Change messages.
17418
17419 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17420
17421 * normal/menu_entry.c (store_completion): Gettextizze.
17422
17423 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17424
17425 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17426
17427 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17428
17429 * po/POTFILES: Sort correctly.
17430
17431 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17432
17433 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17434 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17435 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17436 full stop.
17437 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17438 summary. Gettextizze the strings.
17439 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17440 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17441 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17442 full stop.
17443 (GRUB_MOD_INIT): Remove command name from summary.
17444 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17445 summary.
17446 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17447 * term/i386/pc/serial.c (options): Add full stops.
17448 (GRUB_MOD_INIT): Remove command name from the summary.
17449
17450 2010-01-03 Carles Pina i Estany <carles@pina.cat>
17451
17452 * commands/acpi.c: Gettextizze help strings and/or options. Include
17453 `grub/i18n.h' if needed.
17454 * commands/blocklist.c: Likewise.
17455 * commands/boot.c: Likewise.
17456 * commands/cat.c: Likewise.
17457 * commands/cmp.c: Likewise.
17458 * commands/configfile.c: Likewise.
17459 * commands/crc.c: Likewise.
17460 * commands/date.c: Likewise.
17461 * commands/echo.c: Likewise.
17462 * commands/efi/fixvideo.c: Likewise.
17463 * commands/efi/loadbios.c: Likewise.
17464 * commands/gptsync.c: Likewise.
17465 * commands/halt.c: Likewise.
17466 * commands/handler.c: Likewise.
17467 * commands/hdparm.c: Likewise.
17468 * commands/hexdump.c: Likewise.
17469 * commands/i386/cpuid.c: Likewise.
17470 * commands/i386/pc/drivemap.c: Likewise.
17471 * commands/i386/pc/halt.c: Likewise.
17472 * commands/i386/pc/pxecmd.c: Likewise.
17473 * commands/i386/pc/vbeinfo.c: Likewise.
17474 * commands/i386/pc/vbetest.c: Likewise.
17475 * commands/ieee1275/suspend.c: Likewise.
17476 * commands/keystatus.c: Likewise.
17477 * commands/loadenv.c: Likewise.
17478 * commands/ls.c: Likewise.
17479 * commands/lsmmap.c: Likewise.
17480 * commands/lspci.c: Likewise.
17481 * commands/memrw.c: Likewise.
17482 * commands/minicmd.c: Likewise.
17483 * commands/parttool.c: Likewise.
17484 * commands/password.c: Likewise.
17485 * commands/probe.c: Likewise.
17486 * commands/read.c: Likewise.
17487 * commands/reboot.c: Likewise.
17488 * commands/search.c: Likewise.
17489 * commands/sleep.c: Likewise.
17490 * commands/test.c: Likewise.
17491 * commands/true.c: Likewise.
17492 * commands/usbtest.c: Likewise.
17493 * commands/videotest.c: Likewise.
17494 * commands/xnu_uuid.c: Likewise.
17495 * disk/loopback.c: Likewise.
17496 * hello/hello.c: Likewise.
17497 * loader/i386/bsd.c: Likewise.
17498 * term/i386/pc/serial.c: Likewise.
17499 * po/POTFILES: Add new files.
17500
17501 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
17502
17503 * term/i386/pc/at_keyboard.c
17504 (keyboard_controller_wait_untill_ready): Rename to ...
17505 (keyboard_controller_wait_until_ready): ... this. Update all users.
17506
17507 2010-01-01 Carles Pina i Estany <carles@pina.cat>
17508
17509 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17510 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17511 string using string width.
17512 * normal/menu_text.c (grub_print_message_indented): Use
17513 grub_print_spaces and not print_spaces.
17514 (print_timeout): Likewise.
17515 (print_spaces): Move to...
17516 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17517
17518 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17519
17520 Import from Gnulib.
17521
17522 * gnulib/getdelim.c: New file.
17523 * gnulib/getline.c: Likewise.
17524
17525 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17526
17527 * include/grub/list.h (grub_assert_fail): Removed.
17528 (grub_bad_type_cast_real): New function.
17529 (grub_bad_type_cast): New macro.
17530 (GRUB_AS_LIST): Use grub_bad_type_cast.
17531 (GRUB_AS_LIST_P): Likewise.
17532 (GRUB_AS_NAMED_LIST): Likewise.
17533 (GRUB_AS_NAMED_LIST_P): Likewise.
17534 (GRUB_AS_PRIO_LIST): Likewise.
17535 (GRUB_AS_PRIO_LIST_P): Likewise.
17536 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
17537
17538 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17539
17540 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17541 Fix syntax error.
17542
17543 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17544
17545 * configure.ac: Check for TARGET_CFLAGS initialization before we
17546 initialize it ourselves (sigh).
17547 Move a few modifications to TARGET_CFLAGS to be unconditional
17548 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17549 eh_frame)
17550
17551 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17552 * term/i386/pc/at_keyboard.c
17553 (keyboard_controller_wait_untill_ready): Likewise.
17554 (keyboard_controller_led): Rename `led_status' paramter to avoid
17555 name conflict.
17556
17557 2009-12-28 Carles Pina i Estany <carles@pina.cat>
17558
17559 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17560 quotes.
17561
17562 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17563
17564 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17565
17566 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17567
17568 * normal/menu_text.c (grub_print_message_indented): Prevent
17569 past-the-end-of-array dereference.
17570
17571 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17572
17573 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17574 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17575
17576 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17577
17578 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17579 * normal/main.c (grub_normal_read_line): Remove a space from the
17580 default prompt.
17581
17582 2009-12-27 Carles Pina i Estany <carles@pina.cat>
17583
17584 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17585 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17586 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17587 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17588 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17589 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17590 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17591
17592 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17593
17594 * video/readers/jpeg.c (cmd): Declare.
17595 (grub_cmd_jpegtest): Use `grub_command_t' type.
17596 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17597 Assign to `cmd'.
17598 (GRUB_MOD_FINI): Use `cmd' to unregister.
17599 * video/readers/png.c (cmd): Declare.
17600 (grub_cmd_pngtest): Use `grub_command_t' type.
17601 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17602 Assign to `cmd'.
17603 (GRUB_MOD_FINI): Use `cmd' to unregister.
17604 * video/readers/tga.c (cmd): Declare.
17605 (grub_cmd_tgatest): Use `grub_command_t' type.
17606 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17607 Assign to `cmd'.
17608 (GRUB_MOD_FINI): Use `cmd' to unregister.
17609
17610 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17611
17612 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17613 stops.
17614 * kern/corecmd.c (grub_register_core_commands): Likewise.
17615 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17616 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17617 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17618 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17619 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17620 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17621 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17622 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17623 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17624 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17625 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17626 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17627 * normal/handler.c (insert_handler): Likewise.
17628 * normal/main.c (GRUB_MOD_INIT): Likewise.
17629 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17630
17631 2009-12-26 Carles Pina i Estany <carles@pina.cat>
17632
17633 * commands/help.c (grub_cmd_help): Print the command name before the
17634 summary.
17635 (GRUB_MOD_INIT): Remove command name from the summary.
17636 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
17637 string as summary.
17638 * lib/arg.c (find_long): Print the command name before the summary.
17639 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17640 summary.
17641 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17642 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17643 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17644 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17645 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17646 * commands/date.c (GRUB_MOD_INIT): Likewise.
17647 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17648 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17649 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17650 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17651 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17652 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17653 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17654 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17655 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17656 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17657 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17658 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17659 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17660 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17661 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17662 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17663 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17664 * commands/password.c (GRUB_MOD_INIT): Likewise.
17665 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17666 * commands/read.c (GRUB_MOD_INIT): Likewise.
17667 * commands/search.c (GRUB_MOD_INIT): Likewise.
17668 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17669 * commands/test.c (GRUB_MOD_INIT): Likewise.
17670 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17671 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17672 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17673 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17674 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17675 * lib/arg.c (GRUB_MOD_INIT): Likewise.
17676 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
17677 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17678 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17679 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17680 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17681 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
17682 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
17683 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
17684
17685 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17686
17687 Use search command for preliminar UUID search.
17688
17689 * commands/search.c: Split into ...
17690 * commands/search_wrap.c: ...this
17691 * commands/search.c: ...and this.
17692 * commands/search_file.c: New file.
17693 * commands/search_label.c: New file.
17694 * commands/search_uuid.c: New file.
17695 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
17696 Add commands/search_wrap.c, commands/search_file.c,
17697 commands/search_label.c and commands/search_uuid.c.
17698 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
17699 (search_mod_SOURCES): Set to commands/search_wrap.c.
17700 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
17701 search_label.mod.
17702 (search_fs_file_mod_SOURCES): New variable.
17703 (search_fs_file_mod_CFLAGS): Likewise.
17704 (search_fs_file_mod_LDFLAGS): Likewise.
17705 (search_label_mod_SOURCES): Likewise.
17706 (search_label_mod_CFLAGS): Likewise.
17707 (search_label_mod_LDFLAGS): Likewise.
17708 (search_fs_uuid_mod_SOURCES): New variable.
17709 (search_fs_uuid_mod_CFLAGS): Likewise.
17710 (search_fs_uuid_mod_LDFLAGS): Likewise.
17711 (fs_file_mod_SOURCES): Removed.
17712 (fs_file_mod_CFLAGS): Likewise.
17713 (fs_file_mod_LDFLAGS): Likewise.
17714 (fs_uuid_mod_SOURCES): Removed.
17715 (fs_uuid_mod_CFLAGS): Likewise.
17716 (fs_uuid_mod_LDFLAGS): Likewise.
17717 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
17718 Set to util/grub-install.in.
17719 * disk/fs_file.c: Removed.
17720 * disk/fs_uuid.c: Likewise.
17721 * include/grub/search.h: New file.
17722 * util/grub-install.in: Handle sparc64.
17723 Create and use load.cfg.
17724 * util/sparc64/ieee1275/grub-install.in: Removed.
17725
17726 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17727
17728 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
17729 Ignore return status if CF is cleared.
17730 (grub_biosdisk_get_diskinfo_standard): Likewise.
17731
17732 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17733
17734 * term/i386/pc/at_keyboard.c
17735 (keyboard_controller_wait_untill_ready): New function.
17736 (grub_keyboard_controller_write, grub_keyboard_controller_read)
17737 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
17738 for keyboard polling, rather than duplicate the same loop. This
17739 saves a few bytes in code size.
17740
17741 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17742
17743 Support for (pxe[:server[:gateway]]) syntax and
17744 use environment variable for PXE.
17745
17746 * commands/i386/pc/pxecmd.c (options): Removed.
17747 (print_ip): Removed.
17748 (grub_cmd_pxe): Removed
17749 (grub_cmd_pxe_unload): New function.
17750 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
17751 (grub_pxe_your_ip): Made static.
17752 (grub_pxe_default_server_ip): Likewise.
17753 (grub_pxe_default_gateway_ip): Likewise.
17754 (grub_pxe_blksize): Likewise.
17755 (parse_ip): New function.
17756 (grub_pxe_open): Support server and gateway specification.
17757 (grub_pxe_close): Free disk->data.
17758 (grub_pxefs_open): Use disk->data.
17759 (grub_pxefs_read): Likewise.
17760 (grub_env_write_readonly): New function.
17761 (set_mac_env): Likewise.
17762 (set_env_limn_ro): Likewise.
17763 (parse_dhcp_vendor): Likewise.
17764 (grub_pxe_detect): Set the environment variables.
17765 (set_ip_env): New function.
17766 (write_ip_env): Likewise.
17767 (grub_env_write_pxe_default_server): Likewise.
17768 (grub_env_write_pxe_default_gateway): Likewise.
17769 (grub_env_write_pxe_blocksize): Likewise.
17770 (GRUB_MOD_INIT(pxe)): Set environment variables.
17771 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
17772 (grub_pxe_mac_addr_t): ... this. All users updated.
17773 (grub_pxe_your_ip): Removed.
17774 (grub_pxe_server_ip): Likewise.
17775 (grub_pxe_gateway_ip): Likewise.
17776 (grub_pxe_blksize): Likewise.
17777
17778 2009-12-25 Carles Pina i Estany <carles@pina.cat>
17779
17780 * commands/help.c: Include `<grub/i18n.h>'.
17781 (grub_cmd_help): Gettextizze.
17782 (GRUB_MOD_INIT): Likewise.
17783 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
17784 (GRUB_MOD_INIT): Gettextizze.
17785 * commands/search.c: Include `<grub/i18n.h>'.
17786 (options): Gettextizze.
17787 (GRUB_MOD_INIT): Gettextizze.
17788 * lib/arg.c: Include `<grub/i18n.h>'.
17789 (help_options): Gettextizze.
17790 (find_long): Likewise.
17791 (grub_arg_show_help): Likewise.
17792 * normal/dyncmd.c: Include `<grub/i18n.h>'.
17793 (read_command_list): Gettextizze.
17794 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
17795 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
17796
17797 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17798
17799 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
17800 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
17801 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
17802 (led_status): New variable.
17803 (keyboard_controller_led): New function.
17804 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
17805 update led status for caps lock, num lock and scroll lock.
17806
17807 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
17808
17809 * util/hostdisk.c (open_device): Fix a comment.
17810
17811 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17812
17813 * util/grub-install.in (host_os): New variable.
17814 * util/i386/efi/grub-install.in (host_os): Likewise.
17815
17816 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17817
17818 * util/mkisofs/write.c (padblock_write): Abort when given an
17819 excedingly large embed image, instead of silently truncating it.
17820
17821 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17822
17823 * include/multiboot.h: Indentation fixes.
17824
17825 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17826
17827 * include/multiboot.h (struct multiboot_aout_symbol_table)
17828 (struct multiboot_elf_section_header_table): New structure
17829 declarations (stolen from GRUB Legacy).
17830 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
17831 table information.
17832
17833 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
17834 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
17835 type aliases.
17836
17837 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17838
17839 * include/multiboot.h: Make comments src2texi-friendly.
17840
17841 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17842
17843 For consistency with [multiboot]/docs/boot.S.
17844
17845 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
17846 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
17847 (MULTIBOOT_MAGIC2): Rename from this ...
17848 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
17849
17850 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17851
17852 * include/multiboot.h: Remove `<grub/types.h>'.
17853 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
17854 types. Update all users.
17855
17856 2009-12-25 Carles Pina i Estany <carles@pina.cat>
17857
17858 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
17859 `couldn't' and `can not' by `cannot'.
17860 * commands/i386/pc/drivemap.c: Likewise.
17861 * disk/ata.c: Likewise.
17862 * disk/ieee1275/nand.c: Likewise.
17863 * fs/affs.c: Likewise.
17864 * fs/fat.c: Likewise.
17865 * fs/hfs.c: Likewise.
17866 * fs/hfsplus.c: Likewise.
17867 * fs/iso9660.c: Likewise.
17868 * fs/jfs.c: Likewise.
17869 * fs/minix.c: Likewise.
17870 * fs/reiserfs.c: Likewise.
17871 * fs/sfs.c: Likewise.
17872 * fs/udf.c: Likewise.
17873 * fs/ufs.c: Likewise.
17874 * fs/xfs.c: Likewise.
17875 * loader/powerpc/ieee1275/linux.c: Likewise.
17876 * loader/sparc64/ieee1275/linux.c: Likewise.
17877 * util/grub-probe.c: Likewise.
17878 * util/misc.c: Likewise.
17879
17880 2009-12-24 Carles Pina i Estany <carles@pina.cat>
17881
17882 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
17883 grub_errno calls.
17884 * commands/acpi.c: Likewise.
17885 * commands/blocklist.c: Likewise.
17886 * commands/efi/loadbios.c: Likewise.
17887 * commands/i386/pc/drivemap.c: Likewise.
17888 * commands/loadenv.c: Likewise.
17889 * commands/memrw.c: Likewise.
17890 * commands/password.c: Likewise.
17891 * commands/videotest.c: Likewise.
17892 * disk/ata.c: Likewise.
17893 * disk/ata_pthru.c: Likewise.
17894 * disk/dmraid_nvidia.c: Likewise.
17895 * disk/ieee1275/nand.c: Likewise.
17896 * disk/ieee1275/ofdisk.c: Likewise.
17897 * disk/loopback.c: Likewise.
17898 * disk/lvm.c: Likewise.
17899 * disk/mdraid_linux.c: Likewise.
17900 * disk/raid.c: Likewise.
17901 * disk/raid6_recover.c: Likewise.
17902 * disk/scsi.c: Likewise.
17903 * efiemu/main.c: Likewise.
17904 * efiemu/mm.c: Likewise.
17905 * efiemu/pnvram.c: Likewise.
17906 * efiemu/symbols.c: Likewise.
17907 * font/font.c: Likewise.
17908 * fs/cpio.c: Likewise.
17909 * fs/hfsplus.c: Likewise.
17910 * fs/iso9660.c: Likewise.
17911 * fs/jfs.c: Likewise.
17912 * fs/minix.c: Likewise.
17913 * fs/ntfs.c: Likewise.
17914 * fs/ntfscomp.c: Likewise.
17915 * fs/reiserfs.c: Likewise.
17916 * fs/ufs.c: Likewise.
17917 * fs/xfs.c: Likewise.
17918 * gettext/gettext.c: Likewise.
17919 * include/grub/auth.h: Likewise.
17920 * kern/elf.c: Likewise.
17921 * kern/file.c: Likewise.
17922 * kern/ieee1275/init.c: Likewise.
17923 * kern/ieee1275/mmap.c: Likewise.
17924 * kern/ieee1275/openfw.c: Likewise.
17925 * kern/powerpc/dl.c: Likewise.
17926 * kern/sparc64/dl.c: Likewise.
17927 * lib/arg.c: Likewise.
17928 * loader/i386/bsd.c: Likewise.
17929 * loader/i386/bsdXX.c: Likewise.
17930 * loader/i386/efi/linux.c: Likewise.
17931 * loader/i386/efi/xnu.c: Likewise.
17932 * loader/i386/ieee1275/linux.c: Likewise.
17933 * loader/i386/linux.c: Likewise.
17934 * loader/i386/multiboot.c: Likewise.
17935 * loader/i386/pc/linux.c: Likewise.
17936 * loader/i386/pc/multiboot2.c: Likewise.
17937 * loader/i386/xnu.c: Likewise.
17938 * loader/ieee1275/multiboot2.c: Likewise.
17939 * loader/macho.c: Likewise.
17940 * loader/machoXX.c: Likewise.
17941 * loader/multiboot2.c: Likewise.
17942 * loader/multiboot_loader.c: Likewise.
17943 * loader/powerpc/ieee1275/linux.c: Likewise.
17944 * loader/sparc64/ieee1275/linux.c: Likewise.
17945 * loader/xnu.c: Likewise.
17946 * loader/xnu_resume.c: Likewise.
17947 * mmap/i386/pc/mmap.c: Likewise.
17948 * normal/menu_viewer.c: Likewise.
17949 * partmap/acorn.c: Likewise.
17950 * partmap/amiga.c: Likewise.
17951 * partmap/apple.c: Likewise.
17952 * script/lexer.c: Likewise.
17953 * term/gfxterm.c: Likewise.
17954 * term/i386/pc/serial.c: Likewise.
17955 * term/i386/pc/vga.c: Likewise.
17956 * term/ieee1275/ofconsole.c: Likewise.
17957 * term/terminfo.c: Likewise.
17958 * video/bitmap.c: Likewise.
17959 * video/efi_gop.c: Likewise.
17960 * video/efi_uga.c: Likewise.
17961 * video/fb/video_fb.c: Likewise.
17962 * video/i386/pc/vbe.c: Likewise.
17963 * video/readers/tga.c: Likewise.
17964 * video/video.c: Likewise.
17965
17966 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
17967
17968 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
17969 * commands/lspci.c: Likewise.
17970 * commands/probe.c: Likewise.
17971 * commands/xnu_uuid.c: Likewise.
17972 * conf/i386-coreboot.rmk: Likewise.
17973 * conf/i386-efi.rmk: Likewise.
17974 * conf/i386-ieee1275.rmk: Likewise.
17975 * conf/i386-pc.rmk: Likewise.
17976 * conf/powerpc-ieee1275.rmk: Likewise.
17977 * conf/sparc64-ieee1275.rmk: Likewise.
17978 * conf/x86_64-efi.rmk: Likewise.
17979 * fs/i386/pc/pxe.c: Likewise.
17980 * gettext/gettext.c: Likewise.
17981 * include/grub/efi/graphics_output.h: Likewise.
17982 * include/grub/i386/pc/memory.h: Likewise.
17983 * kern/env.c: Likewise.
17984 * kern/i386/qemu/startup.S: Likewise.
17985 * lib/i386/pc/biosnum.c: Likewise.
17986 * lib/i386/relocator.c: Likewise.
17987 * lib/i386/relocator_asm.S: Likewise.
17988 * lib/relocator.c: Likewise.
17989 * loader/i386/bsd.c: Likewise.
17990 * loader/i386/multiboot.c: Likewise.
17991 * loader/i386/pc/chainloader.c: Likewise.
17992 * loader/i386/xnu.c: Likewise.
17993 * loader/xnu.c: Likewise.
17994 * normal/main.c: Likewise.
17995 * normal/menu_text.c: Likewise.
17996 * util/getroot.c: Likewise.
17997 * util/grub-mkconfig_lib.in: Likewise.
17998 * util/grub.d/00_header.in: Likewise.
17999 * util/i386/pc/grub-mkimage.c: Likewise.
18000 * util/mkisofs/eltorito.c: Likewise.
18001 * util/mkisofs/exclude.h: Likewise.
18002 * util/mkisofs/hash.c: Likewise.
18003 * util/mkisofs/iso9660.h: Likewise.
18004 * util/mkisofs/joliet.c: Likewise.
18005 * util/mkisofs/mkisofs.c: Likewise.
18006 * util/mkisofs/mkisofs.h: Likewise.
18007 * util/mkisofs/multi.c: Likewise.
18008 * util/mkisofs/name.c: Likewise.
18009 * util/mkisofs/rock.c: Likewise.
18010 * util/mkisofs/tree.c: Likewise.
18011 * util/mkisofs/write.c: Likewise.
18012 * video/efi_gop.c: Likewise.
18013
18014 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
18015
18016 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
18017 size counting.
18018
18019 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18020
18021 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
18022 * genmk.rb (class SCRIPT): Modify the target file instead of source.
18023
18024 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
18027 (GRUB_MOD_INIT(memrw)): Update help line.
18028
18029 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
18032 Use grub_extcmd_t. All users updated.
18033 (options): New variable.
18034 (grub_cmd_read): Restructure for readability. Support "-v" option.
18035 (grub_cmd_write): Restructure for readability.
18036
18037 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18038
18039 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
18040
18041 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18042
18043 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
18044 with the actual contents of the correspondending make variable.
18045 * util/grub-mkrescue.in (pkglib_DATA): New variable.
18046 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
18047 specifying `*.lst' and `efiemu??.o'
18048
18049 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18050
18051 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18052 after function name.
18053 Noticed by Rene Engelhard <rene@debian.org>.
18054
18055 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18056
18057 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18058 (options): New variable.
18059 (iospace): Likewise.
18060 (grub_lspci_iter): List IO spaces if "-i" was given.
18061 (grub_cmd_lspci): Parse options.
18062 (GRUB_MOD_INIT(lspci)): Use extcmd.
18063 (GRUB_MOD_FINI(lspci)): Likewise.
18064
18065 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
18066
18067 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18068 `function' keyword.
18069 Patch by Tony Mancill <tmancill@debian.org>.
18070
18071 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18072
18073 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18074 (grub_uhci_portstatus): Likewise.
18075 (grub_uhci_portstatus): Add necessary delay.
18076 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
18077
18078 2009-12-21 Carles Pina i Estany <carles@pina.cat>
18079
18080 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18081 (GRUB_MOD_INIT): Likewise.
18082 * commands/boot.c (GRUB_MOD_INIT): Likewise.
18083 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18084 * commands/echo.c (options): Fix capitalizations and/or full stops.
18085 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18086 (enable_rom_area): Likewise.
18087 (GRUB_MOD_INIT): Likewise.
18088 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18089 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18090 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18091 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18092 * commands/hexdump.c (options): Likewise.
18093 * commands/i386/cpuid.c (options): Likewise.
18094 (GRUB_MOD_INIT): Likewise.
18095 * commands/i386/pc/drivemap.c (options): Likewise.
18096 (GRUB_MOD_INIT): Likewise.
18097 * commands/i386/pc/halt (options): Likewise.
18098 (GRUB_MOD_INIT): Likewise.
18099 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18100 * commands/i386/pc/pxecmd.c (options): Likewise.
18101 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18102 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18103 * commands/keystatus.c (options): Likewise.
18104 (GRUB_MOD_INIT): Likewise.
18105 * commands/loadenv.c (options): Likewise.
18106 * commands/ls.c (options): Likewise.
18107 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18108 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18109 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18110 * commands/parttool.c (helpmsg): Likewise.
18111 * commands/probe.c (options): Likewise.
18112 * commands/read.c (GRUB_MOD_INIT): Likewise.
18113 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18114 * commands/search.c (options): Likewise.
18115 * commands/sleep.c (options): Likewise.
18116 * commands/test.c (GRUB_MOD_INIT): Likewise.
18117 * commands/true.c (GRUB_MOD_INIT): Likewise.
18118 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18119 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18120 * lib/arg.c (help_options): Likewise.
18121 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18122 `$(XGETTEXT)'.
18123 * po/POTFILES: Add `commands/loadenv.c'.
18124
18125 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
18126
18127 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
18128 instead of specifying them explicit.
18129
18130 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18131
18132 * NEWS: Add grub-probe support for GNU/Hurd.
18133
18134 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18135
18136 * NEWS: gettext was added after 1.97.
18137
18138 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18139
18140 * util/mkisofs/msdos_partition.h: New file (based on
18141 include/grub/msdos_partition.h).
18142 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18143 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18144 (ld_options, main): Recognize --protective-msdos-label.
18145 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18146 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18147 (padblock_write): If `use_protective_msdos_label' is set, patch a
18148 protective DOS-style label in the output image.
18149
18150 * util/grub-mkrescue.in: Use --protective-msdos-label.
18151
18152 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18153
18154 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18155 boot.
18156
18157 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18158
18159 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18160 variables.
18161 (ld_options, main): Recognize `--embedded-boot'.
18162 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18163 declarations.
18164 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18165 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18166 (padblock_write): Likewise. Rewrite to support embedded boot image.
18167
18168 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18169 for BIOS-based disk boot instead of only ElTorito.
18170
18171 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18172
18173 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18174 build (not needed for bootstrap).
18175
18176 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18177
18178 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18179 from i386-pc build (not needed for bootstrap).
18180 Rewrite a pair of strings.
18181
18182 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18183
18184 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18185
18186 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
18187
18188 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18189
18190 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18191
18192 * kern/env.c (grub_env_context_open): Mark exported variable for
18193 reexport.
18194
18195 2009-12-21 Andreas Born <futur.andy@googlemail.com>
18196
18197 * kern/env.c (grub_env_export): Create nonexistent variables before
18198 exporting.
18199
18200 2009-12-20 Carles Pina i Estany <carles@pina.cat>
18201
18202 * include/grub/auth.h: Include `<grub/i18n.h>'.
18203 (GRUB_GET_PASSWORD): Gettextizze string.
18204 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18205 menu_text.c.
18206 (grub_utf8_to_ucs4_alloc): Fix indentation.
18207 (grub_print_ucs4): Likewise.
18208 (grub_getstringwidth): Likewise.
18209 (print_message_indented): New declaration.
18210 * normal/auth.c: Include `<grub/i18n.h>'.
18211 (grub_auth_check_authentication): Gettexttize string.
18212 * normal/cmdline.c: Include `<grub/i18n.h>'.
18213 (grub_cmdline_get): Gettextizze.
18214 * normal/color.c: Include `<grub/i18n.h>'.
18215 (grub_parse_color_name_pair): Gettexttize strings.
18216 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18217 string (use `print_message_indented').
18218 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18219 `include/grub/normal.h'.
18220 (print_message_indented): Renamed to ...
18221 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18222 used in normal/main.c).
18223 (print_message): Use `grub_print_message_indented' instead of
18224 `print_message_indented'.
18225 (print_timeout): Likewise.
18226 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18227 (grub_normal_print_device_info): Gettexttize strings.
18228 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18229
18230 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18231
18232 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18233 of arguments. Return number of tokens and not arguments. All users
18234 updated.
18235
18236 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18237
18238 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18239 non-MSDOS paritions.
18240
18241 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18242
18243 * include/grub/types.h (UNUSED): Removed since it conflicts with
18244 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18245 Reported by Grégoire Sutre.
18246
18247 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18248
18249 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18250 (grub_print_ucs4_alloc): Likewise.
18251 (grub_getstringwidth): Likewise.
18252 * normal/main.c (grub_normal_init_page): Gettextize version string.
18253 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18254 (getstringwidth): Renamed to ...
18255 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18256 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18257 (grub_print_ucs4): Remove `static' qualifer (now used in
18258 normal/main.c).
18259 * po/POTFILES: Add normal/main.c.
18260
18261 2009-12-19 Carles Pina i Estany <carles@pina.cat>
18262
18263 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18264 (print_message_indented): Add `margin_left' and `margin_right'
18265 parameters.
18266 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18267 strings.
18268 (print_timeout): Use `print_message_indented' to print the message.
18269 Deletes `second_stage' parameter.
18270 (run_menu): Update `print_timeout' calls.
18271
18272 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18273
18274 Fix console palette on OpenFirmware.
18275
18276 * term/ieee1275/ofconsole.c (MAX): Removed.
18277 (colors): Redone based on VGA palette.
18278 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18279 colors are supported.
18280 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18281
18282 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18283
18284 Fix potential EfiEmu double prepare.
18285
18286 * efiemu/main.c (prepared): New variable
18287 (grub_efiemu_unload): Set prepare to '0'.
18288 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18289
18290 set_virtual_address_map support.
18291
18292 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18293 prototype.
18294 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18295 prototype.
18296 (grub_efiemu_crc32): Likewise.
18297 (grub_efiemu_crc64): Likewise.
18298 (grub_efiemu_set_virtual_address_map): Likewise.
18299 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18300 New definition.
18301 (grub_autoefi_set_virtual_address_map): Likewise.
18302 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18303 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18304 Restructure flow to accomodate it.
18305 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18306 (grub_efiemu_crc): Recompute CRC32.
18307 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18308 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18309 * efiemu/symbols.c (relocated_handle): New variable.
18310 (grub_efiemu_free_syms): Free relocated_handle.
18311 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18312 (grub_efiemu_write_sym_markers): New function.
18313 (grub_efiemu_set_virtual_address_map): Likewise.
18314
18315 Newer XNU parameters.
18316
18317 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18318 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18319 (grub_xnu_fill_devicetree): New prototype.
18320 (grub_xnu_heap_real_start): New variable.
18321 * loader/xnu.c (get_name_ptr): New function.
18322 (grub_xnu_load_driver): Fill namelen and name.
18323
18324 64-bit xnu support.
18325
18326 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18327 and 'loader/macho64.c'.
18328 * conf/i386-pc.rmk: Likewise.
18329 * conf/x86_64-efi.rmk: Likewise.
18330 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18331 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18332 * include/grub/macho.h (grub_macho_segment64): New structure.
18333 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18334 (grub_macho_size32): ... to this.
18335 (grub_macho32_get_entry_point): Renamed from ...
18336 (grub_macho_get_entry_point32): ... to this.
18337 (grub_macho_contains_macho64): New prototype.
18338 (grub_macho_size64): Likewise.
18339 (grub_macho_get_entry_point64): Likewise.
18340 (grub_macho32_load): Renamed from ...
18341 (grub_macho_load32): ... to this.
18342 (grub_macho32_filesize): Renamed from ...
18343 (grub_macho_filesize32): ... to this.
18344 (grub_macho32_readfile): Renamed from ...
18345 (grub_macho_readfile32): ... to this.
18346 (grub_macho_filesize64): New prototype.
18347 (grub_macho_readfile64): Likewise.
18348 (grub_macho_parse32): Likewise.
18349 (grub_macho_parse64): Likewise.
18350 * loader/macho.c: Split into ...
18351 * loader/machoXX.c: ... and this. Replace 32 with XX.
18352 * loader/macho32.c: New file.
18353 * loader/macho64.c: Likewise.
18354 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18355 (grub_cmd_xnu_kernel): Make 32-bit only.
18356 (grub_cmd_xnu_kernel64): New function.
18357 (grub_xnu_load_driver): Support Mach-O 64.
18358 (grub_cmd_xnu_mkext): Likewise.
18359 * util/grub.d/30_os-prober.in (osx_entry): New function.
18360 Generate entries for 64-bit boot too.
18361
18362 Eliminate ad-hoc tree format in XNU and EfiEmu.
18363
18364 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18365 * efiemu/pnvram.c: Rewritten to use environment variables.
18366 All users updated.
18367
18368 Inline utf16_to_utf8.
18369
18370 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18371 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18372 All users updated.
18373 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18374
18375 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18376 * commands/usbtest.c (grub_usb_get_string): ... move here.
18377 (usb_print_str): Fix error handling.
18378 * include/grub/usb.h (grub_usb_get_string): Remove.
18379
18380 UTF-8 to UTF-16 transformation.
18381
18382 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18383 (charset_mod_SOURCES): New variable.
18384 (charset_mod_CFLAGS): Likewise.
18385 (charset_mod_LDFLAGS): Likewise.
18386 * include/grub/utf.h: New file.
18387 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18388
18389 Support for device properties.
18390
18391 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18392 (grub_xnu_devprop_device_header): Likewise.
18393 (grub_xnu_devprop_device_descriptor): Likewise.
18394 (grub_xnu_devprop_add_device): New prototype.
18395 (grub_xnu_devprop_remove_device): Likewise.
18396 (grub_xnu_devprop_remove_property): Likewise.
18397 (grub_xnu_devprop_add_property_utf8): Likewise.
18398 (grub_xnu_devprop_add_property_utf16): Likewise.
18399 (grub_cpu_xnu_init): Likewise.
18400 (grub_cpu_xnu_fini): Likewise.
18401 (grub_cpu_xnu_unload): Likewise.
18402 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18403 (property_descriptor): Likewise.
18404 (devices): New variable.
18405 (grub_xnu_devprop_remove_property): New function.
18406 (grub_xnu_devprop_add_device): Likewise.
18407 (grub_xnu_devprop_remove_device): Likewise.
18408 (grub_xnu_devprop_add_property): Likewise.
18409 (grub_xnu_devprop_add_property_utf8): Likewise.
18410 (grub_xnu_devprop_add_property_utf16): Likewise.
18411 (hextoval): Likewise.
18412 (grub_cpu_xnu_fill_devprop): Likewise.
18413 (grub_cmd_devprop_load): Likewise.
18414 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18415 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18416 (cmd_devprop_load): New variable.
18417 (grub_cpu_xnu_init): New function.
18418 (grub_cpu_xnu_fini): Likewise.
18419 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18420 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18421 (grub_cmd_xnu_devtree): Likewise.
18422 (hextoval): New function.
18423 (unescape): Likewise.
18424 (grub_xnu_fill_devicetree): Likewise.
18425
18426 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18427 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18428
18429 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18430
18431 Workaround for broken ATI VBE.
18432
18433 * video/i386/pc/vbe.c (last_set_mode): New variable.
18434 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18435 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18436 (grub_video_vbe_setup): Don't check for reserved flag.
18437
18438 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
18439
18440 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18441 the `find' command.
18442
18443 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18444
18445 UUID support for HFS.
18446
18447 * fs/hfs.c (grub_hfs_uuid): New function.
18448 (grub_hfs_fs): New value .uuid.
18449 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18450
18451 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
18452
18453 Fix a segfault with parsing unknown long options.
18454
18455 * util/grub-mkrelpath.c (options): Zero terminate it.
18456
18457 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18458
18459 * include/grub/misc.h (grub_puts): New declaration.
18460 (grub_puts_): Likewise.
18461 * kern/misc.c (grub_puts): New definition.
18462 (grub_puts_): Likewise.
18463
18464 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18465
18466 * util/grub-probe.c (probe): Improve error message.
18467
18468 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18469
18470 * loader/i386/multiboot_elfxx.c
18471 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18472 initialization.
18473
18474 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18475
18476 Relocator framework
18477
18478 * loader/i386/xnu_helper.S: Removed. All users updated.
18479 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18480 (relocator_mod_SOURCES): New variable.
18481 (relocator_mod_CFLAGS): Likewise.
18482 (relocator_mod_LDFLAGS): Likewise.
18483 (relocator_mod_ASFLAGS): Likewise.
18484 * conf/x86_64.rmk: Likewise.
18485 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18486 (grub_multiboot_payload_entry_offset): Likewise.
18487 (grub_multiboot_forward_relocator): Likewise.
18488 (grub_multiboot_forward_relocator_end): Likewise.
18489 (grub_multiboot_backward_relocator): Likewise.
18490 (grub_multiboot_backward_relocator_end): Likewise.
18491 (grub_multiboot_payload_eip): New variable.
18492 (grub_multiboot_payload_orig): Likewise.
18493 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18494 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18495 * include/grub/i386/memory.h
18496 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18497 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18498 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18499 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18500 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18501 * include/grub/i386/relocator.h: New file.
18502 * include/grub/x86_64/relocator.h: Likewise.
18503 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18504 (XNU_RELOCATOR): New macro.
18505 (grub_xnu_launcher_start): Remove.
18506 (grub_xnu_launcher_end): Likewise.
18507 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18508 (grub_xnu_heap_real_start): Remove.
18509 (grub_xnu_heap_start): Change to void *. All users updated.
18510 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18511 * lib/i386/relocator.c: New file.
18512 * lib/i386/relocator_asm.S: Likewise.
18513 * lib/i386/relocator_backward.S: Likewise.
18514 * lib/mips/relocator.c: Likewise.
18515 * lib/mips/relocator_asm.S: Likewise.
18516 * lib/relocator.c: Likewise.
18517 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18518 (entry): Removed.
18519 (playground): Likewise.
18520 (grub_multiboot_payload_orig): New variable.
18521 (grub_multiboot_payload_dest): Likewise.
18522 (grub_multiboot_payload_size): Likewise.
18523 (grub_multiboot_payload_eip): Likewise.
18524 (grub_multiboot_payload_esp): Likewise.
18525 (grub_multiboot_boot): Use grub_relocator32_boot.
18526 (grub_multiboot_unload): Free relocators.
18527 (grub_multiboot): Setup stack. Use relocators.
18528 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18529 (grub_multiboot_load_elfXX): Use relocators.
18530 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18531 (grub_multiboot_payload_size): Likewise.
18532 (grub_multiboot_payload_dest): Likewise.
18533 (grub_multiboot_payload_entry_offset): Likewise.
18534 (grub_multiboot_forward_relocator): Likewise.
18535 (grub_multiboot_backward_relocator): Likewise.
18536 (grub_multiboot_real_boot): Likewise.
18537 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18538 (grub_xnu_entry_point): Likewise.
18539 (grub_xnu_arg1): Likewise.
18540 (grub_xnu_stack): Likewise.
18541 (grub_xnu_launch): Removed.
18542 (grub_xnu_boot_resume): New function.
18543 (grub_xnu_boot): Use relocators.
18544 * loader/i386/xnu_helper.S: Removed.
18545 * loader/xnu.c (grub_xnu_heap_start): New variable.
18546 (grub_xnu_heap_size): Likewise.
18547 (grub_xnu_heap_malloc): Use relocators.
18548 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18549
18550 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18551
18552 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18553 anything.
18554
18555 2009-12-13 Carles Pina i Estany <carles@pina.cat>
18556
18557 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18558 GRUB_ERR_NONE before calling grub_env_set.
18559
18560 2009-12-12 Robert Millan <rmh@aybabtu.com>
18561
18562 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18563 * genmk.rb (video): New variable.
18564 (CLEANFILES, VIDEOFILES): Add #{video}.
18565 (#{video}): New target rule.
18566 * genvideolist.sh: New file.
18567 * Makefile.in (pkglib_DATA): Add video.lst.
18568 (video.lst): New target rule.
18569 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18570 `video.lst'.
18571 * util/grub.d/30_os-prober.in: Replace `vbe' with
18572 ${GRUB_VIDEO_BACKEND}.
18573
18574 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18575
18576 * THANKS: Add David Miller.
18577
18578 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18579
18580 libpciaccess support.
18581
18582 * Makefile.in (LIBPCIACCESS): New variable.
18583 (enable_grub_emu_pci): Likewise.
18584 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18585 util/pci.c and commands/lspci.c.
18586 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18587 * configure.ac (grub-emu-pci): New option.
18588 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18589 (grub_pci_device_unmap_range): Likewise.
18590 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18591 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18592 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18593 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18594 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18595 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18596 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18597 * include/grub/pciutils.h: New file.
18598 * util/pci.c: Likewise.
18599
18600 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
18601
18602 * util/misc.c: Don't include <errno.h> twice.
18603
18604 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
18605
18606 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18607 name in an error message.
18608 (grub_biosdisk_rw): Likewise.
18609
18610 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18611
18612 Eliminate NTFS 4Gib barrier.
18613
18614 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18615 (read_run_data): Likewise.
18616 (grub_ntfs_read_run_list): Likewise.
18617 (grub_ntfs_read_block): Likewise.
18618 (grub_ntfs_iterate_dir): Likewise.
18619 (read_mft): Likewise.
18620 (read_data): Likewise.
18621 Use COM_LOG_LEN.
18622 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18623 to avoid 64-bit division
18624 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18625 (grub_ntfs_rlst): Use grub_disk_addr_t.
18626
18627 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18628
18629 Eliminate grub-fstest 4Gib barrier.
18630
18631 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18632 (read_file): Fix error reporting.
18633
18634 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18635
18636 Eliminate hexdump 4Gib barrier.
18637
18638 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18639 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18640
18641 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18642
18643 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18644 Fixes amarsh bug.
18645
18646 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18647
18648 Remove miscellaneous files in distclean target.
18649
18650 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18651
18652 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
18653
18654 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18655 if they're already set. This resolves the conflict between my
18656 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18657 fixing the --grub-probe option again.
18658 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18659 change on 2009-10-06, so that we now once again source
18660 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18661
18662 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18663
18664 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18665 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18666 `util/devicemap.c'.
18667
18668 2009-12-08 Carles Pina i Estany <carles@pina.cat>
18669
18670 * include/grub/misc.h (grub_printf_): New declaration.
18671 * kern/misc.c (grub_printf_): New definition.
18672 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18673 instead of `grub_printf' and `_'.
18674 * normal/menu_entry.c (store_completion): Likewise.
18675 (run): Likewise.
18676 (grub_menu_entry_run): Likewise.
18677 * normal/menu_text.c (grub_wait_after_message): Likewise.
18678 (notify_booting): Likewise.
18679 (notify_fallback): Likewise.
18680 (notify_execution_failure): Likewise.
18681
18682 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
18683
18684 * configure.ac: Check for vasprintf.
18685 * util/misc.c (asprintf): Move allocation from here ...
18686 (vasprintf): ... to here. New function.
18687 (xasprintf): New function.
18688 * include/grub/util/misc.h (vasprintf, xasprintf): Add
18689 prototypes.
18690 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18691 * util/grub-mkfont.c (write_font): Likewise.
18692 * util/grub-probe.c (probe): Likewise.
18693 * util/hostdisk.c (make_device_name): Likewise.
18694
18695 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
18696
18697 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
18698 anything even prefixed with 'cdrom' as a cdrom.
18699
18700 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
18701
18702 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
18703 mount points.
18704
18705 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18706
18707 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
18708 grub_gettext_msg_list.
18709 (grub_gettext_gettranslation_from_position): Return const char *
18710 and not char *.
18711 (grub_gettext_translate): Add the translated strings into a list,
18712 returns from the list if existing there.
18713 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
18714 (grub_gettext_delete_list): Delete the list.
18715 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
18716 lang environment variable is changed.
18717 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
18718
18719 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18720
18721 Rename kernel.mod to kernel.img.
18722
18723 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
18724 (kernel_mod_EXPORTS): Rename to ...
18725 (kernel_img_EXPORTS): ... this.
18726 (kernel_mod_SOURCES): Rename to ...
18727 (kernel_img_SOURCES): ... this.
18728 (kernel_mod_HEADERS): Rename to ...
18729 (kernel_img_HEADERS): ... this. All users updated.
18730 (kernel_mod_CFLAGS): Rename to ...
18731 (kernel_img_CFLAGS): ... this.
18732 (kernel_mod_ASFLAGS): Rename to ...
18733 (kernel_img_ASFLAGS): ... this.
18734 (kernel_mod_LDFLAGS): Rename to ...
18735 (kernel_img_LDFLAGS): ... this.
18736 * conf/x86_64-efi.rmk: Likewise.
18737 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
18738 (read_kernel_image): ... this. All users updated.
18739 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
18740
18741 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18742
18743 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
18744 (print_spaces): New function.
18745 (grub_print_ucs4): New function.
18746 (getstringwidth): New function.
18747 (print_message_indented): New function.
18748 (print_message): Gettexttize strings using print_message_indented.
18749 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
18750 width.
18751 (get_entry_number): Gettextize and uses dynamic terminal width.
18752 (notify_booting, notify_fallback, notify_execution_failure):
18753 Gettextize.
18754 * normal/menu_entry.c (store_completion): Cleanup the gettextized
18755 string.
18756 (run): Likewise.
18757 (grub_menu_entry_run): Likewise.
18758 * PO/POTFILES: Add normal/menu_entry.c.
18759
18760 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18761
18762 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
18763
18764 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18765
18766 * util/grub-install.in: Install gettext .mo files.
18767 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
18768
18769 2009-12-05 Carles Pina i Estany <carles@pina.cat>
18770
18771 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
18772 grub_dprintf.
18773
18774 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
18775
18776 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
18777 non-firmware-dependant one in realmode.S takes precedence.
18778
18779 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
18780
18781 * commands/halt.c: Replace misc arch-specific headers with
18782 `<grub/misc.h>'.
18783 * commands/reboot.c: Likewise.
18784 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
18785 `<grub/misc.h>'.
18786 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
18787 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
18788 (kernel_img_SOURCES): ... to here.
18789
18790 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
18791 * include/grub/i386/pc/init.h: Likewise.
18792 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18793 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18794
18795 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
18796
18797 * include/grub/i386/halt.h: Remove.
18798 * include/grub/i386/reboot.h: Likewise.
18799
18800 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
18801
18802 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
18803
18804 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
18805 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
18806 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
18807 "progname.h"
18808 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18809 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18810 (usage): Add missing comma in printf.
18811
18812 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
18813
18814 Use the same reboot approach on i386 coreboot and qemu as we do on
18815 BIOS.
18816
18817 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
18818 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
18819 * kern/i386/reboot.c: Remove.
18820 * include/grub/i386/reboot.h (grub_reboot): Export function.
18821 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
18822 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
18823 0xf000:0xfff0 instead of 0xffff:0x0000.
18824 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
18825 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
18826
18827 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
18828
18829 Fix $srcdir != $objdir build.
18830
18831 * Makefile.in (po/%.po): Rewrite as ...
18832 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
18833
18834 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
18835
18836 Fix GNU/Hurd grub-install crash.
18837 * util/grub-probe.c (probe): Try to access `path' only when it is not
18838 NULL.
18839
18840 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18841
18842 Correct module naming.
18843
18844 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18845 (GRUB_MOD_INIT(efi_uga)): ... to this
18846 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18847 (GRUB_MOD_FINI(efi_uga)): ... to this
18848 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18849 (GRUB_MOD_INIT(efi_gop)): ... to this
18850 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18851 (GRUB_MOD_FINI(efi_gop)): ... to this
18852
18853 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
18854
18855 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
18856 translatable.
18857 (usage): Translate `arg' strings using gettext().
18858 Thanks to Jordi Mallach for the suggestion.
18859
18860 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18861
18862 GOP support. Based on patch from Bean
18863 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18864
18865 * video/efi_gop.c: New file.
18866 * include/grub/efi/graphics_output.h: Likewise.
18867 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
18868 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18869 variables.
18870 * conf/x86_64-efi.rmk: Likewise.
18871
18872 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18873
18874 Rename efi_fb to efi_uga.
18875
18876 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18877 'efi_uga.mod'.
18878 (efi_fb_mod_SOURCES): Rename this ...
18879 (efi_uga_mod_SOURCES): ... to this.
18880 (efi_fb_mod_CFLAGS): Rename this ...
18881 (efi_uga_mod_CFLAGS): ... to this.
18882 (efi_fb_mod_LDFLAGS): Rename this ...
18883 (efi_uga_mod_LDFLAGS): ... to this.
18884 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18885 'efi_uga.mod'.
18886 (efi_fb_mod_SOURCES): Rename this ...
18887 (efi_uga_mod_SOURCES): ... to this.
18888 (efi_fb_mod_CFLAGS): Rename this ...
18889 (efi_uga_mod_CFLAGS): ... to this.
18890 (efi_fb_mod_LDFLAGS): Rename this ...
18891 (efi_uga_mod_LDFLAGS): ... to this.
18892 * video/efi_fb.c: Move this ...
18893 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
18894
18895 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18896
18897 * po/README: New file. Explain our PO file workflow.
18898
18899 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18900
18901 * po/ChangeLog: Remove. Move relevant entries back to ...
18902 * ChangeLog: ... here.
18903 * po/ca.po: Remove (now handled by TLP).
18904 * po/id.po: Likewise.
18905 * po/zh_CN.po: Likewise.
18906 * Makefile.in (LINGUAS): Initialize in a way that supports
18907 empty set.
18908
18909 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18910
18911 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
18912 reliing on po/LINGUAS.
18913 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
18914 (po/%.po): ... this.
18915
18916 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
18917
18918 * util/i386/efi/grub-mkimage.c: Include "progname.h".
18919 (main): Use `program_name' instead of nonexistent `progname'.
18920
18921 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
18922
18923 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18924 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
18925
18926 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18927
18928 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
18929 commit.
18930 * conf/i386-efi.rmk: Likewise.
18931 * conf/i386-ieee1275.rmk: Likewise.
18932 * conf/powerpc-ieee1275.rmk: Likewise.
18933 * conf/sparc64-ieee1275.rmk: Likewise.
18934 * conf/x86_64-efi.rmk: Likewise.
18935
18936 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
18937
18938 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
18939
18940 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
18941
18942 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
18943
18944 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18945
18946 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
18947 (grub_mkdevicemap_SOURCES): New variable.
18948 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
18949 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
18950 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
18951 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
18952 (grub_mkdevicemap_SOURCES): Remove.
18953 * conf/i386-efi.rmk: Likewise.
18954 * conf/i386-ieee1275.rmk: Likewise.
18955 * conf/i386-pc.rmk: Likewise.
18956 * conf/powerpc-ieee1275.rmk: Likewise.
18957 * conf/sparc64-ieee1275.rmk: Likewise.
18958 * conf/x86_64-efi.rmk: Likewise.
18959 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
18960 (usage): Fix strings to use `program_name'.
18961 (main): Initialize gettext.
18962 * util/grub-editenv.c: Likewise.
18963 * util/grub-emu.c: Likewise.
18964 * util/grub-fstest.c: Likewise.
18965 * util/grub-mkdevicemap.c: Likewise.
18966 * util/grub-mkfont.c: Likewise.
18967 * util/grub-mkrelpath.c: Likewise.
18968 * util/grub-pe2elf.c: Likewise.
18969 * util/grub-probe.c: Likewise.
18970 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18971 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18972 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18973
18974 * util/misc.c: Include `"progname.h"'.
18975 (progname): Remove variable.
18976 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
18977
18978 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
18979
18980 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
18981 printf and print a newline after the menuentry header line.
18982 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18983
18984 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
18985
18986 autoconf >= 2.60 support $(localedir).
18987
18988 * INSTALL: Note that autoconf 2.60 is required.
18989 * configure.ac (AC_PREREQ): Bump to 2.60.
18990 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
18991 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18992
18993 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
18994
18995 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
18996 aclocal is run.
18997
18998 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18999
19000 * normal/main.c (grub_normal_read_line): Fix off-by-one
19001 buffer overflow.
19002
19003 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
19004
19005 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
19006 "parser.grub" in grub_command_execute() call.
19007
19008 2009-11-24 Carles Pina i Estany <carles@pina.cat>
19009
19010 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
19011 * conf/i386-efi.rmk: Likewise.
19012 * conf/i386-ieee1275.rmk: Likewise.
19013 * conf/i386-pc.rmk: Likewise.
19014 * conf/powerpc-ieee1275.rmk: Likewise.
19015 * conf/sparc64-ieee1275.rmk: Likewise.
19016 * conf/x86_64-efi.rmk: Likewise.
19017 * gettext/gettex.c: Include <grub/i18n.h>.
19018 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
19019 here ...
19020 * include/grub/i18n.h: ... to here
19021 * include/grub/i18n.h: ... to here.
19022 * kern/misc.c: Include <grub/i18n.h>
19023 (grub_gettext_dummy): Move above user.
19024
19025 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19026
19027 * util/Makefile.in (install-local): Convert a `for' into a normal
19028 shell expansion.
19029
19030 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
19031
19032 * autogen.sh: Add automake call.
19033 * config.guess: Remove.
19034 * config.sub: Likewise.
19035 * install-sh: Likewise.
19036
19037 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19038
19039 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
19040
19041 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19042
19043 * util/Makefile.in (install-local): Convert a make `$(foreach)'
19044 function to a normal shell `for'.
19045
19046 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19047
19048 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19049
19050 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19051
19052 * util/grub-mkrelpath.c: New file.
19053 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19054 (grub_mkrelpath_SOURCES): New variable.
19055 * include/grub/util/misc.h: New function prototype.
19056 * util/misc.c (make_system_path_relative_to_its_root): New function.
19057
19058 * util/grub-mkconfig_lib.in (bindir): New variable.
19059 (grub_mkrelpath): Likewise.
19060 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19061
19062 * util/probe.c (probe): Make the file path relative to its root.
19063 Change a info message to use the GRUB path. Enable again the
19064 check if we can read the file with GRUB facilities.
19065
19066 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19067 to its root.
19068
19069 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19070
19071 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19072 platform.
19073
19074 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19075
19076 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19077 strncmp().
19078
19079 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
19080
19081 * util/getroot.c (grub_util_is_dmraid): New function.
19082 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19083 devices as normal ones, not as LVM.
19084
19085 2009-11-23 Carles Pina i Estany <carles@pina.cat>
19086
19087 * conf/common.rmk: Add grub-gettext_lib target and updates
19088 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19089 LDFLAGS.
19090 * gettext/gettext.c: New file. (Reads mo files).
19091 * include/grub/file.h (grub_file_pread): New prototype.
19092 * include/grub/i18n.h (_): New prototype.
19093 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19094 prototypes.
19095 * kern/misc.c (grub_gettext_dummy): New function.
19096 * normal/menu_text.c: Include <grub/i18n.h>.
19097 * normal/menu_text.c (print_timeout): Gettexttize string.
19098 * normal/menu_text.c (print_message): Gettexttize string.
19099 * po/POTFILES: Add `normal/menu_text.c'.
19100 * po/ca.po: Add new translations.
19101 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19102 gettext module and defines locale_dir and lang in grub.cfg.
19103 * NEWS: Add gettext support.
19104
19105 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19106
19107 * util/hostdisk.c: Include `<grub/i18n.h>'.
19108 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19109 (make_device_name): Rewrite using asprintf.
19110 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19111 (find_system_device): If a device is not found, generate one just
19112 by reusing the OS path name.
19113 (read_device_map): Make it permissible for device.map not to exist.
19114
19115 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19116
19117 * script/sh/execute.c: Move from here ...
19118 * script/execute.c: ... to here. Update all users.
19119 * script/sh/function.c: Move from here ...
19120 * script/function.c: ... to here. Update all users.
19121 * script/sh/lexer.c: Move from here ...
19122 * script/lexer.c: ... to here. Update all users.
19123 * script/sh/main.c: Move from here ...
19124 * script/main.c: ... to here. Update all users.
19125 * script/sh/parser.y: Move from here ...
19126 * script/parser.y: ... to here. Update all users.
19127 * script/sh/script.c: Move from here ...
19128 * script/script.c: ... to here. Update all users.
19129
19130 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19131
19132 * configure.ac: Detect all `emu' platforms. Define
19133 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19134 --enable-grub-emu logic. Disable include/grub/machine
19135 symlink on `emu' platforms.
19136
19137 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19138 * gensymlist.sh.in: Likewise.
19139
19140 * include/grub/i386/coreboot/machine.h: Remove file.
19141 * include/grub/i386/efi/machine.h: Likewise.
19142 * include/grub/i386/ieee1275/machine.h: Likewise.
19143 * include/grub/i386/pc/machine.h: Likewise.
19144 * include/grub/i386/qemu/machine.h: Likewise.
19145 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19146 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19147 * include/grub/x86_64/efi/machine.h: Likewise.
19148
19149 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19150 * commands/halt.c: Likewise.
19151 * commands/reboot.c: Likewise.
19152 * include/grub/autoefi.h: Likewise.
19153 * include/grub/i386/at_keyboard.h: Likewise.
19154 * include/grub/i386/kernel.h: Likewise.
19155 * include/grub/i386/loader.h: Likewise.
19156 * include/grub/i386/pc/memory.h: Likewise.
19157 * kern/dl.c: Likewise.
19158 * kern/i386/coreboot/init.c: Likewise.
19159 * loader/i386/bsd.c: Likewise.
19160 * loader/i386/linux.c: Likewise.
19161 * loader/multiboot_loader.c: Likewise.
19162 * term/i386/pc/serial.c: Likewise.
19163 * term/usb_keyboard.c: Likewise.
19164
19165 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19166 `<grub/machine/machine.h>'
19167 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19168 * util/misc.c: Remove `<grub/machine/machine.h>' and
19169 `<grub/machine/time.h>'.
19170
19171 * Makefile.in (enable_grub_emu): Remove variable.
19172 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19173
19174 * conf/any-emu.rmk: New file.
19175 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19176 (grub_emu_init.c): Move from here ...
19177 * conf/any-emu.rmk: ... to here.
19178
19179 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19180 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19181 * conf/any-emu.rmk: ... to here.
19182
19183 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19184
19185 * include/grub/parser.h (grub_parser_register): Document need
19186 of `name' parameter.
19187 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19188 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19189 "sh" to "grub".
19190
19191 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19192
19193 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19194 `$(XGETTEXT)'.
19195 * include/grub/i18n.h (N_): New macro.
19196 * util/mkisofs/mkisofs.h: Likewise.
19197 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19198 around N_().
19199 (usage): Use gettext() to translate help strings when printing them.
19200
19201 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19202
19203 Based on patch from Bean
19204 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19205
19206 * video/efi_fb.c: New file.
19207 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19208 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19209 variables.
19210 * conf/x86_64-efi.rmk: Likewise.
19211
19212 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19213
19214 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19215 * util/i386/pc/grub-setup.c: Likewise.
19216
19217 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19218
19219 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19220 <hurd/fs.h>
19221 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19222 file_get_storage_info to implement grub_guess_root_device.
19223
19224 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19225
19226 * Makefile.in (target): Use make's builtin $(shell) function
19227 instead of calling directly $(SHELL) to create the locale directories,
19228 inside the $(foreach) function.
19229
19230 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19231
19232 * util/grub-mkrescue.in: Print an error and usage if output option
19233 has not been given.
19234
19235 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
19236
19237 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19238 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19239 root and /boot are on different devices.
19240
19241 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19242
19243 Fix build for srcdir != objdir.
19244
19245 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19246 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19247 $(srcdir).
19248 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19249 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19250 reference for input.
19251
19252 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19253
19254 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19255 or hardlinking it). Remove -J option, Joliet is not compatible with
19256 multiple source directories.
19257
19258 2009-11-21 Carles Pina i Estany <carles@pina.cat>
19259 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19260
19261 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19262 (process_input_dir): New function. Process an arbitrary input
19263 directory.
19264 Misc adjustments to support both "override mode" and system-wide mode.
19265
19266 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19267
19268 * configure.ac (UNIFONT_BDF): Rename to ...
19269 (FONT_SOURCE): ... this. Update all users.
19270
19271 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
19272
19273 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19274 to the list of unifont files to look for.
19275
19276 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19277
19278 Patch from Joe Auricchio <jauricchio@gmail.com>
19279 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19280 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19281 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19282
19283 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19284
19285 * Makefile.in (install-local): Add a missing backslash.
19286
19287 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
19288
19289 * include/grub/x86_64/io.h: New file.
19290
19291 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19292
19293 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19294 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19295 Include `"progname.h"'.
19296 (main): Initialize gettext.
19297 * util/i386/pc/grub-setup.c: Gettexttize.
19298 * util/i386/pc/grub-mkimage.c: Likewise.
19299
19300 * Makefile.in (po/*.po): Redefine as ...
19301 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19302
19303 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19304
19305 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19306
19307 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19308 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19309 (program_name): Remove.
19310 (main): Initialize gettext support.
19311 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19312 Include `<libintl.h>'.
19313 (_): New macro.
19314
19315 * util/mkisofs/eltorito.c: Gettexttize.
19316 * util/mkisofs/joliet.c: Likewise.
19317 * util/mkisofs/mkisofs.c: Likewise.
19318 * util/mkisofs/multi.c: Likewise.
19319 * util/mkisofs/rock.c: Likewise.
19320 * util/mkisofs/tree.c: Likewise.
19321 * util/mkisofs/write.c: Likewise.
19322
19323 * po/POTFILES: Update with new files.
19324
19325 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19326
19327 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19328 * util/mkisofs/iso9660.h: Likewise.
19329 * util/mkisofs/joliet.c: Likewise.
19330 * util/mkisofs/mkisofs.c: Likewise.
19331 * util/mkisofs/mkisofs.h: Likewise.
19332 * util/mkisofs/rock.c: Likewise.
19333 * util/mkisofs/tree.c: Likewise.
19334 * util/mkisofs/write.c: Likewise.
19335
19336 * util/mkisofs/eltorito.c (rcsid): Remove.
19337 * util/mkisofs/hash.c: Likewise.
19338 * util/mkisofs/joliet.c: Likewise.
19339 * util/mkisofs/name.c: Likewise.
19340 * util/mkisofs/rock.c: Likewise.
19341 * util/mkisofs/tree.c: Likewise.
19342 * util/mkisofs/write.c: Likewise.
19343
19344 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19345
19346 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19347 instead of static allocation.
19348 * util/mkisofs/match.h: Likewise.
19349
19350 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19351
19352 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19353 and `util/grub.d/10_linux.in'.
19354 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19355 translatable Shell files.
19356
19357 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19358
19359 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19360
19361 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19362
19363 * INSTALL: Document Automake is needed for bootstrap.
19364 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
19365 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19366 Add gettext initialization.
19367 (kfreebsd_entry): Make menuentry output translatable.
19368
19369 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19370
19371 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19372 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19373 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19374 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19375 (LINGUAS): Auto-generate using `po/LINGUAS'.
19376 * po/LINGUAS: New file.
19377
19378 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19379
19380 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19381 other things).
19382 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19383 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19384 bindtextdomain() calls for gettext initialization.
19385
19386 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19387
19388 * gnulib/progname.c: New file (imported from Gnulib).
19389 * gnulib/progname.h: Likewise.
19390 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19391 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19392 (usage): Replace `progname' with `program_name'.
19393 (main): Use set_program_name() for program name initialization.
19394
19395 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19396
19397 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19398 from here ...
19399 * Makefile.in (CPPFLAGS): ... to here.
19400
19401 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19402
19403 * aclocal.m4: Move from here ...
19404 * acinclude.m4: ... to here.
19405 * autogen.sh: Add call to `aclocal'.
19406 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19407
19408 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19409
19410 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19411 (LINGUAS): New variable.
19412 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19413 (install-local): Install MO files.
19414 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19415 * include/grub/i18n.h: New file.
19416 * po/POTFILES: New file.
19417 * po/ca.po: New file.
19418 * util/grub.d/10_linux.in (bindir): New variable.
19419 Add gettext initialization.
19420 (linux_entry): Make menuentry output translatable.
19421 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19422 (usage): Make --help output translatable.
19423 (main): Initialize gettext.
19424
19425 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19426
19427 * import_gcry.py: New file (written by Vladimir with minor
19428 adjustments).
19429 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19430 ciphers.
19431 * INSTALL: Document that Python is required for bootstrap.
19432
19433 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19434
19435 Import ciphers from libgcrypt 1.4.4.
19436
19437 * lib/libgcrypt/cipher/ChangeLog
19438 * lib/libgcrypt/cipher/ac.c
19439 * lib/libgcrypt/cipher/arcfour.c
19440 * lib/libgcrypt/cipher/bithelp.h
19441 * lib/libgcrypt/cipher/blowfish.c
19442 * lib/libgcrypt/cipher/camellia-glue.c
19443 * lib/libgcrypt/cipher/camellia.c
19444 * lib/libgcrypt/cipher/camellia.h
19445 * lib/libgcrypt/cipher/cast5.c
19446 * lib/libgcrypt/cipher/cipher.c
19447 * lib/libgcrypt/cipher/crc.c
19448 * lib/libgcrypt/cipher/des.c
19449 * lib/libgcrypt/cipher/dsa.c
19450 * lib/libgcrypt/cipher/ecc.c
19451 * lib/libgcrypt/cipher/elgamal.c
19452 * lib/libgcrypt/cipher/hash-common.c
19453 * lib/libgcrypt/cipher/hash-common.h
19454 * lib/libgcrypt/cipher/hmac-tests.c
19455 * lib/libgcrypt/cipher/md.c
19456 * lib/libgcrypt/cipher/md4.c
19457 * lib/libgcrypt/cipher/md5.c
19458 * lib/libgcrypt/cipher/primegen.c
19459 * lib/libgcrypt/cipher/pubkey.c
19460 * lib/libgcrypt/cipher/rfc2268.c
19461 * lib/libgcrypt/cipher/rijndael-tables.h
19462 * lib/libgcrypt/cipher/rijndael.c
19463 * lib/libgcrypt/cipher/rmd.h
19464 * lib/libgcrypt/cipher/rmd160.c
19465 * lib/libgcrypt/cipher/rsa.c
19466 * lib/libgcrypt/cipher/seed.c
19467 * lib/libgcrypt/cipher/serpent.c
19468 * lib/libgcrypt/cipher/sha1.c
19469 * lib/libgcrypt/cipher/sha256.c
19470 * lib/libgcrypt/cipher/sha512.c
19471 * lib/libgcrypt/cipher/tiger.c
19472 * lib/libgcrypt/cipher/twofish.c
19473 * lib/libgcrypt/cipher/whirlpool.c
19474
19475 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19476
19477 Fix build for systems without error().
19478
19479 * gnulib/error.c: New file (imported from Gnulib).
19480 * gnulib/error.h: Likewise.
19481 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19482 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19483 (this variable is now used by error()).
19484
19485 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19486
19487 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19488 instead of relying that char is signed.
19489
19490 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19491
19492 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19493 blocksize different from specified.
19494 (grub_pxefs_read): Likewise.
19495
19496 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
19497
19498 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19499
19500 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19501 (grub_ata_readwrite): Likewise. Update 2 format strings.
19502 (grub_atapi_read): Likewise.
19503
19504 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19505 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19506 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19507 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19508 (ata_mod_LDFLAGS): Move from here ...
19509 * conf/i386.rmk: ... to here ...
19510 * conf/x86_64-efi.rmk: ... and here.
19511 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19512 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19513
19514 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19515
19516 Relicense multiboot.h, with RMS' blessing.
19517
19518 * include/multiboot.h: Change to X11 license.
19519
19520 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19521
19522 Support --version in grub-mkisofs.
19523
19524 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19525 (OPTION_VERSION): New macro.
19526 (ld_options): Recognize --version.
19527 (usage): Move `program_name' from here ...
19528 (program_name): ... to here. Add `static' qualifier.
19529 (main): Recognize `OPTION_VERSION'.
19530
19531 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
19532
19533 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19534 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19535
19536 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19537
19538 Fix help2man generation for mkisofs.
19539
19540 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19541 (usage): Send output to stdout (rather than stderr).
19542
19543 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19544
19545 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19546 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19547 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19548 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19549 (bin_SCRIPTS): Add `grub-mkfloppy'.
19550 (grub_mkfloppy_SOURCES): New variable.
19551
19552 * util/grub-mkrescue.in: New file.
19553 * util/i386/pc/grub-mkfloppy.in: New file.
19554
19555 * util/i386/coreboot/grub-mkrescue.in: Remove.
19556 * util/i386/pc/grub-mkrescue.in: Remove.
19557
19558 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19559
19560 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19561 from here ...
19562 * include/multiboot.h (struct multiboot_header): ... to here. Update
19563 all users.
19564 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19565 from here ...
19566 * include/multiboot.h (struct multiboot_info): ... to here. Update
19567 all users.
19568 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19569 from here ...
19570 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19571 Update all users.
19572 * include/grub/multiboot.h (struct grub_mod_list): Move
19573 from here ...
19574 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19575 Update all users.
19576
19577 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19578
19579 * include/multiboot2.h (multiboot_word): Rename from this ...
19580 (multiboot2_word): ... to this. Update all users.
19581 (multiboot_header): Rename from this ...
19582 (multiboot2_header): ... to this. Update all users.
19583 (multiboot_tag_header): Rename from this ...
19584 (multiboot2_tag_header): ... to this. Update all users.
19585 (multiboot_tag_start): Rename from this ...
19586 (multiboot2_tag_start): ... to this. Update all users.
19587 (multiboot_tag_name): Rename from this ...
19588 (multiboot2_tag_name): ... to this. Update all users.
19589 (multiboot_tag_module): Rename from this ...
19590 (multiboot2_tag_module): ... to this. Update all users.
19591 (multiboot_tag_memory): Rename from this ...
19592 (multiboot2_tag_memory): ... to this. Update all users.
19593 (multiboot_tag_unused): Rename from this ...
19594 (multiboot2_tag_unused): ... to this. Update all users.
19595 (multiboot_tag_end): Rename from this ...
19596 (multiboot2_tag_end): ... to this. Update all users.
19597
19598 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19599
19600 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19601 this platform we should support Multiboot1 first.
19602
19603 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19604 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19605 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19606
19607 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19608
19609 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19610 of write calls (converting them to fwrite() if they aren't already).
19611 (get_torito_desc): Likewise.
19612 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19613
19614 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19615
19616 * util/i386/pc/grub-install.in: Move from here ...
19617 * util/grub-install.in: ... to here. Update all users.
19618
19619 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
19620
19621 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19622
19623 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19624
19625 Support for El Torito without floppy emulation.
19626
19627 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19628 (init_boot_catalog): Improve error handling.
19629 (get_torito_desc): Don't use floppy emulation unless requested by
19630 user. Patch boot information table when requested via
19631 `-boot-info-table'.
19632 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19633 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19634 (use_boot_info_table): New variables.
19635 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19636 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19637 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19638 `--eltorito-emul-floppy'.
19639 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19640 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19641 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19642 (use_boot_info_table, get_731): New prototypes.
19643 * util/mkisofs/write.c (get_731): New function.
19644
19645 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
19646
19647 Fix the generation of the man page.
19648
19649 * util/pc/i386/grub-install.in: Source
19650 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19651
19652 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19653
19654 Large file support for grub-mkisofs.
19655
19656 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19657 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19658 (session_start): Upgrade type to `uint64_t'. Update all users.
19659 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19660 (struct directory_entry): Upgrade type of `starting_block' and
19661 `size' to `uint64_t'. Update all users.
19662 (struct deferred): Remove unused structure.
19663 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19664 Update all users.
19665 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19666 file is larger than `UINT32_MAX'.
19667 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19668 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19669 return value.
19670 (struct deferred_write): Upgrade type of `extent' and `size' to
19671 `uint64_t'. Update all users.
19672 (last_extent_written): Upgrade type to `uint64_t'. Update all
19673 users.
19674 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
19675 Update all users. Upgrade type of `remain' to `int64_t' and
19676 `use' to `size_t'. Use error() to handle fread() errors.
19677 (write_files): Rely on write_one_file() rather than calling
19678 xfwrite() directly.
19679
19680 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
19681
19682 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
19683
19684 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19685
19686 * util/mkisofs/fnmatch.c: Remove.
19687 * util/mkisofs/getopt1.c: Likewise.
19688 * util/mkisofs/getopt.c: Likewise.
19689 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
19690 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
19691 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
19692 `gnulib/getopt1.c' and `gnulib/getopt.c'.
19693 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
19694
19695 * configure.ac: Detect `mingw32msvc' host_os.
19696 Check for lstat(), getuid() and getgid().
19697
19698 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
19699 instances of `u_char' with `uint8_t'.
19700
19701 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
19702 [!HAVE_GETUID] (getuid): New function (stub).
19703 [!HAVE_GETGID] (getgid): Likewise.
19704 [!HAVE_LSTAT] (lstat): Likewise.
19705 [!S_IROTH] (S_IROTH): New macro (dummy).
19706 [!S_IRGRP] (S_IRGRP): Likewise.
19707
19708 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19709
19710 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
19711 conditional expression).
19712
19713 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19714
19715 Import from Gnulib.
19716
19717 * gnulib/fnmatch.c: New file.
19718 * gnulib/fnmatch.h: Likewise.
19719 * gnulib/fnmatch_loop.c: Likewise.
19720 * gnulib/getopt.c: Likewise.
19721 * gnulib/getopt.h: Likewise.
19722 * gnulib/getopt1.c: Likewise.
19723 * gnulib/getopt_int.h: Likewise.
19724 * gnulib/gettext.h: Likewise.
19725
19726 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19727
19728 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
19729 * normal/handler.c (read_handler_list): Likewise.
19730
19731 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19732
19733 Misc cleanup.
19734
19735 * kern/command.c (grub_register_command_prio): Use
19736 grub_zalloc() instead of explicitly zeroing data.
19737 * kern/list.c: Include `<grub/mm.h>'.
19738 (grub_named_list_find): Replace `0' with `NULL'.
19739 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
19740 (fs_module_list): Change type to `grub_named_list_t'. Update all
19741 users.
19742 * normal/dyncmd.c (read_command_list): Add space between function
19743 call and parenthesis.
19744 * normal/handler.c (read_handler_list): Likewise.
19745
19746 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19747
19748 * normal/auth.c (punishment_delay): Moved from here ...
19749 (grub_auth_strcmp): ... to here (inside function).
19750
19751 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19752
19753 * include/grub/list.h (struct grub_named_list): Remove `const'
19754 qualifier from `name'.
19755 (struct grub_prio_list): Likewise.
19756
19757 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19758
19759 * normal/auth.c: Include `<grub/time.h>'.
19760 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
19761
19762 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19763
19764 * normal/auth.c (punishment_delay): New variable.
19765 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
19766 (grub_auth_check_authentication): Punish failed login attempts with
19767 an incremental (2^N) delay.
19768
19769 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19770
19771 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
19772 path with $(srcdir).
19773
19774 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19775
19776 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
19777
19778 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19779
19780 * util/i386/coreboot/grub-mkrescue.in: New file.
19781 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
19782 variables.
19783
19784 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
19785 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
19786 * configure.ac: Add header and function checks to satisfy grub-mkisofs
19787 requirements.
19788 * util/mkisofs/defaults.h: New file.
19789 * util/mkisofs/eltorito.c: Likewise.
19790 * util/mkisofs/exclude.h: Likewise.
19791 * util/mkisofs/fnmatch.c: Likewise.
19792 * util/mkisofs/getopt.c: Likewise.
19793 * util/mkisofs/getopt1.c: Likewise.
19794 * util/mkisofs/hash.c: Likewise.
19795 * util/mkisofs/include/fctldefs.h: Likewise.
19796 * util/mkisofs/include/mconfig.h: Likewise.
19797 * util/mkisofs/include/prototyp.h: Likewise.
19798 * util/mkisofs/include/statdefs.h: Likewise.
19799 * util/mkisofs/iso9660.h: Likewise.
19800 * util/mkisofs/joliet.c: Likewise.
19801 * util/mkisofs/match.c: Likewise.
19802 * util/mkisofs/match.h: Likewise.
19803 * util/mkisofs/mkisofs.c: Likewise.
19804 * util/mkisofs/mkisofs.h: Likewise.
19805 * util/mkisofs/multi.c: Likewise.
19806 * util/mkisofs/name.c: Likewise.
19807 * util/mkisofs/rock.c: Likewise.
19808 * util/mkisofs/tree.c: Likewise.
19809 * util/mkisofs/write.c: Likewise.
19810
19811 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19812
19813 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
19814 being insecure.
19815
19816 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19817
19818 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
19819 `grub-mkimage' (and use $0 when possible).
19820
19821 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19822
19823 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
19824 error message for excessively large memory map.
19825
19826 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19827
19828 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
19829 executable bit.
19830
19831 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19832
19833 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
19834 message for coreboot users.
19835
19836 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
19837
19838 Fix build with GNU gold.
19839
19840 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
19841 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
19842 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
19843 link addresses.
19844 * aclocal.m4: Likewise.
19845
19846 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
19847
19848 * configure.ac (AC_PREREQ): Bump to 2.59d.
19849 * INSTALL: Make it more clear when Autoconf and Ruby are
19850 needed and when to run `./autogen.sh'.
19851
19852 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
19853
19854 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
19855 OSes.
19856
19857 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19858
19859 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
19860
19861 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19862
19863 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
19864 giving it to GNU Mach.
19865
19866 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19867
19868 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
19869 GNU partition number to get internal GRUB partition number.
19870
19871 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19872
19873 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
19874 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
19875
19876 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
19877
19878 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
19879 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
19880 case.
19881
19882 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
19883
19884 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
19885
19886 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19887
19888 Fix build problem.
19889
19890 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
19891 `-isystem=$(srcdir)/include'.
19892
19893 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19894
19895 * util/i386/pc/grub-install.in: Remove hint that device.map should be
19896 checked (grub-install doesn't currently rely on it).
19897
19898 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
19899
19900 Revert SVN r2660.
19901
19902 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
19903 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19904 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
19905 * conf/i386-ieee1275.rmk: Likewise.
19906 * conf/i386-pc.rmk: Likewise.
19907 * conf/powerpc-ieee1275.rmk: Likewise.
19908 * conf/sparc64-ieee1275.rmk: Likewise.
19909 * conf/x86_64-efi.rmk: Likewise.
19910
19911 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19912
19913 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
19914
19915 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19916
19917 * include/grub/misc.h: Stop checking for APPLE_CC.
19918
19919 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19920
19921 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
19922 doesn't cause an infinite call loop.
19923
19924 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
19925
19926 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
19927 strings.
19928
19929 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19930
19931 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
19932 variable.
19933 * Makefile.in: Likewise.
19934
19935 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19936
19937 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
19938
19939 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19940
19941 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
19942
19943 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19944
19945 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
19946
19947 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19948
19949 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
19950 from here ...
19951 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
19952
19953 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19954
19955 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
19956 in $(MAKEINFO) invocation. This makes it clear in output that
19957 errors are being ignored.
19958
19959 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19960
19961 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
19962 from here ...
19963 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19964 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
19965 * conf/i386-ieee1275.rmk: Likewise.
19966 * conf/i386-pc.rmk: Likewise.
19967 * conf/powerpc-ieee1275.rmk: Likewise.
19968 * conf/sparc64-ieee1275.rmk: Likewise.
19969 * conf/x86_64-efi.rmk: Likewise.
19970
19971 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
19972
19973 * util/grub-editenv.c (main): If only a command is given, use
19974 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
19975 (usage): FILENAME is now optional and has a default.
19976
19977 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
19978
19979 Improve grub-mkconfig performance when there are several menu
19980 entries on a single filesystem.
19981
19982 * util/grub.d/10_linux.in (linux_entry): Cache the output of
19983 prepare_grub_to_access_device.
19984 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19985 * util/grub.d/30_os-prober.in: Likewise.
19986
19987 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19988
19989 * util/grub.d/10_freebsd.in: Remove.
19990 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
19991 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
19992
19993 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19994
19995 * docs/grub.cfg: Fix example usage of *BSD loaders.
19996
19997 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19998
19999 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
20000 grub_util_error() call.
20001
20002 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20003
20004 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
20005 `reserved_first_sector' member.
20006 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
20007 `reserved_first_sector' to 1.
20008 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
20009 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
20010 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
20011 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
20012 filesystems which begin at first sector.
20013 (options): New option --skip-fs-probe.
20014 (main): Handle --skip-fs-probe and pass it to setup().
20015
20016 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20017
20018 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
20019 (memset): Fix function prototype.
20020
20021 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20022 2009-10-25 Vasily Averin <vvs@parallels.com>
20023
20024 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
20025 `dirent.direntlen == 0'.
20026
20027 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20028
20029 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
20030 `cpio'.
20031 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
20032
20033 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20034
20035 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
20036 `__trampoline_setup' and `__ucmpdi2'.
20037 * include/grub/powerpc/libgcc.h: Only export symbols for functions
20038 that libgcc provides.
20039
20040 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20041
20042 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
20043 * include/grub/sparc64/libgcc.h (memset): Likewise.
20044 * include/grub/misc.h (memset, memcmp): New function prototypes.
20045
20046 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20047
20048 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20049 `cpio'.
20050 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20051
20052 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20053
20054 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20055 * docs/grub.cfg: Compensate for recent change in multiboot
20056 loader (since 2009-08-14 it won't pass filename to payload).
20057 * util/grub.d/10_hurd.in: Likewise.
20058
20059 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
20060
20061 * config.guess: Update to latest version from config git
20062 repository.
20063 * config.sub: Likewise.
20064
20065 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20066
20067 Fix build on sparc64.
20068
20069 * configure.ac: Perform checks for libgcc symbols before
20070 adding `-nostdlib' to LDFLAGS.
20071
20072 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20073
20074 Let user specify OpenBSD root device.
20075
20076 * loader/i386/bsd.c (openbsd_root): New variable.
20077 (openbsd_opts): New option 'root'.
20078 (OPENBSD_ROOT_ARG): New macro.
20079 (grub_openbsd_boot): Use 'openbsd_root'.
20080 (grub_cmd_openbsd): Fill 'openbsd_root'.
20081
20082 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20083
20084 * NEWS: Misc adjustments.
20085
20086 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20087
20088 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20089
20090 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20091
20092 * configure.ac: Bump version to 1.97.
20093
20094 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
20095
20096 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20097 -mno-3dnow on x86 architectures. Some toolchains enable these
20098 features by default, but they rely on registers that aren't enabled
20099 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20100
20101 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20102
20103 Make entry text a bit more readable.
20104
20105 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20106
20107 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20108
20109 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20110
20111 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20112
20113 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20114 operations.
20115
20116 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20117
20118 * configure.ac: Add missing dollar.
20119
20120 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20121
20122 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20123
20124 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20125 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20126 exports.
20127 * include/grub/sparc64/libgcc.h: Likewise. Use
20128 preprocessor conditionals.
20129
20130 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20131
20132 * conf/common.rmk (grub-dumpbios): Remove rule.
20133 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20134 * util/grub-dumpbios.in: Remove file.
20135
20136 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20137
20138 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20139 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20140
20141 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20142 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20143 users.
20144
20145 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20146 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20147 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20148 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20149 users.
20150
20151 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20152
20153 * term/tparm.c: Switch to GPLv3.
20154
20155 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20156
20157 * include/grub/i386/cpuid.h: Add header protection.
20158
20159 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20160
20161 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20162
20163 * include/grub/i386/cpuid.h: New file.
20164 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20165 (has_longmode): Rename to ...
20166 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20167 `static' attribute.
20168 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20169 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20170 on a CPU that doesn't implement AMD64 instruction set.
20171
20172 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20173
20174 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20175 that version.texi is rebuilt on version number changes.
20176
20177 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20178
20179 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20180 Fixes bug #27602.
20181
20182 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
20183
20184 * util/i386/pc/grub-install.in: Source
20185 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20186 that the --grub-probe option will work.
20187 * util/sparc64/ieee1275/grub-install.in: Likewise.
20188
20189 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20190
20191 * configure.ac: Bump version to 1.97~beta4.
20192
20193 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20194
20195 Resync grub-mkdevicemap in x86_64-efi.
20196
20197 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20198 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20199 `util/devicemap.c'.
20200
20201 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
20202
20203 * util/grub-editenv.c (create_envblk_file): Write new block with a
20204 .new suffix and then rename it into place, to ensure atomic
20205 creation.
20206
20207 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20208
20209 Do not automatically install headers.
20210
20211 * Makefile.in (include_DATA): Remove. Update all users.
20212
20213 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20214
20215 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20216 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20217
20218 * util/osdetect.lua: Remove.
20219 * script/lua/lauxlib.c: Likewise.
20220 * script/lua/ldebug.c: Likewise.
20221 * script/lua/grub_main.c: Likewise.
20222 * script/lua/lauxlib.h: Likewise.
20223 * script/lua/ldebug.h: Likewise.
20224 * script/lua/ltablib.c: Likewise.
20225 * script/lua/liolib.c: Likewise.
20226 * script/lua/lstrlib.c: Likewise.
20227 * script/lua/lualib.h: Likewise.
20228 * script/lua/ldo.c: Likewise.
20229 * script/lua/ldump.c: Likewise.
20230 * script/lua/ldo.h: Likewise.
20231 * script/lua/loslib.c: Likewise.
20232 * script/lua/lundump.c: Likewise.
20233 * script/lua/grub_lib.c: Likewise.
20234 * script/lua/ldblib.c: Likewise.
20235 * script/lua/lundump.h: Likewise.
20236 * script/lua/lmem.c: Likewise.
20237 * script/lua/grub_lib.h: Likewise.
20238 * script/lua/lmathlib.c: Likewise.
20239 * script/lua/lstate.c: Likewise.
20240 * script/lua/ltm.c: Likewise.
20241 * script/lua/lvm.c: Likewise.
20242 * script/lua/lmem.h: Likewise.
20243 * script/lua/lstate.h: Likewise.
20244 * script/lua/ltm.h: Likewise.
20245 * script/lua/ltable.c: Likewise.
20246 * script/lua/lvm.h: Likewise.
20247 * script/lua/llex.c: Likewise.
20248 * script/lua/lgc.c: Likewise.
20249 * script/lua/grub_lua.h: Likewise.
20250 * script/lua/loadlib.c: Likewise.
20251 * script/lua/lfunc.c: Likewise.
20252 * script/lua/lopcodes.c: Likewise.
20253 * script/lua/lparser.c: Likewise.
20254 * script/lua/ltable.h: Likewise.
20255 * script/lua/llex.h: Likewise.
20256 * script/lua/lgc.h: Likewise.
20257 * script/lua/lfunc.h: Likewise.
20258 * script/lua/lbaselib.c: Likewise.
20259 * script/lua/lopcodes.h: Likewise.
20260 * script/lua/lparser.h: Likewise.
20261 * script/lua/lzio.c: Likewise.
20262 * script/lua/linit.c: Likewise.
20263 * script/lua/lobject.c: Likewise.
20264 * script/lua/llimits.h: Likewise.
20265 * script/lua/lstring.c: Likewise.
20266 * script/lua/lzio.h: Likewise.
20267 * script/lua/lapi.c: Likewise.
20268 * script/lua/lcode.c: Likewise.
20269 * script/lua/lua.h: Likewise.
20270 * script/lua/lobject.h: Likewise.
20271 * script/lua/lstring.h: Likewise.
20272 * script/lua/lapi.h: Likewise.
20273 * script/lua/lcode.h: Likewise.
20274 * script/lua/luaconf.h: Likewise.
20275
20276 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
20277
20278 * docs/grub.texi (Command-line and menu entry commands): Document
20279 date and echo commands.
20280
20281 2009-09-24 Pavel Roskin <proski@gnu.org>
20282
20283 * include/grub/kernel.h (struct grub_module_header): Remove
20284 `grub_module_header_types'. Make `type' unsigned. Make `size'
20285 32-bit on all platforms.
20286 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20287 8-bit field. Use grub_host_to_target32() for `size'.
20288 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20289 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20290 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20291
20292 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20293
20294 Fix "lost keypress" bug in at_keyboard.
20295
20296 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20297 Checks for readyness of input buffer (without flushing it).
20298 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20299 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20300
20301 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20302
20303 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20304 size check within GRUB_MACHINE_PCBIOS section.
20305
20306 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20307
20308 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20309 return value.
20310 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20311 KEYBOARD_ISREADY check.
20312 (grub_at_keyboard_checkkey): Rename to ...
20313 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20314 Remove gratuitous cast.
20315
20316 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
20317
20318 * configure.ac: Call AC_PROG_MKDIR_P.
20319 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20320 version.texi in $(builddir) rather than $(srcdir).
20321 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20322 to makeinfo's @include search path.
20323
20324 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20325
20326 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20327
20328 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
20329
20330 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20331 for `*.dpkg-new'.
20332
20333 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
20334
20335 Build info documentation. Some code borrowed from Automake.
20336
20337 * configure.ac: Check for makeinfo.
20338 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20339 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20340 docs/version.texi.
20341 (MOSTLYCLEANFILES): Add vti.tmp.
20342 (docs/version.texi, docs/stamp-vti): Update automatically.
20343 (docs/grub.info): Build info documentation. Use --force and ignore
20344 errors for now.
20345 (all-local): Add $(INFOS).
20346 (install-local): Install info files.
20347 (uninstall): Uninstall info files.
20348 * docs/version.texi: Remove from revision control. This file is
20349 automatically generated on build now.
20350 * gendistlist.sh: Add `*.info'.
20351
20352 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20353
20354 * kern/term.c: Fix indentation.
20355
20356 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
20357
20358 * util/hostdisk.c: Fix a comment.
20359
20360 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20361
20362 Fix regression introduced in r2539.
20363
20364 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20365 to 0xA1.
20366
20367 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
20368
20369 * util/grub.d/30_os-prober.in: Don't throw away stderr from
20370 os-prober. Under normal operation, it does not print anything to
20371 stderr; if it does, we need to debug it, and throwing away stderr
20372 makes that excessively difficult.
20373
20374 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20375
20376 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20377
20378 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20379
20380 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20381 AC_LANG_PROGRAM from autoconf.
20382 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20383 prototypes (fixes warning).
20384
20385 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20386 `--disable-werror' was used.
20387
20388 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20389
20390 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20391 uninitialized `lastaddr'.
20392
20393 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20394
20395 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
20396
20397 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20398
20399 * commands/test.c (get_fileinfo): Return immediately if
20400 grub_fs_probe fails.
20401
20402 2009-09-14 José Martínez <xosemp@gmail.com>
20403
20404 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20405
20406 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
20407
20408 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20409 output.
20410
20411 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20412
20413 * configure.ac: Remove --enable-grub-pe2elf. Only build
20414 grub-pe2elf when needed by the build system itself.
20415 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20416
20417 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20418
20419 * configure.ac: Bump version to 1.97~beta3.
20420 * docs/version.texi: Likewise.
20421
20422 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20423
20424 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20425 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20426 from here ...
20427 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20428 (grub_linux_setup_video): ... to here (with some adjustments).
20429
20430 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20431
20432 Fix memory corruption issue (spotted by Colin Watson).
20433
20434 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20435 causing returned size to be stored in an incorrect memory location.
20436 Fix use of uninitialized value when storing the returned size.
20437
20438 2009-09-12 Yves Blusseau <blusseau@zetam.org>
20439
20440 Change clean rules to properly remove files
20441
20442 * genmk.rb: add new clean rules
20443 * Makefile.in (clean): add the new targets
20444 (mostlyclean): likewise
20445
20446 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20447
20448 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20449 to grub_uint64_t.
20450 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20451 non-resident files.
20452
20453 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
20454
20455 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20456 part of bug #27349.
20457
20458 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20459
20460 * util/grub-mkconfig.in: Make the created config mode 400 and
20461 print a warning if it fails.
20462
20463 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20464
20465 * util/grub.d/40_custom.in: Ask user to type custom entries below
20466 comment, rather than below 'exec tail' line.
20467
20468 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20469
20470 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20471 visible in grub.cfg.
20472
20473 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
20474
20475 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20476 file.
20477
20478 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
20479
20480 * docs/grub.cfg: Add an example menu entry for memtest86+.
20481
20482 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
20483
20484 * config.guess: Update to latest version from config git.
20485 * config.sub: Likewise.
20486
20487 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
20488
20489 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20490 unknown-command case. Fixes bug #27320.
20491
20492 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
20493
20494 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20495 `help' if the command exists.
20496
20497 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20498
20499 * INSTALL: Require GCC 4.1.3 or later.
20500
20501 2009-09-06 Yves Blusseau <blusseau@zetam.org>
20502
20503 * Makefile.in (RMKFILES): add i386-qemu.rmk
20504 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20505 $(srcdir)/stamp-h.in
20506
20507 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20508
20509 * util/grub-probe.c (probe): Comment out buggy codepath, which
20510 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20511 should be re-enabled after 1.97.
20512
20513 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
20514
20515 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20516 find searches for.
20517
20518 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20519
20520 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20521 unnecessary calls to grub_error.
20522
20523 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
20524
20525 * NEWS: Mention `keystatus' and Unicode fonts.
20526
20527 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20528
20529 * configure.ac: Bump version to 1.97~beta2.
20530 * docs/version.texi: Likewise.
20531
20532 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20533
20534 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20535 containing unwind information in some cases where it previously did
20536 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20537 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20538 discussion.
20539
20540 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20541
20542 Embedding loadenv module into grub-emu
20543
20544 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20545 commands/loadenv.c
20546 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20547 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20548 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20551 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20552
20553 2009-09-03 Magnus Granberg <zorry@ume.nu>
20554
20555 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20556 include -fPIE in the default specs.
20557 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20558 to TARGET_CFLAGS.
20559
20560 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
20561
20562 * INSTALL: Note that GNU Bison 2.3 or later is required.
20563
20564 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
20565
20566 * kern/i386/pc/startup.S: Fix typo.
20567
20568 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20569
20570 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20571 according to GCS.
20572
20573 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20574
20575 * docs/grub.texi (Naming convention): Describe one-based partition
20576 numbering.
20577 (Device syntax): Likewise.
20578 (File name syntax): Likewise.
20579 (Block list syntax): Likewise.
20580 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20581 menu.lst.
20582 (File name syntax): Likewise.
20583 (Command-line and menu entry commands): Document acpi, blocklist,
20584 crc, export, insmod, keystatus, ls, set, and unset commands.
20585
20586 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20587
20588 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20589 to avoid implying that only one of --shift, --ctrl, or --alt may be
20590 used.
20591
20592 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
20593
20594 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20595 rather than comparing against S_IFREG, which will almost never work.
20596
20597 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20600 (write_blocklists): Likewise.
20601
20602 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
20603
20604 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20605 argument to grub_printf.
20606
20607 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
20608
20609 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
20610 non GNU test.
20611
20612 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20613
20614 * kern/file.c (grub_file_read): Spelling fix
20615
20616 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20617
20618 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20619 loading of headers in some cases.
20620
20621 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20622
20623 * configure.ac: Bump version to 1.97~beta1.
20624 * docs/version.texi: Likewise.
20625
20626 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
20627
20628 * include/grub/i386/xnu.h: Add license header.
20629 include grub/err.h explicitly.
20630
20631 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20632
20633 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20634 to `ufs' in the vfs.root.mountfrom kernel parameter.
20635
20636 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20637
20638 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20639
20640 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20641 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20642
20643 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20644 `ARRAY_SIZE' macro.
20645
20646 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20647
20648 * kern/file.c (grub_file_read): Check offset.
20649 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20650 * fs/jfs.c (grub_jfs_read_file): Likewise.
20651 * fs/ntfs.c (grub_ntfs_read): Likewise.
20652 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20653 * fs/minix.c (grub_minix_read_file): Correct offset check.
20654 * fs/ufs.c (grub_ufs_read_file): Likewise.
20655
20656 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20657
20658 * term/i386/pc/console.c (bios_data_area): Cast
20659 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20660
20661 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20662
20663 1-bit optimised blitters.
20664
20665 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20666 prototype.
20667 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20668 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20669 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20670 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20671 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20672 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20673 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20674 function.
20675 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20676 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20677 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20678 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20679 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20680 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20681 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
20682 when possible.
20683 * video/video.c (grub_video_get_blit_format): Return
20684 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
20685
20686 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20687
20688 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
20689 the first argument to grub_printf.
20690
20691 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
20692 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
20693
20694 Add `getkeystatus' terminal method. Add a new `keystatus' command
20695 to query it.
20696
20697 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
20698 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
20699 modifier key bitmasks.
20700 (struct grub_term_input): Add `getkeystatus' member.
20701 (grub_getkeystatus): Add prototype.
20702 * kern/term.c (grub_getkeystatus): New function.
20703
20704 * include/grub/i386/pc/memory.h
20705 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
20706 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
20707 Data Area layout.
20708 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
20709 (grub_console_term_input): Set `getkeystatus' member.
20710 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
20711 constants.
20712 (grub_usb_keyboard_getreport): Likewise.
20713 (grub_usb_keyboard_checkkey): Likewise.
20714 (grub_usb_keyboard_getkeystatus): New function.
20715 (grub_usb_keyboard_term): Set `getkeystatus' member.
20716
20717 * commands/keystatus.c: New file.
20718 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
20719 (keystatus_mod_SOURCES): New variable.
20720 (keystatus_mod_CFLAGS): Likewise.
20721 (keystatus_mod_LDFLAGS): Likewise.
20722 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
20723 commands/keystatus.c.
20724 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20725 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20726 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20727 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20728 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20729 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20730
20731 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20732
20733 Split befs.mod and afs.mod into *_be.mod and *.mod
20734
20735 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
20736 (grub_fstest_SOURCES): Likewise.
20737 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
20738 (afs_be_mod_SOURCES): New variable.
20739 (afs_be_mod_CFLAGS): Likewise.
20740 (afs_be_mod_LDFLAGS): Likewise.
20741 (befs_be_mod_SOURCES): Likewise.
20742 (befs_be_mod_CFLAGS): Likewise.
20743 (befs_be_mod_LDFLAGS): Likewise.
20744 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
20745 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20746 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20747 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20748 (grub_emu_SOURCES): Likewise.
20749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20750 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20751 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20752 * fs/afs_be.c: New file.
20753 * fs/befs_be.c: New file.
20754 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
20755 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
20756 (U16): Replaced with ...
20757 (grub_afs_to_cpu16): ...this. All users updated.
20758 (U32): Replaced with ...
20759 (grub_afs_to_cpu32): ...this. All users updated.
20760 (U64): Replaced with ...
20761 (grub_afs_to_cpu64): ...this. All users updated.
20762 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
20763 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
20764 (grub_afs_validate_sblock): Check only one endianness.
20765 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20766 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20767 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20768 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20769 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20770 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20771 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20772 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20773
20774 2009-08-26 Bean <bean123ch@gmail.com>
20775
20776 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
20777 64-bit number.
20778 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
20779 (grub_xfs_inode_block): Change return type to grub_uint64_t.
20780 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
20781
20782 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20783
20784 NetBSD memory map support.
20785
20786 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
20787 (grub_netbsd_btinfo_mmap_header): New structure.
20788 (grub_netbsd_btinfo_mmap_entry): Likewise.
20789 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
20790
20791 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20792
20793 Enable bsd.mod on coreboot.
20794
20795 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
20796 (bsd_mod_SOURCES): New variable.
20797 (bsd_mod_CFLAGS): Likewise.
20798 (bsd_mod_LDFLAGS): Likewise.
20799 (bsd_mod_ASFLAGS): Likewise.
20800 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
20801 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
20802
20803 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20804
20805 Cleanup NetBSD root support.
20806
20807 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
20808 grub_bsd_get_device.
20809 Fix typo.
20810
20811 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
20812
20813 * util/grub.d/00_header.in: Move check for the video backend of
20814 gfxterm from here ...
20815 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
20816 a suitable video backend.
20817
20818 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 Fix breakage in grub-setup.
20821
20822 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
20823 "msdos_partition_map".
20824
20825 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20826
20827 Fix breakage in normal/auth.c.
20828
20829 * normal/auth.c (grub_iswordseparator): New function.
20830
20831 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20832
20833 Authentication support.
20834
20835 * commands/password.c: New file.
20836 * conf/common.rmk (pkglib_MODULES): Add password.mod.
20837 (password_mod_SOURCES): New variable.
20838 (password_mod_CFLAGS): Likewise.
20839 (password_mod_LDFLAGS): Likewise.
20840 (normal_mod_SOURCES): Add normal/auth.c.
20841 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
20842 normal/auth.c.
20843 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20844 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20845 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20847 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20848 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20849 * include/grub/auth.h: New file.
20850 * include/grub/err.h (grub_err_t): New enum value
20851 GRUB_ERR_ACCESS_DENIED.
20852 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
20853 'users'.
20854 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
20855 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
20856 users updated.
20857 * normal/auth.c: New file.
20858 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
20859 (grub_cmdline_run): Don't allow to go to command line without
20860 authentication.
20861 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
20862 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
20863 menuentry without superuser rights.
20864 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
20865 user isn't a superuser.
20866
20867 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20868
20869 Save space by inlining misc.c functions.
20870
20871 * kern/misc.c (grub_iswordseparator): Made static.
20872 * kern/misc.c (grub_strcat): Moved from here ...
20873 * include/grub/misc.h (grub_strcat): ... here. Inlined.
20874 * kern/misc.c (grub_strncat): Moved from here ...
20875 * include/grub/misc.h (grub_strncat): ... here. Inlined.
20876 * kern/misc.c (grub_strcasecmp): Moved from here ...
20877 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
20878 * kern/misc.c (grub_strncasecmp): Moved from here ...
20879 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
20880 * kern/misc.c (grub_isalpha): Moved from here ...
20881 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
20882 * kern/misc.c (grub_isdigit): Moved from here ...
20883 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
20884 * kern/misc.c (grub_isgraph): Moved from here ...
20885 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
20886 * kern/misc.c (grub_tolower): Moved from here ...
20887 * include/grub/misc.h (grub_tolower): ... here. Inlined.
20888
20889 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20890
20891 * script/sh/function.c (grub_script_function_find): Cut error message
20892 not to flood terminal.
20893 * script/sh/lexer.c (grub_script_yylex): Remove command line length
20894 limit.
20895 * script/sh/script.c (grub_script_arg_add): Duplicate string.
20896
20897 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
20898
20899 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
20900 `report' grub_uint8_t *.
20901 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
20902 Use a 50-millisecond timeout rather than just repeating
20903 grub_usb_keyboard_getreport 50 times.
20904 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
20905
20906 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20907
20908 Rename *_partition_map to part_*
20909
20910 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
20911 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
20912 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
20913 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
20914 All users updated.
20915 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
20916 All users updated.
20917 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
20918 * util/grub-probe.c (probe_partmap): Don't transform partition name
20919 to get module name.
20920
20921 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20922
20923 Fix OpenBSD and NetBSD support.
20924
20925 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
20926 memory address conflict.
20927 (OPENBSD_MMAP_ACPI): New definition.
20928 (OPENBSD_MMAP_NVS): Likewise.
20929 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
20930 and OPENBSD_MMAP_NVS.
20931 Add memory map terminator
20932 Explicit cast when calling grub_unix_real_boot.
20933 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
20934
20935 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 Let user specify NetBSD root device.
20938
20939 * loader/i386/bsd.c (netbsd_root): New variable.
20940 (netbsd_opts): New option 'root'.
20941 (NETBSD_ROOT_ARG): New macro.
20942 (grub_netbsd_boot): Use 'netbsd_root'.
20943 (grub_bsd_unload): Free 'netbsd_root'.
20944 (grub_cmd_netbsd): Fill 'netbsd_root'.
20945
20946 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20947
20948 Support for 64-bit NetBSD.
20949
20950 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
20951 point when booting non-FreeBSD.
20952
20953 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20954
20955 Support --no-smp and --no-acpi for NetBSD.
20956
20957 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
20958 (NETBSD_AB_NOACPI): Likewise.
20959 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
20960 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
20961
20962 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20963
20964 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
20965 errors.
20966 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
20967 errors. Call grub_error when needed.
20968
20969 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20970
20971 * commands/search.c (search_fs): Try searching without autoload first.
20972 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
20973 filesystem module explicitly for faster booting.
20974
20975 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
20976
20977 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
20978
20979 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
20980
20981 * util/grub.d/30_os-prober.in: Disable os-prober if
20982 `GRUB_DISABLE_OS_PROBER' was set to true.
20983
20984 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
20985
20986 * partmap/pc.c: Rename to ...
20987 * partmap/msdos.c: ... this. Update all users.
20988 (grub_pc_partition_map): Rename to ...
20989 (grub_msdos_partition_map): ... this. Update all users.
20990
20991 * parttool/pcpart.c: Rename to ...
20992 * parttool/msdospart.c: ... this. Update all users.
20993
20994 * include/grub/pc_partition.h: Rename to ...
20995 * include/grub/msdos_partition.h: ... this. Update all users.
20996 (grub_pc_partition_bsd_entry): Rename to ...
20997 (grub_msdos_partition_bsd_entry): ... this. Update all users.
20998 (grub_pc_partition_disk_label): Rename to ...
20999 (grub_msdos_partition_disk_label): ... this. Update all users.
21000 (grub_pc_partition_entry): Rename to ...
21001 (grub_msdos_partition_entry): ... this. Update all users.
21002 (grub_pc_partition_mbr): Rename to ...
21003 (grub_msdos_partition_mbr): ... this. Update all users.
21004 (grub_pc_partition): Rename to ...
21005 (grub_msdos_partition): ... this. Update all users.
21006 (grub_pc_partition_is_empty): Rename to ...
21007 (grub_msdos_partition_is_empty): ... this. Update all users.
21008 (grub_pc_partition_is_extended): Rename to ...
21009 (grub_msdos_partition_is_extended): ... this. Update all users.
21010 (grub_pc_partition_is_bsd): Rename to ...
21011 (grub_msdos_partition_is_bsd): ... this. Update all users.
21012
21013 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
21014 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
21015 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
21016 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
21017 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
21018 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
21019 (gpt_mod_LDFLAGS): Rename to ...
21020 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
21021 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
21022 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
21023 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
21024 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
21025 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
21026 (part_gpt_mod_LDFLAGS): ... this.
21027 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
21028 `pcpart.mod' to `msdospart.mod'.
21029 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
21030 to ...
21031 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
21032 (msdospart_mod_LDFLAGS): ... this.
21033
21034 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
21037 (openbsd_opts): Likewise.
21038 (netbsd_opts): Likewise.
21039 (freebsd_flags): Added 0 terminator.
21040 (openbsd_flags): Likewise.
21041 (netbsd_flags): Likewise.
21042 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
21043 (grub_cmd_freebsd): Transformed into extended command.
21044 (grub_cmd_openbsd): Likewise.
21045 (grub_cmd_netbsd): Likewise.
21046 (cmd_freebsd): Changed type to grub_extcmd_t.
21047 (cmd_openbsd): Likewise.
21048 (cmd_netbsd): Likewise.
21049 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21050 grub_cmd_openbsd as extended commands.
21051 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21052 cmd_netbsd and cmd_openbsd
21053
21054 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21055
21056 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21057
21058 2009-08-21 Pavel Roskin <proski@gnu.org>
21059
21060 * Makefile.in (install-local): When checking if a file is in the
21061 build directory, use "test -e" to detect symlinks.
21062
21063 * Makefile.in (install-local): Remove all files in
21064 $(DESTDIR)$(pkglibdir) before installing new files there.
21065
21066 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21067
21068 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21069 grub-mkelfimage.
21070
21071 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
21072
21073 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21074 explicitly specified by the user.
21075
21076 2009-08-18 Pavel Roskin <proski@gnu.org>
21077
21078 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21079 grub_uint8_t pointer for data.
21080 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21081 Likewise.
21082 * video/fb/fbutil.c: Remove unnecessary casts.
21083
21084 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21085
21086 VBE cleanup.
21087
21088 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21089 (grub_vbe_set_video_mode): Save active mode info
21090 only after setting the mode.
21091 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21092 second argument.
21093
21094 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21095
21096 Rename variables for clarity.
21097
21098 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21099 (active_vbe_mode_info): ... this. All users updated.
21100 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21101 All users updated.
21102 (initial_mode): Rename to ...
21103 (initial_vbe_mode): ... this. All users updated.
21104 (mode_in_use): Rename to ..
21105 (vbe_mode_in_use): ... this. All users updated.
21106 (mode_list): Rename to ..
21107 (vbe_mode_list): ... this. All users updated.
21108 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21109 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21110 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21111 'mode_list_size' to 'vbe_mode_list_size'.
21112 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21113 'best_mode_info' to 'best_vbe_mode_info' and
21114 'best_mode' to 'best_vbe_mode'
21115
21116 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
21117
21118 Remove duplicate grub_video_fb_get_video_ptr.
21119
21120 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21121 (grub_video_fb_get_video_ptr): ... this.
21122 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21123 * video/fb/fbutil.c: Add comment about addressing.
21124 (get_data_ptr): Rename to ...
21125 (grub_video_fb_get_video_ptr): ... this. All users updated.
21126 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21127
21128 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21129
21130 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21131 grub_dprintf() that was just added.
21132
21133 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21134
21135 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21136 (DEFAULT_VIDEO_MODE): Remove macros.
21137 (grub_linux_boot): Remove assumption that Linux has FB support,
21138 and use "text" as default video mode.
21139
21140 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21141
21142 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21143 grub_dprintf.
21144 * fs/fat.c (grub_fat_read_data): Likewise.
21145
21146 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21147
21148 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21149 payload.
21150 (grub_module): Likewise.
21151
21152 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21153
21154 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21155 mbi->cmdline but free playground.
21156
21157 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21158
21159 Handle group offset on UFS1.
21160
21161 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21162 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21163
21164 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 Split ufs.mod into ufs1.mod and ufs2.mod.
21167
21168 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21169 (grub_fstest_SOURCES): Likewise.
21170 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21171 (ufs_mod_SOURCES): Remove.
21172 (ufs_mod_CFLAGS): Likewise.
21173 (ufs_mod_LDFLAGS): Likewise.
21174 (ufs1_mod_SOURCES): New variable.
21175 (ufs1_mod_CFLAGS): Likewise.
21176 (ufs1_mod_LDFLAGS): Likewise.
21177 (ufs2_mod_SOURCES): New variable.
21178 (ufs2_mod_CFLAGS): Likewise.
21179 (ufs2_mod_LDFLAGS): Likewise.
21180 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21181 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21182 Likewise.
21183 (grub_emu_SOURCES): Likewise.
21184 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21185 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21186 (grub_setup_SOURCES): Likewise.
21187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21188 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21189 (grub_setup_SOURCES): Likewise.
21190 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21191 Likewise.
21192 * fs/ufs2.c: New file.
21193 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21194
21195 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21196
21197 Framebuffer split.
21198
21199 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21200 subsystem at the end.
21201 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21202 (video_fb_mod_SOURCES): New variable.
21203 (video_fb_mod_CFLAGS): Likewise.
21204 (video_fb_mod_LDFLAGS): Likewise.
21205 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21206 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21207 * video/i386/pc/vbeblit.c: Moved from here ...
21208 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21209 * video/i386/pc/vbefill.c: Moved from here ...
21210 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21211 * video/i386/pc/vbeutil.c: Moved from here ...
21212 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21213 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21214 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21215 * include/grub/i386/pc/vbefill.h: Moved from here ...
21216 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21217 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21218 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21219 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21220 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21221 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21222 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21223 (grub_video_adapter): Added 'get_info_and_fini'.
21224 (grub_video_get_info_and_fini): New prototype.
21225 (grub_video_set_mode): make modestring const char *.
21226 * loader/i386/linux.c (grub_linux_setup_video): Use
21227 grub_video_get_info_and_fini.
21228 (grub_linux_boot): Move modesetting just before booting.
21229 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21230 grub_video_get_info_and_fini.
21231 * video/i386/pc/vbe.c: Moved framebuffer part ...
21232 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21233 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21234 grub_video_fbstd_colors and grub_video_fb_set_palette.
21235 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21236 grub_video_fb_init.
21237 (grub_video_vbe_fini): Use grub_video_fb_fini.
21238 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21239 render_target and use grub_video_fb_set_active_render_target and
21240 grub_video_fb_set_palette.
21241 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21242 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21243 (grub_video_vbe_adapter): Use framebuffer.
21244 * video/video.c (grub_video_get_info_and_fini): New function.
21245 (grub_video_set_mode): Make modestring const char *.
21246 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21247 values are already initialised.
21248
21249 2009-08-14 Pavel Roskin <proski@gnu.org>
21250
21251 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21252 ABS and APPLE_CC.
21253 * boot/i386/pc/diskboot.S: Likewise.
21254 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21255 sectors allow compilation on MacOSX.
21256 * conf/i386-pc.rmk: Enable unconditional compilation of
21257 lnxboot.img.
21258
21259 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
21260
21261 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21262 * util/grub.d/00_header.in: Enter interruptible sleep if
21263 GRUB_HIDDEN_TIMEOUT is set.
21264
21265 2009-08-13 Yves Blusseau <blusseau@zetam.org>
21266
21267 * include/grub/symbol.h: Add the LOCAL macro.
21268 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21269 starting with "L_".
21270
21271 2009-08-13 Pavel Roskin <proski@gnu.org>
21272
21273 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21274 any modern compilers we support.
21275
21276 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21277 Use local labels starting with "L_" so that Apple assembler
21278 knows they are local.
21279
21280 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21281
21282 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21283 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21284 (bsd_kernel_types): ... this enum.
21285
21286 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21287 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21288 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21289
21290 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21291 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21292 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21293 messages.
21294
21295 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21296
21297 * util/grub-dumpdevtree: Moved from here ...
21298 * util/i386/efi/grub-dumpdevtree: ... to here.
21299 (hexify): New function. Converts a string to its hex version.
21300 Generate hex versions of "efi" and "device-properties" by calling
21301 hexify() on the ASCII strings rather than by hardcoding numbers.
21302
21303 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21304
21305 * fs/jfs.c: Update copyright year.
21306
21307 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21308
21309 * util/grub.d/00_header.in: Fix a comment.
21310 * util/grub.d/10_linux.in: Likewise.
21311 * util/grub.d/10_windows.in: Likewise.
21312 * util/grub.d/10_hurd.in: Likewise.
21313
21314 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
21315
21316 * util/grub-mkconfig.in: Allow the user to specify the used font
21317 with GRUB_FONT.
21318
21319 2009-08-08 Pavel Roskin <proski@gnu.org>
21320
21321 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21322 available, xfs.mod needs it now.
21323
21324 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21325 the "g" modifier in sed when the intention is to strip something
21326 once. This fixes comparison of kernels with multiple dashes.
21327
21328 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21329 on it. Add missing space before closing bracket. Fix
21330 misleading formatting.
21331
21332 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21333
21334 * docs/grub.texi: Major overhaul. Remove all sections that are
21335 specific to GRUB Legacy, or mostly composed of Legacy-specific
21336 information.
21337
21338 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21339
21340 * docs/version.texi: New file. Provides version information for
21341 grub.texi.
21342
21343 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21344
21345 * docs/grub.texi: Update CVS information to SVN.
21346 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21347
21348 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21349
21350 * util/grub-mkconfig.in: Remove a wrong `fi'.
21351
21352 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21353
21354 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21355 (grub_jfs_uuid): New function.
21356 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21357
21358 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
21359
21360 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21361 of it to ...
21362 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21363 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21364
21365 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21366
21367 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21368 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21369 Update all users.
21370
21371 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21372 not just "vmlinu[zx]".
21373 Moved from here ...
21374 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21375 all users.
21376
21377 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21378 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21379 all users.
21380
21381 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21382
21383 * util/grub.d/10_freebsd.in: Use an absolute device path for
21384 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21385
21386 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
21387
21388 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21389 handling of multiple abstraction modules.
21390
21391 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21392
21393 Fix a bug resulting in black screen when loading Linux using a
21394 packed video mode.
21395
21396 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21397 function.
21398
21399 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21400 (grub_vbe_bios_getset_dac_palette_width): New function.
21401 (grub_vbe_bios_get_dac_palette_width)
21402 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21403 grub_vbe_bios_getset_dac_palette_width()).
21404
21405 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21406 check for return status.
21407 (grub_vbe_get_video_mode_info): When getting information for a packed
21408 mode (<= 8 bpp), obtain DAC palette width using
21409 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21410 {red,green,blue}_mark_size.
21411
21412 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
21413
21414 * commands/search.c (options): Fix help output to match actual code.
21415
21416 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21417
21418 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21419 of homegrown code.
21420
21421 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21422
21423 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21424 on XFS or ReiserFS.
21425
21426 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21427
21428 Support Apple partition map with sector size different from 512 bytes.
21429
21430 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21431 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21432 and 'apart.partmap_size'.
21433
21434 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21435 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21436
21437 Fix cpuid command.
21438
21439 * commands/i386/cpuid.c (options): New variable.
21440 (grub_cmd_cpuid): Return real error.
21441 (GRUB_MOD_INIT(cpuid)): Declare options.
21442
21443 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21444
21445 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21446 valid.
21447
21448 2009-07-31 Bean <bean123ch@gmail.com>
21449
21450 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21451 log2_inode.
21452 (grub_fshelp_node): Move inode field to the end.
21453 (grub_xfs_data): Remove inode field.
21454 (grub_xfs_inode_block): Calculate inode size using sblock.
21455 (grub_xfs_inode_offset): Likewise.
21456 (grub_xfs_read_inode): Calculate inode size using sblock.
21457 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21458 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21459 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21460 to match inode size.
21461 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21462 not accessible when data is null.
21463 (grub_xfs_open): Likewise.
21464
21465 2009-07-31 Bean <bean123ch@gmail.com>
21466
21467 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21468 Don't change pv->disk if it's already set.
21469
21470 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21471 (grub_raid_register): ... here.
21472 (grub_raid_rescan): Removed.
21473
21474 * include/grub/raid.h (grub_raid_rescan): Removed.
21475
21476 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21477 (fstest): Replace grub_raid_rescan with module fini function followed
21478 by init function.
21479
21480 * util/grub-probe.c: Add include file <grub/raid.h>.
21481 (probe_raid_level): New function.
21482 (probe): Detect abstraction by walking the disk device, support two
21483 level of abstraction (LVM on RAID) when detecting partition map.
21484
21485 2009-07-31 Pavel Roskin <proski@gnu.org>
21486
21487 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21488 to grub_zalloc(), it was erroneous.
21489 Reported by Bean <bean123ch@gmail.com>
21490
21491 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21492
21493 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
21494 embedding zone, not only the first one.
21495
21496 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
21497
21498 * term/gfxterm.c (clear_char): New function.
21499 (grub_virtual_screen_setup): Use clear_char.
21500 (scroll_up): Likewise.
21501 (grub_virtual_screen_cls): Likewise.
21502
21503 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
21504
21505 * util/deviceiter.c (get_acceleraid_disk_name): New static
21506 function.
21507 (grub_util_iterate_devices): Handle Accelraid devices.
21508 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21509
21510 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21511
21512 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21513 separator for the suggested gfxpayload string (';' collides with the
21514 parser and needs escaping).
21515
21516 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21517
21518 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21519 Clear direction flag before jumping to OS.
21520 (grub_multiboot2_real_boot): Likewise.
21521
21522 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21523
21524 * util/i386/pc/grub-install: Fix parsing of --disk-module
21525 option.
21526
21527 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
21528
21529 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21530 when embedding.
21531
21532 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
21533
21534 * util/grub-mkconfig.in (package_version): New variable.
21535 Use it do display the version.
21536
21537 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21538
21539 * kern/file.c (grub_file_open): Revert to previous check with
21540 grub_errno.
21541
21542 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21543
21544 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21545 from help line. It's out of sync with code.
21546
21547 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21548
21549 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21550 entries on failed boot.
21551
21552 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
21553
21554 * kern/file.c (grub_file_open): Fix an error check.
21555
21556 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21557
21558 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21559 partition map couldn't be identified.
21560
21561 2009-07-23 Pavel Roskin <proski@gnu.org>
21562
21563 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21564 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21565 case of little endian words becomes just an optimization.
21566 Respect const modifier.
21567 (md5_final): Use code that doesn't depend on endianness.
21568
21569 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21570 to avoid loss of upper bits if align is unsigned and shorter
21571 than addr.
21572
21573 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21574
21575 UUID support for UFS
21576
21577 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21578 (grub_ufs_uuid): New function.
21579 (grub_ufs_fs): add .uuid
21580
21581 2009-07-21 Pavel Roskin <proski@gnu.org>
21582
21583 * kern/dl.c (grub_dl_check_header): Make static.
21584
21585 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
21586
21587 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21588 add drivemap for Vista. It breaks Windows 7.
21589
21590 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21591
21592 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21593 128 bytes
21594
21595 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21596
21597 Add BFS support
21598
21599 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21600 (grub_fstest_SOURCES): Likewise.
21601 (pkglib_MODULES): Add befs.mod.
21602 (befs_mod_SOURCES): New variable.
21603 (befs_mod_CFLAGS): Likewise.
21604 (befs_mod_LDFLAGS): Likewise.
21605 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21606 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21607 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21608 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21609 (grub_setup_SOURCES): Likewise.
21610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21611 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21612 (grub_setup_SOURCES): Likewise.
21613 * fs/befs.c: New file.
21614 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21615 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21616 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21617 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21618 (B_KEY_INDEX_ALIGN): New declaration.
21619 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21620 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21621 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21622 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21623 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21624 (grub_afs_mount) [MODE_BFS]: Likewise.
21625 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21626 (grub_afs_fs): Use GRUB_AFS_FSNAME
21627 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21628 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21629 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21630 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21631
21632 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21633
21634 * util/getroot.c (find_root_device): Add support for MacOSX.
21635 * util/hostdisk.c: Likewise.
21636
21637 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21638
21639 * font/font.c (find_glyph): Check whether a font is present to avoid
21640 segmentation fault.
21641
21642 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
21643
21644 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21645
21646 2009-07-20 Pavel Roskin <proski@gnu.org>
21647
21648 * configure.ac: Trim excessively wordy excuses.
21649
21650 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21651
21652 Add symlink, mtime and label support to AtheFS.
21653
21654 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21655 (grub_afs_iterate_dir): Handle symlinks.
21656 (grub_afs_open): Use grub_afs_read_symlink.
21657 (grub_afs_dir): Likewise.
21658 Pass mtime.
21659 (grub_afs_label): New function.
21660 (grub_afs_fs): Add grub_afs_label.
21661 (grub_afs_read_symlink): New function.
21662
21663 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21664
21665 Fix AtheFS support.
21666
21667 * fs/afs.c: Fix comments style.
21668 (grub_afs_blockrun): Declare as packed.
21669 (grub_afs_datastream): Likewise.
21670 (grub_afs_bnode): Likewise.
21671 (grub_afs_btree): Likewise.
21672 (grub_afs_sblock): Likewise.
21673 Declare `name' as char.
21674 (grub_afs_inode): Declare as packed.
21675 Change void *vnode to grub_uint32_t unused.
21676 (grub_afs_iterate_dir): Check that key_size is positive.
21677 (grub_afs_mount): Don't read superblock twice.
21678 (grub_afs_dir): Don't free node in case of error,
21679 grub_fshelp_find_file already handles this.
21680 (grub_afs_open): Likewise.
21681
21682 2009-07-19 Pavel Roskin <proski@gnu.org>
21683
21684 * Makefile.in: Remove LIBLZO and enable_lzo.
21685 * conf/i386-pc.rmk: Remove lzo support.
21686 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
21687 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
21688 support.
21689 * kern/i386/pc/lzo1x.S: Remove.
21690 * kern/i386/pc/startup.S: Remove lzo support.
21691 * util/i386/pc/grub-mkimage.c: Likewise.
21692
21693 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
21694
21695 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
21696 * fs/xfs.c (grub_xfs_dir): Likewise.
21697 * fs/afs.c (grub_afs_dir): Likewise.
21698 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
21699 (grub_iso9660_open): Likewise.
21700 * fs/jfs.c (grub_jfs_open): Likewise.
21701 * fs/ext2.c (grub_ext2_dir): Likewise.
21702 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
21703 * script/sh/lexer.c (grub_script_yylex): Likewise.
21704
21705 2009-07-16 Pavel Roskin <proski@gnu.org>
21706
21707 * configure.ac: Never add "-c" to CFLAGS.
21708
21709 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
21710
21711 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
21712 grub_cv_cc_efiemu should be used.
21713
21714 * configure.ac: Typo fixes.
21715
21716 * kern/mm.c (grub_zalloc): New function.
21717 (grub_debug_zalloc): Likewise.
21718 * include/grub/mm.h: Declare grub_zalloc() and
21719 grub_debug_zalloc().
21720 * util/misc.c (grub_zalloc): New function.
21721 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
21722 instead of grub_malloc(), remove unneeded initializations.
21723 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
21724 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
21725 * commands/parttool.c (grub_cmd_parttool): Likewise.
21726 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21727 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
21728 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
21729 * disk/usbms.c (grub_usbms_finddevs): Likewise.
21730 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
21731 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
21732 (grub_cmd_efiemu_pnvram): Likewise.
21733 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
21734 * fs/iso9660.c (grub_iso9660_mount): Likewise.
21735 (grub_iso9660_iterate_dir): Likewise.
21736 * fs/jfs.c (grub_jfs_opendir): Likewise.
21737 * fs/ntfs.c (list_file): Likewise.
21738 (grub_ntfs_mount): Likewise.
21739 * kern/disk.c (grub_disk_open): Likewise.
21740 * kern/dl.c (grub_dl_load_core): Likewise.
21741 * kern/elf.c (grub_elf_file): Likewise.
21742 * kern/env.c (grub_env_context_open): Likewise.
21743 (grub_env_set): Likewise.
21744 (grub_env_set_data_slot): Likewise.
21745 * kern/file.c (grub_file_open): Likewise.
21746 * kern/fs.c (grub_fs_blocklist_open): Likewise.
21747 * loader/i386/multiboot.c (grub_module): Likewise.
21748 * loader/xnu.c (grub_xnu_create_key): Likewise.
21749 (grub_xnu_create_value): Likewise.
21750 * normal/main.c (grub_normal_add_menu_entry): Likewise.
21751 (read_config_file): Likewise.
21752 * normal/menu_entry.c (make_screen): Likewise.
21753 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21754 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
21755 * script/sh/script.c (grub_script_parse): Likewise.
21756 * video/bitmap.c (grub_video_bitmap_create): Likewise.
21757 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
21758 * video/readers/png.c (grub_png_output_byte): Likewise.
21759 (grub_video_reader_png): Likewise.
21760
21761 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21762
21763 Enable all targets that can be built by default
21764
21765 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
21766 grub-mkfont and grub-fstest if they can be built
21767
21768 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21769
21770 Fix hang and segmentation fault in grub-emu-usb
21771
21772 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
21773 * util/usb.c (grub_libusb_devices): likewise
21774 (grub_libusb_init): rename to ...
21775 (GRUB_MOD_INIT (libusb)):...this
21776 (grub_libusb_fini): rename to ..
21777 (GRUB_MOD_FINI (libusb)):...this
21778 * disk/usbms.c (grub_usbms_transfer): fix retry logic
21779 * include/grub/disk.h (grub_raid_init): removed, it's useless
21780 (grub_raid_fini): likewise
21781 (grub_lvm_init): likewise
21782 (grub_lvm_fini): likewise
21783 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
21784 by grub_init_all
21785
21786 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21787
21788 Fix libusb
21789
21790 * Makefile.in (LIBUSB): new macro
21791 * genmk.rb (Utility/print_tail): new method
21792 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
21793 (top level): call util.print_tail at the end.
21794
21795 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21796
21797 Make FreeBSD accept zpool.cache
21798
21799 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
21800 type is /boot/zfs/zpool.cache
21801
21802 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21803
21804 Fix 64-bit efiemu
21805
21806 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
21807 correct wrong typedef
21808 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
21809
21810 2009-07-15 Pavel Roskin <proski@gnu.org>
21811
21812 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
21813 * kern/disk.c (struct grub_disk_cache): Likewise.
21814
21815 * commands/probe.c (options): Typo fix.
21816
21817 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
21818 Increase to 0x5a to accommodate FAT32. Adjust other offsets
21819 accordingly.
21820 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
21821
21822 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
21823 the end of "Error" to make the message more readable.
21824
21825 * boot/i386/pc/boot.S (kernel_segment): Remove.
21826 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
21827 for destination.
21828
21829 * boot/i386/pc/boot.S (boot_version): Remove.
21830 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
21831 Remove.
21832
21833 * include/grub/i386/pc/boot.h: Sort all offsets.
21834 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
21835 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
21836 * boot/i386/pc/boot.S: Assert location of every offset listed in
21837 include/grub/i386/pc/boot.h.
21838
21839 2009-07-13 Pavel Roskin <proski@gnu.org>
21840
21841 * include/grub/i386/coreboot/machine.h: Rename
21842 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
21843 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
21844 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
21845
21846 * kern/dl.c: Force native word size to suppress warnings when
21847 compiling grub-emu.
21848
21849 * kern/device.c (grub_device_iterate): Change struct part_ent to
21850 hold the name, not a pointer to it. Use one grub_malloc() per
21851 partition, not two. Free partition_name if grub_malloc() fails.
21852 Set ents to NULL only before grub_partition_iterate() is called.
21853
21854 2009-07-11 Bean <bean123ch@gmail.com>
21855
21856 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
21857 childname.
21858
21859 2009-07-10 Bean <bean123ch@gmail.com>
21860 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
21861
21862 * kern/ieee1275/openfw.c (grub_children_iterate)
21863 (grub_devalias_iterate): Fix size evaluation for property or path
21864 strings, which was broken since r2132.
21865
21866 2009-07-07 Pavel Roskin <proski@gnu.org>
21867
21868 * commands/search.c (search_file): Merge into ...
21869 (search_fs): ... this. Accept search type as argument.
21870 (grub_cmd_search): Pass search type to search_fs().
21871
21872 * include/grub/util/console.h: New file.
21873 * util/console.c: Use it instead of grub/machine/console.h.
21874 * util/grub-emu.c: Likewise.
21875
21876 * lib/arg.c (find_long_option): Remove.
21877 (find_long): Add `len' argument, make `s' const char *.
21878 (grub_arg_parse): Parse long options in place, not in a
21879 temporary buffer.
21880
21881 2009-07-06 Pavel Roskin <proski@gnu.org>
21882
21883 * commands/search.c (search_fs): Fix potential NULL pointer
21884 dereference.
21885
21886 * commands/search.c (search_fs): Replace QUID macro with quid_fn
21887 function pointer.
21888
21889 2009-07-06 Daniel Mierswa <impulze@impulze.org>
21890
21891 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
21892 comparison.
21893
21894 2009-07-05 Pavel Roskin <proski@gnu.org>
21895
21896 * include/grub/i386/linux.h (struct linux_kernel_params):
21897 Restore padding3, it's still needed.
21898
21899 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
21900 FreeBSD.
21901 * util/osdetect.lua: Likewise.
21902
21903 2009-07-05 Bean <bean123ch@gmail.com>
21904
21905 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
21906
21907 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
21908 (grub_lua_getenv): Likewise.
21909 (grub_lua_setenv): Likewise.
21910 (save_errno): New function.
21911 (push_result): Likewise.
21912 (grub_lua_enum_device): Likewise.
21913 (grub_lua_enum_file): Likewise.
21914 (grub_lua_file_open): Likewise.
21915 (grub_lua_file_close): Likewise.
21916 (grub_lua_file_seek): Likewise.
21917 (grub_lua_file_read): Likewise.
21918 (grub_lua_file_getline): Likewise.
21919 (grub_lua_file_getsize): Likewise.
21920 (grub_lua_file_getpos): Likewise.
21921 (grub_lua_file_eof): Likewise.
21922 (grub_lua_file_exist): Likewise.
21923 (grub_lua_add_menu): Likewise.
21924
21925 * script/lua/grub_lua.h (isupper): New inline function.
21926 (islower): Likewise.
21927 (ispunct): Likewise.
21928 (isxdigit): Likewise.
21929 (strcspn): Change to normal function.
21930 (strpbkr): New function declaration.
21931 (memchr): Likewise.
21932
21933 * script/lua/grub_main.c (scan_str): New function.
21934 (strcspn): Likewise.
21935 (strpbrk): Likewise.
21936 (memchr): Likewise.
21937
21938 * script/lua/linit.c (lualibs): Enable the string library.
21939
21940 * util/osdetect.lua: New file.
21941
21942 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
21943
21944 * include/grub/i386/linux.h (struct linux_kernel_params): Add
21945 `capabilities' member.
21946
21947 2009-07-02 Pavel Roskin <proski@gnu.org>
21948
21949 * genparttoollist.sh: Add missing newline at the end.
21950
21951 2009-07-01 Pavel Roskin <proski@gnu.org>
21952
21953 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
21954
21955 * util/hostdisk.c (open_device): Remove `const' from
21956 `sysctl_size', as sysctlbyname() can change it (in this case it
21957 doesn't actually happen).
21958
21959 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
21960 using signed long int constants.
21961
21962 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
21963 constant to avoid a warning on FreeBSD.
21964
21965 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
21966 where it's needed.
21967
21968 * Makefile.in: Install include/grub/machine symlink.
21969
21970 * Makefile.in: When installing symlinks, use "cp -fR", which
21971 works on FreeBSD and MacOSX.
21972 From Yves Blusseau <cl7m42e02@sneakemail.com>
21973
21974 * kern/dl.c (grub_dl_resolve_symbol): Make static.
21975 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
21976
21977 * util/misc.c: Move grub_reboot() and grub_halt() ...
21978 * util/grub-emu.c: ... here. Make main_env static.
21979 * include/grub/util/misc.h: Remove main_env.
21980
21981 * kern/mm.c: Use correct format to print size_t.
21982
21983 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
21984 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
21985 * kern/powerpc/dl.c: Likewise.
21986 * kern/sparc64/dl.c: Likewise.
21987 * kern/x86_64/dl.c: Likewise.
21988
21989 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21990
21991 Fix grub-emu build on sparc64-ieee1275.
21992
21993 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
21994 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
21995
21996 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21997
21998 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
21999 (grub_reboot, grub_halt): New functions.
22000
22001 * util/i386/pc/misc.c: Delete. Update all users.
22002 * util/sparc64/ieee1275/misc.c: Likewise.
22003 * util/powerpc/ieee1275/misc.c: Likewise.
22004
22005 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22006
22007 * conf/i386.rmk (setjmp_mod_SOURCES)
22008 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
22009 * conf/common.rmk (setjmp_mod_SOURCES)
22010 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
22011 to use $(target_cpu).
22012 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
22013 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
22014 * conf/powerpc-ieee1275.rmk: Likewise.
22015 * conf/sparc64-ieee1275.rmk: Likewise.
22016
22017 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
22018 $(target_cpu) for kern/$(target_cpu)/dl.c.
22019 * conf/i386-efi.rmk: Likewise.
22020 * conf/i386-ieee1275.rmk: Likewise.
22021 * conf/x86_64-efi.rmk: Likewise.
22022 * conf/i386-coreboot.rmk: Likewise.
22023 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
22024 $(target_cpu) for kern/$(target_cpu)/dl.c and for
22025 kern/$(target_cpu)/cache.S.
22026 * conf/sparc64-ieee1275.rmk: Likewise.
22027
22028 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
22029
22030 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
22031 type to `grub_uint8_t', and adjust `padding9' accordingly.
22032
22033 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22034
22035 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
22036
22037 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
22038 assembly in final jump, using register constraints.
22039
22040 (grub_linux_boot): For text mode, initialize `have_vga' using
22041 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
22042
22043 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
22044 right before the final jump.
22045
22046 Set `video_mode' to 0x3.
22047
22048 Document initialization of `video_page', `video_mode' and
22049 `video_ega_bx'.
22050
22051 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22052
22053 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22054 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
22055 and set GRUB_LINUX_FLAG_QUIET appropriately.
22056
22057 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22058
22059 Fix build on Debian / sparc.
22060
22061 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22062
22063 2009-06-28 Pavel Roskin <proski@gnu.org>
22064
22065 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22066 fix a warning.
22067
22068 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22069
22070 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22071
22072 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22073 `err'.
22074
22075 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22076
22077 Revert r2338.
22078
22079 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22080 file can't be opened. grub_file_open() is already supposed to set
22081 grub_errno / grub_errmsg appropriately.
22082 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22083
22084 2009-06-27 Pavel Roskin <proski@gnu.org>
22085 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22086
22087 * include/grub/dl.h: Include grub/elf.h.
22088 (struct grub_dl): Add symtab field.
22089 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22090 GRUB_MODULES_MACHINE_READONLY.
22091 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22092 of the header for read-only modules.
22093 (grub_dl_unload): Free mod->symtab for read-only modules.
22094 * kern/i386/dl.c: Use mod->symtab.
22095 * kern/powerpc/dl.c: Likewise.
22096 * kern/sparc64/dl.c: Likewise.
22097 * kern/x86_64/dl.c: Likewise.
22098
22099 * conf/i386-qemu.rmk: New file.
22100 * kern/i386/qemu/startup.S: Likewise.
22101 * kern/i386/qemu/mmap.c: Likewise.
22102 * boot/i386/qemu/boot.S: Likewise.
22103 * include/grub/i386/qemu/time.h: Likewise.
22104 * include/grub/i386/qemu/serial.h: Likewise.
22105 * include/grub/i386/qemu/kernel.h: Likewise.
22106 * include/grub/i386/qemu/console.h: Likewise.
22107 * include/grub/i386/qemu/boot.h: Likewise.
22108 * include/grub/i386/qemu/init.h: Likewise.
22109 * include/grub/i386/qemu/machine.h: Likewise.
22110 * include/grub/i386/qemu/loader.h: Likewise.
22111 * include/grub/i386/qemu/memory.h: Likewise.
22112
22113 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22114 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22115 [qemu] (pkglib_IMAGES): Add `boot.img'.
22116 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22117 [qemu] (boot_img_FORMAT): New variables.
22118 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22119 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22120 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22121 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22122 [qemu] (kernel_img_FORMAT): New variables.
22123
22124 * configure.ac: Recognise `i386-qemu'.
22125
22126 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22127 (for no compression).
22128 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22129 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22130 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22131 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22132 ifdefs).
22133
22134 2009-06-27 Pavel Roskin <proski@gnu.org>
22135
22136 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22137 read.
22138 * efiemu/prepare32.c: Likewise.
22139 * efiemu/prepare64.c: Likewise.
22140
22141 2009-06-26 Pavel Roskin <proski@gnu.org>
22142
22143 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22144 * include/grub/elf.h: Define symbols without "32" or "64" based
22145 on GRUB_TARGET_WORDSIZE.
22146 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22147 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22148 ELF definitions.
22149 * efiemu/loadcore64.c: Likewise.
22150 * loader/i386/bsd32.c: Likewise.
22151 * loader/i386/bsd64.c: Likewise.
22152 * kern/dl.c: Remove own ELF definitions.
22153 * util/i386/efi/grub-mkimage.c: Likewise.
22154
22155 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22156
22157 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22158 segment 0x0 unconditionally, because the reference generated by
22159 GAS is an absolute address.
22160
22161 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22162
22163 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22164 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22165
22166 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22167
22168 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22169 indexes. Check for -f explicitly.
22170 (search_file): Improve error message.
22171 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
22172
22173 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22174
22175 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22176 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22177
22178 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22179
22180 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22181 * conf/i386-ieee1275.rmk: Likewise.
22182 * conf/i386-coreboot.rmk: Likewise.
22183
22184 * kern/i386/pc/startup.S (grub_stop): Remove function.
22185 * kern/i386/ieee1275/startup.S: Likewise.
22186 * kern/i386/coreboot/startup.S: Likewise.
22187 * kern/i386/misc.S (grub_stop): New function.
22188
22189 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22190
22191 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22192 * kern/i386/realmode.S (real_to_prot): ... to here.
22193
22194 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22195
22196 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22197 with `kernel.img'.
22198 (kernel_elf_SOURCES): Rename to ...
22199 (kernel_img_SOURCES): ... this.
22200 (kernel_elf_HEADERS): Rename to ...
22201 (kernel_img_HEADERS): ... this. Update all users.
22202 (kernel_elf_ASFLAGS): Rename to ...
22203 (kernel_img_ASFLAGS): ... this.
22204 (kernel_elf_CFLAGS): Rename to ...
22205 (kernel_img_CFLAGS): ... this.
22206 (kernel_elf_LDFLAGS): Rename to ...
22207 (kernel_img_LDFLAGS): ... this.
22208 * conf/i386-coreboot.rmk: Likewise.
22209 * conf/powerpc-ieee1275.rmk: Likewise.
22210
22211 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22212 with "kernel.img".
22213
22214 2009-06-21 Pavel Roskin <proski@gnu.org>
22215
22216 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22217 to match nested functions.
22218 * loader/sparc64/ieee1275/linux.c: Likewise.
22219
22220 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22221
22222 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22223
22224 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22225 all i386 platforms.
22226
22227 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22228
22229 Fix asm file handling on ELF, and remove workarounds.
22230
22231 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
22232 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
22233 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22234 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22235
22236 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22237
22238 Load BSD ELF modules
22239
22240 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22241 and loader/i386/bsd64.c
22242 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22243 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22244 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22245 (grub_freebsd_load_elfmodule32): New declaration
22246 (grub_freebsd_load_elfmoduleobj64): Likewise
22247 (grub_freebsd_load_elf_meta32): Likewise
22248 (grub_freebsd_load_elf_meta64): Likewise
22249 (grub_freebsd_add_meta): Likewise
22250 (grub_freebsd_add_meta_module): Likewise
22251 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22252 (grub_freebsd_add_meta_module): Likewise and move module-specific
22253 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22254 (grub_cmd_freebsd): Add elf-kernel specific parts
22255 based on grub_freebsd_add_meta_module
22256 (grub_cmd_freebsd_module): Add type parsing moved from
22257 grub_freebsd_add_meta_module
22258 (grub_cmd_freebsd_module_elf): New function
22259 (cmd_freebsd_module_elf): New variable
22260 (GRUB_MOD_INIT): Register freebsd_module_elf
22261 * loader/i386/bsd32.c: New file
22262 * loader/i386/bsd64.c: Likewise
22263 * loader/i386/bsdXX.c: Likewise
22264 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22265 (grub_elf64_load): Likewise
22266 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22267 All users updated
22268 (grub_elf64_load_hook_t): Likewise
22269
22270 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
22271
22272 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22273 variable.
22274 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22275 don't write a menu entry for recovery mode.
22276
22277 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22278
22279 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22280 after it's no longer needed.
22281
22282 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22283
22284 * include/grub/i386/loader.h (grub_linux_prot_size)
22285 (grub_linux_tmp_addr, grub_linux_real_addr)
22286 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22287 GRUB_MACHINE_PCBIOS.
22288 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22289 common grub_util_info() call to ...
22290 (generate_image): ... here.
22291 Fix use of uninitialized memory, comparison of signed with
22292 unsigned integers and memory leak.
22293 Remove bogus module address message.
22294
22295 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22296
22297 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22298 grub_raid_register
22299 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22300
22301 2009-06-19 Pavel Roskin <proski@gnu.org>
22302
22303 * configure.ac: Remove stray AC_MSG_CHECKING.
22304
22305 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22306
22307 * disk/scsi.c (grub_scsi_open): use continue instead of big if
22308
22309 2009-06-18 Pavel Roskin <proski@gnu.org>
22310
22311 * conf/common.rmk: Add fs_file.mod.
22312 * disk/fs_file.c: New file.
22313 * include/grub/disk.h (enum grub_disk_dev_id): Add
22314 GRUB_DISK_DEVICE_FILE_ID.
22315
22316 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22317
22318 Fix build with Apple's toolchain. Part 2
22319
22320 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22321 a fake start
22322
22323 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22324
22325 Fix build with Apple's toolchain. Part 1
22326
22327 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22328 for long calls
22329 * configure.ac: remove a leftover AC_MSG_RESULT
22330 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
22331 Apple's toolchain
22332
22333 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22334
22335 Fix warnings
22336
22337 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22338 (decomp_block): initialize ch
22339 use grub_memcpy instead of memcpy
22340
22341 2009-06-17 Pavel Roskin <proski@gnu.org>
22342
22343 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22344 version, use declarations needed to use vga_text as the startup
22345 console.
22346
22347 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22348 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22349 the kernel.
22350 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22351 and grub_at_keyboard_fini(), it's done on module load and
22352 unload.
22353
22354 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
22355
22356 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22357 file can't be found.
22358 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22359
22360 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22361
22362 Fix newline handling
22363
22364 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
22365 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
22366 (grub_script_yylex): don't segfault on unterminated script
22367 newline terminates command and variable
22368
22369 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22370
22371 avoid double grub_adjust_range call. Bug reported by David Simner
22372
22373 * kern/disk.c (grub_disk_write): change to raw disk access before
22374 calling disk_read
22375
22376 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
22377
22378 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22379 spaces, for the benefit of help2man.
22380 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22381
22382 2009-06-16 Pavel Roskin <proski@gnu.org>
22383
22384 * kern/i386/halt.c: Include grub/machine/init.h.
22385 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22386
22387 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
22388
22389 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22390 drivemap menuentry.
22391
22392 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22393
22394 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22395 `echo' command.
22396
22397 2009-06-16 Pavel Roskin <proski@gnu.org>
22398
22399 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22400 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22401 save %dx, we only need %dl and we never change it.
22402 * boot/i386/pc/cdboot.S: Don't set the root drive.
22403 * boot/i386/pc/pxeboot.S: Likewise.
22404 * include/grub/i386/pc/boot.h: Remove
22405 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22406 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22407 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22408 * kern/i386/pc/init.c (make_install_device): Remove references
22409 to grub_root_drive.
22410 * kern/i386/pc/startup.S: Likewise.
22411 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22412
22413 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22414
22415 xnu_uuid command
22416
22417 * commands/xnu_uuid.c: new file
22418 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22419 (xnu_uuid_mod_SOURCES): new variable
22420 (xnu_uuid_mod_CFLAGS): likewise
22421 (xnu_uuid_mod_LDFLAGS): likewise
22422 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22423 * conf/i386-ieee1275.rmk: likewise
22424 * conf/i386-pc.rmk: likewise
22425 * conf/powerpc-ieee1275.rmk: likewise
22426 * conf/sparc64-ieee1275.rmk: likewise
22427 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22428
22429 2009-06-16 Pavel Roskin <proski@gnu.org>
22430
22431 * configure.ac: Avoid '==' in test command, it's not portable.
22432
22433 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22434
22435 Probe command
22436
22437 * commands/probe.c: new file
22438 * conf/common.rmk (pkglib_MODULES): add probe.mod
22439 (probe_mod_SOURCES): new variable
22440 (probe_mod_CFLAGS): likewise
22441 (probe_mod_LDFLAGS): likewise
22442 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22443 * conf/i386-ieee1275.rmk: likewise
22444 * conf/i386-pc.rmk: likewise
22445 * conf/powerpc-ieee1275.rmk: likewise
22446 * conf/sparc64-ieee1275.rmk: likewise
22447
22448 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22449
22450 Fix handling of string like \"hello\" and "a
22451 b"
22452
22453 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22454 (grub_script_yylex): fix parsing of quoting, escaping and newline
22455
22456 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22457
22458 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
22459 handling
22460
22461 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
22462
22463 * util/grub-mkconfig.in: Fix parsing of --output option.
22464
22465 2009-06-12 Pavel Roskin <proski@gnu.org>
22466
22467 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22468 genmk.rb don't need to be generated or installed.
22469
22470 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22471
22472 * commands/i386/pc/drivemap_int13h.S: add more comments
22473
22474 2009-06-11 Pavel Roskin <proski@gnu.org>
22475
22476 * Makefile.in (uninstall): Uninstall manuals.
22477
22478 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22479 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22480 and update-grub_lib in two places.
22481 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22482
22483 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22484 a compiler warning.
22485
22486 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22487 `entry_lo' to fix variable shadowing.
22488
22489 2009-06-11 Christian Franke <franke@computer.org>
22490
22491 * kern/misc.c (__enable_execute_stack): Add missing return type
22492 to prevent gcc warning.
22493
22494 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22495
22496 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22497
22498 2009-06-11 Pavel Roskin <proski@gnu.org>
22499
22500 * Makefile.in: Don't rely on any scripts being executable.
22501 Always use $(SHELL) to run shell scripts.
22502
22503 * configure.ac: Always define ___main if using -nostdlib. This
22504 fixes tests on Cygwin.
22505
22506 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22507
22508 UDF fix
22509
22510 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
22511 is in bytes and not in blocks
22512
22513 2009-06-11 Pavel Roskin <proski@gnu.org>
22514
22515 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22516 warning.
22517
22518 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
22519
22520 * util/grub.d/30_os-prober.in: Fix a comment. Source
22521 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22522 to set the root device. Place drivemap command in the generated
22523 chain entry.
22524
22525 2009-06-11 Pavel Roskin <proski@gnu.org>
22526
22527 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22528 have long been resolved.
22529
22530 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
22531
22532 * util/grub.d/10_linux.in: Capitalise "Linux".
22533
22534 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22535
22536 2009-06-11 Pavel Roskin <proski@gnu.org>
22537
22538 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22539 fix a gcc warning and ensure that the function won't ever exit.
22540
22541 * kern/i386/ieee1275/init.c: Add missing prototype for
22542 grub_stop_floppy().
22543
22544 * loader/ieee1275/multiboot2.c [__i386__]: Include
22545 grub/cpu/multiboot.h.
22546
22547 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22548 casts to short - they are not portable and cause warnings. Fix
22549 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22550
22551 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22552
22553 Drivemap fixes
22554
22555 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22556 new function
22557 (grub_get_root_biosnumber_saved): new variable
22558 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22559 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
22560 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
22561 %dx after the call if necessary
22562 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22563 (boot_mod_SOURCES): remove
22564 (boot_mod_CFLAGS): remove
22565 (boot_mod_LDFLAGS): remove
22566 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22567 (boot_mod_SOURCES): new variable
22568 (boot_mod_CFLAGS): likewise
22569 (boot_mod_LDFLAGS): likewise
22570 * conf/i386-efi.rmk: likewise
22571 * conf/i386-ieee1275.rmk: likewise
22572 * conf/i386-pc.rmk: likewise
22573 * conf/powerpc-ieee1275.rmk: likewise
22574 * conf/sparc64-ieee1275.rmk: likewise
22575 * conf/x86_64-efi.rmk: likewise
22576 * include/grub/i386/pc/biosnum.h: new file
22577 * lib/i386/pc/biosnum.c: likewise
22578 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22579 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22580 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
22581
22582 2009-06-10 Pavel Roskin <proski@gnu.org>
22583
22584 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22585 Use separate variables. Read only the file size at the end, but
22586 not the checksum that we don't use.
22587
22588 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22589 Adjust all callers.
22590
22591 * kern/ieee1275/openfw.c: Remove libc includes.
22592 * kern/ieee1275/cmain.c: Likewise.
22593 * include/grub/ieee1275/ieee1275.h: Likewise.
22594
22595 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22596 compiler warnings.
22597
22598 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
22599
22600 * Makefile.in: Remove all trailing whitespace.
22601 * conf/i386-pc.rmk: Likewise.
22602 * conf/powerpc-ieee1275.rmk: Likewise.
22603 * conf/sparc64-ieee1275.rmk: Likewise.
22604 * docs/grub.texi: Likewise.
22605 * docs/texinfo.tex: Likewise.
22606 * disk/fs_uuid.c: Likewise.
22607 * disk/lvm.c: Likewise.
22608 * disk/scsi.c: Likewise.
22609 * disk/ata.c: Likewise.
22610 * disk/ieee1275/ofdisk.c: Likewise.
22611 * disk/i386/pc/biosdisk.c: Likewise.
22612 * disk/host.c: Likewise.
22613 * disk/raid.c: Likewise.
22614 * disk/efi/efidisk.c: Likewise.
22615 * disk/usbms.c: Likewise.
22616 * disk/memdisk.c: Likewise.
22617 * disk/loopback.c: Likewise.
22618 * kern/powerpc/dl.c: Likewise.
22619 * kern/device.c: Likewise.
22620 * kern/dl.c: Likewise.
22621 * kern/sparc64/dl.c: Likewise.
22622 * kern/ieee1275/ieee1275.c: Likewise.
22623 * kern/term.c: Likewise.
22624 * kern/fs.c: Likewise.
22625 * kern/i386/dl.c: Likewise.
22626 * kern/i386/pc/startup.S: Likewise.
22627 * kern/i386/pc/init.c: Likewise.
22628 * kern/i386/pc/mmap.c: Likewise.
22629 * kern/i386/pc/lzo1x.S: Likewise.
22630 * kern/i386/ieee1275/init.c: Likewise.
22631 * kern/i386/realmode.S: Likewise.
22632 * kern/i386/tsc.c: Likewise.
22633 * kern/partition.c: Likewise.
22634 * kern/corecmd.c: Likewise.
22635 * kern/file.c: Likewise.
22636 * kern/efi/efi.c: Likewise.
22637 * kern/efi/init.c: Likewise.
22638 * kern/efi/mm.c: Likewise.
22639 * kern/main.c: Likewise.
22640 * kern/err.c: Likewise.
22641 * kern/env.c: Likewise.
22642 * kern/disk.c: Likewise.
22643 * kern/generic/millisleep.c: Likewise.
22644 * kern/generic/rtc_get_time_ms.c: Likewise.
22645 * kern/misc.c: Likewise.
22646 * kern/parser.c: Likewise.
22647 * genmk.rb: Likewise.
22648 * configure.ac: Likewise.
22649 * boot/i386/pc/diskboot.S: Likewise.
22650 * boot/i386/pc/pxeboot.S: Likewise.
22651 * boot/i386/pc/boot.S: Likewise.
22652 * boot/i386/pc/lnxboot.S: Likewise.
22653 * boot/i386/pc/cdboot.S: Likewise.
22654 * parttool/pcpart.c: Likewise.
22655 * video/readers/tga.c: Likewise.
22656 * video/video.c: Likewise.
22657 * video/bitmap.c: Likewise.
22658 * lib/envblk.c: Likewise.
22659 * lib/i386/setjmp.S: Likewise.
22660 * fs/xfs.c: Likewise.
22661 * fs/afs.c: Likewise.
22662 * fs/fat.c: Likewise.
22663 * fs/ntfs.c: Likewise.
22664 * fs/udf.c: Likewise.
22665 * fs/affs.c: Likewise.
22666 * fs/iso9660.c: Likewise.
22667 * fs/hfs.c: Likewise.
22668 * fs/fshelp.c: Likewise.
22669 * fs/ext2.c: Likewise.
22670 * fs/jfs.c: Likewise.
22671 * fs/reiserfs.c: Likewise.
22672 * fs/hfsplus.c: Likewise.
22673 * fs/minix.c: Likewise.
22674 * fs/cpio.c: Likewise.
22675 * fs/sfs.c: Likewise.
22676 * fs/ufs.c: Likewise.
22677 * efiemu/prepare.c: Likewise.
22678 * efiemu/loadcore_common.c: Likewise.
22679 * efiemu/runtime/efiemu.sh: Likewise.
22680 * efiemu/runtime/efiemu.S: Likewise.
22681 * efiemu/runtime/efiemu.c: Likewise.
22682 * efiemu/pnvram.c: Likewise.
22683 * efiemu/main.c: Likewise.
22684 * efiemu/i386/pc/cfgtables.c: Likewise.
22685 * efiemu/i386/loadcore64.c: Likewise.
22686 * efiemu/i386/loadcore32.c: Likewise.
22687 * efiemu/loadcore.c: Likewise.
22688 * efiemu/symbols.c: Likewise.
22689 * efiemu/mm.c: Likewise.
22690 * include/grub/autoefi.h: Likewise.
22691 * include/grub/datetime.h: Likewise.
22692 * include/grub/term.h: Likewise.
22693 * include/grub/hfs.h: Likewise.
22694 * include/grub/lvm.h: Likewise.
22695 * include/grub/i386/tsc.h: Likewise.
22696 * include/grub/i386/linux.h: Likewise.
22697 * include/grub/i386/xnu.h: Likewise.
22698 * include/grub/i386/efiemu.h: Likewise.
22699 * include/grub/i386/pc/biosdisk.h: Likewise.
22700 * include/grub/i386/pc/memory.h: Likewise.
22701 * include/grub/i386/pc/vbe.h: Likewise.
22702 * include/grub/parttool.h: Likewise.
22703 * include/grub/video.h: Likewise.
22704 * include/grub/memory.h: Likewise.
22705 * include/grub/fs.h: Likewise.
22706 * include/grub/partition.h: Likewise.
22707 * include/grub/xnu.h: Likewise.
22708 * include/grub/efi/api.h: Likewise.
22709 * include/grub/efi/pe32.h: Likewise.
22710 * include/grub/efi/memory.h: Likewise.
22711 * include/grub/multiboot.h: Likewise.
22712 * include/grub/usbdesc.h: Likewise.
22713 * include/grub/multiboot2.h: Likewise.
22714 * include/grub/acpi.h: Likewise.
22715 * include/grub/efiemu/efiemu.h: Likewise.
22716 * include/grub/disk.h: Likewise.
22717 * include/grub/ieee1275/ieee1275.h: Likewise.
22718 * include/grub/net.h: Likewise.
22719 * include/grub/machoload.h: Likewise.
22720 * include/grub/macho.h: Likewise.
22721 * include/multiboot.h: Likewise.
22722 * genmoddep.awk: Likewise.
22723 * normal/main.c: Likewise.
22724 * normal/menu_entry.c: Likewise.
22725 * normal/menu_viewer.c: Likewise.
22726 * normal/completion.c: Likewise.
22727 * normal/cmdline.c: Likewise.
22728 * normal/misc.c: Likewise.
22729 * normal/datetime.c: Likewise.
22730 * bus/usb/usbtrans.c: Likewise.
22731 * bus/usb/ohci.c: Likewise.
22732 * bus/usb/uhci.c: Likewise.
22733 * bus/usb/usb.c: Likewise.
22734 * mmap/efi/mmap.c: Likewise.
22735 * mmap/i386/pc/mmap_helper.S: Likewise.
22736 * mmap/i386/pc/mmap.c: Likewise.
22737 * mmap/i386/mmap.c: Likewise.
22738 * mmap/i386/uppermem.c: Likewise.
22739 * mmap/mmap.c: Likewise.
22740 * commands/acpi.c: Likewise.
22741 * commands/echo.c: Likewise.
22742 * commands/blocklist.c: Likewise.
22743 * commands/loadenv.c: Likewise.
22744 * commands/usbtest.c: Likewise.
22745 * commands/boot.c: Likewise.
22746 * commands/parttool.c: Likewise.
22747 * commands/search.c: Likewise.
22748 * commands/cat.c: Likewise.
22749 * commands/i386/pc/play.c: Likewise.
22750 * commands/i386/pc/drivemap.c: Likewise.
22751 * commands/i386/pc/vbeinfo.c: Likewise.
22752 * commands/i386/pc/acpi.c: Likewise.
22753 * commands/i386/pc/vbetest.c: Likewise.
22754 * commands/ls.c: Likewise.
22755 * commands/cmp.c: Likewise.
22756 * commands/test.c: Likewise.
22757 * commands/efi/acpi.c: Likewise.
22758 * commands/gptsync.c: Likewise.
22759 * commands/help.c: Likewise.
22760 * partmap/amiga.c: Likewise.
22761 * partmap/apple.c: Likewise.
22762 * partmap/acorn.c: Likewise.
22763 * partmap/pc.c: Likewise.
22764 * partmap/sun.c: Likewise.
22765 * partmap/gpt.c: Likewise.
22766 * script/sh/lexer.c: Likewise.
22767 * script/sh/function.c: Likewise.
22768 * font/font.c: Likewise.
22769 * font/font_cmd.c: Likewise.
22770 * loader/powerpc/ieee1275/linux.c: Likewise.
22771 * loader/efi/chainloader.c: Likewise.
22772 * loader/multiboot_loader.c: Likewise.
22773 * loader/macho.c: Likewise.
22774 * loader/i386/multiboot.c: Likewise.
22775 * loader/i386/linux.c: Likewise.
22776 * loader/i386/pc/linux.c: Likewise.
22777 * loader/i386/pc/multiboot2.c: Likewise.
22778 * loader/i386/pc/chainloader.c: Likewise.
22779 * loader/i386/pc/xnu.c: Likewise.
22780 * loader/i386/bsd_trampoline.S: Likewise.
22781 * loader/i386/efi/linux.c: Likewise.
22782 * loader/i386/multiboot_elfxx.c: Likewise.
22783 * loader/i386/bsd_helper.S: Likewise.
22784 * loader/i386/bsd.c: Likewise.
22785 * loader/i386/linux_trampoline.S: Likewise.
22786 * loader/i386/xnu_helper.S: Likewise.
22787 * loader/i386/xnu.c: Likewise.
22788 * loader/i386/bsd_pagetable.c: Likewise.
22789 * loader/i386/multiboot_helper.S: Likewise.
22790 * loader/xnu.c: Likewise.
22791 * loader/xnu_resume.c: Likewise.
22792 * io/gzio.c: Likewise.
22793 * term/efi/console.c: Likewise.
22794 * term/terminfo.c: Likewise.
22795 * term/ieee1275/ofconsole.c: Likewise.
22796 * term/i386/pc/serial.c: Likewise.
22797 * term/i386/pc/vesafb.c: Likewise.
22798 * term/i386/pc/vga.c: Likewise.
22799 * term/usb_keyboard.c: Likewise.
22800 * term/gfxterm.c: Likewise.
22801 * aclocal.m4: Likewise.
22802 * util/lvm.c: Likewise.
22803 * util/grub.d/30_os-prober.in: Likewise.
22804 * util/grub.d/10_hurd.in: Likewise.
22805 * util/console.c: Likewise.
22806 * util/grub-macho2img.c: Likewise.
22807 * util/grub-probe.c: Likewise.
22808 * util/hostfs.c: Likewise.
22809 * util/i386/pc/grub-mkimage.c: Likewise.
22810 * util/i386/pc/grub-setup.c: Likewise.
22811 * util/i386/efi/grub-mkimage.c: Likewise.
22812 * util/grub-mkconfig.in: Likewise.
22813 * util/raid.c: Likewise.
22814 * util/resolve.c: Likewise.
22815 * util/grub-mkdevicemap.c: Likewise.
22816 * util/grub-emu.c: Likewise.
22817 * util/getroot.c: Likewise.
22818 * util/hostdisk.c: Likewise.
22819 * util/usb.c: Likewise.
22820 * util/grub-editenv.c: Likewise.
22821 * util/misc.c: Likewise.
22822
22823 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
22824
22825 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
22826 `genparttoollist.sh'.
22827 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
22828 Add `*.sh' to the list find searches for and change `mdate.sh'
22829 to `mdate-sh'.
22830
22831 2009-06-10 Pavel Roskin <proski@gnu.org>
22832
22833 * include/grub/multiboot2.h: Provide compatibility defines for
22834 multiboot2.h.
22835 * include/multiboot2.h: Include stdint.h only if needed, using
22836 angle brackets.
22837 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
22838 grub/multiboot2.h.
22839 * loader/ieee1275/multiboot2.c: Likewise.
22840 * loader/multiboot2.c: Likewise.
22841 * loader/multiboot_loader.c: Likewise.
22842
22843 * configure.ac: Use -nostdlib when probing for the target. It
22844 should not be required to have libc for the target.
22845
22846 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
22847 they fail without libc headers for the target.
22848 * include/grub/powerpc/libgcc.h: Use weak attribute for all
22849 exports.
22850 * include/grub/sparc64/libgcc.h: Likewise. Don't use
22851 preprocessor conditionals.
22852
22853 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
22854 build system doesn't need to be aware of the tar.c internals.
22855
22856 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
22857
22858 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
22859
22860 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
22861
22862 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
22863 disk limit to 26 for IDE, Virtio, Xen and SCSI.
22864
22865 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
22866
22867 * util/i386/pc/grub-install.in: Change the error message if UUIDs
22868 aren't available if ata.mod gets used.
22869
22870 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
22871
22872 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
22873 initialising controller.
22874 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22875
22876 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
22877
22878 * util/i386/pc/grub-install.in: Add a parameter --disk-module
22879 to choose between ata and biosdisk module on i386-pc.
22880
22881 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
22882
22883 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
22884 Subclass and Programming Interface fields in terms of the 3 byte
22885 Class Code register.
22886 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22887
22888 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
22889 interface is OHCI. Add grub_dprintf for symmetry with
22890 bus/usb/uhci.c.
22891 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
22892 interface is UHCI. Add interf variable for programming
22893 interface. Print interface with class/subclass.
22894
22895 * bus/usb/ohci.c: Set interf with correct field.
22896
22897 * bus/usb/uhci.c: Remove unneeded doubled lines.
22898 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
22899 Remove whitespace inside comment.
22900
22901 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
22902
22903 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
22904 as fallback an equivalent option without depth.
22905
22906 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22907
22908 Not fail if unable to retrieve C/H/S on LBA disks
22909
22910 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
22911 if unable to retrieve C/H/S on LBA disks
22912
22913 2009-06-08 Pavel Roskin <proski@gnu.org>
22914
22915 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
22916 about aliasing.
22917
22918 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
22919
22920 * Makefile.in (uninstall): Remove all $lib_DATA files.
22921
22922 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22923
22924 Bugfix: install on partitionless device
22925
22926 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
22927 is a whole disk
22928
22929 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
22930
22931 * Makefile.in (uninstall): Remove all $include_DATA files.
22932
22933 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
22934
22935 * commands/true.c: New file. Implement the true and false commands.
22936 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
22937 (true_mod_SOURCES): New variable.
22938 (true_mod_CFLAGS): Likewise.
22939 (true_mod_LDFLAGS): Likewise.
22940
22941 2009-06-05 Colin D Bennett <colin@gibibit.com>
22942
22943 Optimized font character lookup using binary search instead of linear
22944 search. Fonts now are required to have the character index ordered by
22945 code point.
22946
22947 * font/font.c (load_font_index): Verify that fonts have ordered
22948 character indices.
22949 (find_glyph): Use binary search instead of linear search to find a
22950 character in a font.
22951
22952 2009-06-05 Michael Scherer <misc@mandriva.org>
22953
22954 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
22955 uses case sensitive btree.
22956 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
22957 only for case insensitive filesystems.
22958
22959 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
22960
22961 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
22962 * conf/common.rmk (search_mod_CFLAGS): likewise
22963
22964 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22965
22966 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
22967 compensate a compiler bug
22968
22969 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22970
22971 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
22972 instead of '\b'
22973
22974 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22975
22976 Definitions for creating asm symbols with Apple's CC
22977
22978 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
22979 [APPLE_CC] (VARIABLE): likewise
22980
22981 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22982
22983 Disable lnxboot.img when compiled
22984 with Apple's CC
22985
22986 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
22987 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
22988 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
22989 [! APPLE_CC] (CODE_LENG): skip
22990 [! APPLE_CC] (setup_sects): likewise
22991 [! APPLE_CC]: skip filling
22992
22993 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22994
22995 Address in trampolines based on 32-bit registers when compiled
22996 with Apple's CC
22997
22998 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
22999 for addresses
23000 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
23001
23002 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23003
23004 Avoid aliases when compiling with Apple's CC for PCBIOS machine
23005
23006 * kern/misc.c [APPLE_CC] (memcpy): new function
23007 [APPLE_CC] (memmove): likewise
23008 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
23009 (memcpy): define alias conditionally on !APPLE_CC
23010 (memset): likewise
23011 (abort): likewise
23012 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
23013 APPLE_CC are defined
23014 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
23015 (grub_assert_fail): make prototype conditional
23016
23017 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23018
23019 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
23020
23021 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
23022 grub-macho2img
23023 (CLEANFILES): add grub-macho2img
23024 (grub_macho2img_SOURCES): new variable
23025 * kern/i386/pc/startup.S (bss_start): new variable
23026 (bss_end): likewise
23027 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
23028 * util/grub-macho2img.c: new file
23029
23030 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23031
23032 Use objconv when compiling with Apple's CC
23033
23034 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
23035 (efiemu64.o): likewise
23036 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
23037 when compiling with Apple's CC
23038 (efiemu64_s.o): likewise
23039 * configure.ac: check for objconv when compiling with Apple's CC
23040 * genmk.rb: use objconv for modules when compiled with Apple's CC
23041
23042 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23043
23044 Define segment as well as section when compiling with
23045 Apple's CC
23046
23047 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
23048 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23049 (efiemu_convert_pointer): likewise
23050 (efiemu_set_virtual_address_map): likewise
23051 (efiemu_convert_pointer): likewise
23052 (efiemu_getcrc32): likewise
23053 (init_crc32_table): likewise
23054 (reflect): likewise
23055 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23056 (GRUB_MOD_DEP): likewise
23057
23058 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23059
23060 Allow a compilation without -mcmodel=large
23061
23062 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23063 when compiled without -mcmodel=large
23064 (filter_memory_map): remove memory post 4 GiB when compiled
23065 without -mcmodel=large
23066 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
23067 TARGET_CFLAGS when -mcmodel=large isn't supported
23068
23069 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23070
23071 Remove nested functions in efiemu core
23072
23073 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
23074
23075 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23076
23077 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23078
23079 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23080 temporary storage
23081 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23082 using Apple's CC
23083 (grub_cpu_is_tsc_supported): likewise
23084 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
23085
23086 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23087
23088 Absolute addressing through constant with Apple's cc
23089
23090 * kern/i386/pc/startup.S: Define necessary constants
23091 and address through it when using ABS with Apple's CC
23092 * boot/i386/pc/diskboot.S: likewise
23093 * boot/i386/pc/boot.S: likewise
23094 * boot/i386/pc/lnxboot.S: likewise
23095 * boot/i386/pc/cdboot.S: likewise
23096 * mmap/i386/pc/mmap_helper.S: likewise
23097 * commands/i386/pc/drivemap_int13h.S: likewise
23098
23099 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23100
23101 Check if compiler is apple cc
23102
23103 * Makefile.in (ASFLAGS): new variable
23104 (TARGET_ASFLAGS): likewise
23105 (TARGET_MODULE_FORMAT): likewise
23106 (TARGET_APPLE_CC): likewise
23107 (OBJCONV): likewise
23108 (TARGET_IMG_CFLAGS): likewise
23109 (TARGET_CPPFLAGS): add includedir
23110 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23111 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23112 Check for linker script only if compiler isn't Apple's CC
23113 (TARGET_MODULE_FORMAT): set
23114 (TARGET_APPLE_CC): likewise
23115 (TARGET_ASFLAGS): likewise
23116 (ASFLAGS): likewise
23117 Check for objcopy only if compiler isn't Apple's CC
23118 Check for BSS symbol only if compiler isn't Apple's CC
23119 * genmk.rb: adapt nm options if we use Apple's utils
23120 * aclocal.m4 (grub_apple_cc): new test
23121 (grub_apple_target_cc): likewise
23122
23123 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23124
23125 Simplify sed expressions and improve awk
23126
23127 * Makefile.in (install-local): simplify sed expression
23128 * gencmdlist.sh: likewise
23129 * genmoddep.awk: avoid adding module as a dependency of itself
23130
23131 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23132
23133 Add missing start symbols
23134
23135 * boot/i386/pc/boot.S: add start
23136 * boot/i386/pc/pxeboot.S: likewise
23137
23138 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23139
23140 Fix wrong assumptions with grub-mkimage on EFI
23141
23142 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
23143 (relocate_addresses): consider both r_addend and value at offset
23144 (make_mods_section): zerofill modinfo and header
23145 (convert_elf): write prefix here
23146
23147 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23148
23149 Use .asciz instead of .string
23150
23151 * i386/pc/diskboot.S: use .asciz instead of .string
23152 * i386/pc/boot.S: likewise
23153 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23154 (GRUB_MOD_NAME): likewise
23155
23156 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23157
23158 gfxpayload support
23159
23160 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23161 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23162 (grub_video_setup): remove
23163 (grub_video_set_mode): new prototype
23164 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23165 (vid_mode): remove
23166 (linux_vesafb_res): compile only on PCBIOS
23167 (grub_linux_boot): support gfxpayload
23168 * loader/i386/pc/xnu.c (video_hook): new function
23169 (grub_xnu_set_video): support gfxpayload
23170 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23171 (DEFAULT_VIDEO_HEIGHT): likewise
23172 (DEFAULT_VIDEO_FLAGS): likewise
23173 (DEFAULT_VIDEO_MODE): new definition
23174 (video_hook): new function
23175 (grub_gfxterm_init): use grub_video_set_mode
23176 * util/grub.d/30_os-prober.in: remove explicit modesetting before
23177 loading xnu
23178 * video/video.c (grub_video_setup): removed
23179 (grub_video_set_mode): new function based on grub_gfxterm_init and
23180 grub_video_setup
23181
23182 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23183
23184 Avoid calling biosdisk in drivemap
23185
23186 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23187 (revparse_biosdisk): likewise
23188 (list_mappings): derive name from id directly
23189 (grub_cmd_drivemap): use tryparse_diskstring
23190
23191 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23192
23193 Script fixes
23194
23195 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23196 (grub_lexer_param): add tokenonhold
23197 (grub_script_create_cmdline): remove cmdline. All callers updated
23198 (grub_script_function_create): make functionname
23199 grub_script_arg. All callers updated
23200 (grub_script_execute_argument_to_string): new prototype
23201 * kern/parser.c (state_transitions): reorder
23202 (grub_parser_cmdline_state): fix a bug and make more compact
23203 * script/sh/execute.c (grub_script_execute_argument_to_string):
23204 make global
23205 (grub_script_execute_cmdline): use new format
23206 * script/sh/function.c (grub_script_function_create): make functionname
23207 grub_script_arg. All callers updated
23208 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
23209 (grub_script_yylex): remove
23210 (grub_script_yylex2): renamed to ...
23211 (grub_script_yylex): ...renamed
23212 parse the expressions like a${b}c
23213 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23214 (GRUB_PARSER_TOKEN_VAR): remove
23215 (GRUB_PARSER_TOKEN_NAME): likewise
23216 ("if"): declare as typeless
23217 ("while"): likewise
23218 ("function"): likewise
23219 ("else"): likewise
23220 ("then"): likewise
23221 ("fi"): likewise
23222 (text): remove
23223 (argument): likewise
23224 (script): accept empty scripts and make exit on error
23225 (arguments): use GRUB_PARSER_TOKEN_ARG
23226 (function): likewise
23227 (command): move error handling to script
23228 (menuentry): move grub_script_lexer_ref before
23229 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
23230 argument. All callers updated
23231
23232 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23233
23234 Prevent GRUB from probing floppies during boot.
23235
23236 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23237 * commands/search.c (options): Add --no-floppy.
23238 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23239 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23240 --no-floppy when searching for UUIDs.
23241
23242 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23243
23244 Simplify the code duplication in commands/search.c.
23245
23246 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23247 (search_fs): ... this. Update all users.
23248
23249 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
23250
23251 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23252
23253 2009-05-28 Pavel Roskin <proski@gnu.org>
23254
23255 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23256 Remove the original symlink explicitly.
23257
23258 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23259 just one slash. That's how grub_fshelp_find_file() does it.
23260
23261 2009-05-26 Pavel Roskin <proski@gnu.org>
23262
23263 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23264 to `str'.
23265
23266 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23267 possibly unused.
23268
23269 2009-05-25 Christian Franke <franke@computer.org>
23270
23271 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23272 register.
23273 (grub_atapi_identify): Add wait after drive select.
23274 (grub_ata_identify): Do more strict status register check before
23275 calling grub_atapi_identify (). Suppress error message if status
23276 register is 0x00 after command failure. Add status register
23277 check after PIO read to avoid bogus identify due to stuck DRQ.
23278 Thanks to Pavel Roskin for testing.
23279 (grub_device_initialize): Remove unsafe status register check.
23280 Thanks to 'phcoder' for problem report and patch.
23281 Prevent sign extension in debug message.
23282
23283 2009-05-23 Colin D Bennett <colin@gibibit.com>
23284
23285 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23286 definition file, and functions defined in `normal/menu.c' have had
23287 their prototypes moved to `include/grub/menu.h' for consistency.
23288
23289 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23290 from normal.h.
23291 (grub_menu_get_entry): Likewise.
23292 (grub_menu_get_timeout): Likewise.
23293 (grub_menu_set_timeout): Likewise.
23294 (grub_menu_execute_entry): Likewise.
23295 (grub_menu_execute_with_fallback): Likewise.
23296 (grub_menu_entry_run): Likewise.
23297
23298 * include/grub/normal.h: Re-ordered and grouped function
23299 prototypes by file that the function is defined in.
23300 (grub_menu_execute_callback): Removed; moved to menu.h.
23301 (grub_menu_get_entry): Likewise.
23302 (grub_menu_get_timeout): Likewise.
23303 (grub_menu_set_timeout): Likewise.
23304 (grub_menu_execute_entry): Likewise.
23305 (grub_menu_execute_with_fallback): Likewise.
23306 (grub_menu_entry_run): Likewise.
23307 (grub_menu_addentry): Renamed from this ...
23308 (grub_normal_add_menu_entry): ... to this.
23309
23310 * normal/main.c (grub_menu_addentry): Renamed from this ...
23311 (grub_normal_add_menu_entry): ... to this.
23312
23313 * script/sh/execute.c (grub_script_execute_menuentry): Update
23314 reference to renamed grub_menu_addentry function.
23315
23316 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
23317
23318 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23319
23320 2009-05-22 Pavel Roskin <proski@gnu.org>
23321
23322 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23323 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23324 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23325 compiling for the i386 targets, but not for the utilities.
23326
23327 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23328 to grub_uint8_t.
23329 (grub_root_drive): Likewise.
23330 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23331 remove alignment.
23332 (grub_root_drive): Change size to byte.
23333 (grub_start_addr): Remove.
23334 (grub_end_addr): Likewise.
23335 (grub_apm_bios_info): Likewise.
23336
23337 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
23338
23339 * normal/i386: Remove.
23340 * normal/powerpc: Likewise.
23341 * normal/sparc64: Likewise.
23342 * normal/x86_64: Likewise.
23343
23344 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23345
23346 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
23347 * loader/i386/linux_trampoline.S: Fix indentation
23348 * loader/i386/xnu_helper.S: Likewise
23349
23350 2009-05-18 Colin D Bennett <colin@gibibit.com>
23351
23352 Display error messages when parsing a Lua statement fails.
23353 Previously, executing a syntactically invalid statement like
23354 ")foo" or "bar;" would silently fail.
23355
23356 * script/lua/grub_main.c (handle_lua_error): New function.
23357 (grub_lua_parse_line): Improved reporting of Lua parser and
23358 execution errors.
23359
23360 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23361
23362 Remove -Werror which causes build to fail on some systems
23363
23364 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23365 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23366 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
23367
23368 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23369
23370 trampoline for linux on 64-bit platform
23371
23372 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23373 loader/i386/efi/linux_trampoline.S
23374 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
23375 declaration
23376 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23377 here
23378 * loader/i386/linux_trampoline.S: moved here
23379 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23380 trampoline
23381 (jumpvector): removed
23382 (grub_linux_trampoline_start): new declaration
23383 (grub_linux_trampoline_end): likewise
23384 (grub_linux_boot): use trampoline when on 64-bit platform
23385 * loader/i386/linux.c: likewise
23386
23387 2009-05-16 Pavel Roskin <proski@gnu.org>
23388
23389 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23390 const to avoid a warning.
23391 (grub_lua_setenv): Likewise.
23392 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23393 lmsg to fix a warning.
23394
23395 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23396
23397 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
23398 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23399 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23400 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23401 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23402 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23403 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23404 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23405
23406 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
23407
23408 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23409
23410 2009-05-16 Bean <bean123ch@gmail.com>
23411
23412 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23413 (lua_mod_SOURCES): New variable.
23414 (lua_mod_CFLAGS): Likewise.
23415 (lua_mod_LDFLAGS): Likewise.
23416
23417 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23418 (setjmp_mod_SOURCES): New variable.
23419 (setjmp_mod_CFLAGS): Likewise.
23420 (setjmp_LDFLAGS): Likewise.
23421
23422 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23423 (setjmp_mod_SOURCES): New variable.
23424 (setjmp_mod_CFLAGS): Likewise.
23425 (setjmp_LDFLAGS): Likewise.
23426
23427 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23428 (setjmp_mod_SOURCES): New variable.
23429 (setjmp_mod_CFLAGS): Likewise.
23430 (setjmp_LDFLAGS): Likewise.
23431
23432 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23433 (setjmp_mod_SOURCES): New variable.
23434 (setjmp_mod_CFLAGS): Likewise.
23435 (setjmp_LDFLAGS): Likewise.
23436
23437 * normal/i386/setjmp.S: Moved from here ...
23438 * lib/i386/setjmp.S: ... Moved here
23439 * normal/x86_64/setjmp.S: Moved from here ...
23440 * lib/x86_64/setjmp.S: ... Moved here
23441 * normal/powerpc/setjmp.S: Moved from here ...
23442 * lib/powerpc/setjmp.S: ... Moved here
23443 * normal/sparc64/setjmp.S: Moved from here ...
23444 * lib/sparc64/setjmp.S: ... Moved here
23445
23446 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23447 returns_twice in mingw.
23448
23449 * script/lua/grub_lib.c: New file.
23450 * script/lua/grub_lib.h: Likewise.
23451 * script/lua/grub_lua.h: Likewise.
23452 * script/lua/grub_main.c: Likewise.
23453 * script/lua/lapi.c: Likewise.
23454 * script/lua/lapi.h: Likewise.
23455 * script/lua/lauxlib.c: Likewise.
23456 * script/lua/lauxlib.h: Likewise.
23457 * script/lua/lbaselib.c: Likewise.
23458 * script/lua/lcode.c: Likewise.
23459 * script/lua/lcode.h: Likewise.
23460 * script/lua/ldblib.c: Likewise.
23461 * script/lua/ldebug.c: Likewise.
23462 * script/lua/ldebug.h: Likewise.
23463 * script/lua/ldo.c: Likewise.
23464 * script/lua/ldo.h: Likewise.
23465 * script/lua/ldump.c: Likewise.
23466 * script/lua/lfunc.c: Likewise.
23467 * script/lua/lfunc.h: Likewise.
23468 * script/lua/lgc.c: Likewise.
23469 * script/lua/lgc.h: Likewise.
23470 * script/lua/linit.c: Likewise.
23471 * script/lua/liolib.c: Likewise.
23472 * script/lua/llex.c: Likewise.
23473 * script/lua/llex.h: Likewise.
23474 * script/lua/llimits.h: Likewise.
23475 * script/lua/lmathlib.c: Likewise.
23476 * script/lua/lmem.c: Likewise.
23477 * script/lua/lmem.h: Likewise.
23478 * script/lua/loadlib.c: Likewise.
23479 * script/lua/lobject.c: Likewise.
23480 * script/lua/lobject.h: Likewise.
23481 * script/lua/lopcodes.c: Likewise.
23482 * script/lua/lopcodes.h: Likewise.
23483 * script/lua/loslib.c: Likewise.
23484 * script/lua/lparser.c: Likewise.
23485 * script/lua/lparser.h: Likewise.
23486 * script/lua/lstate.c: Likewise.
23487 * script/lua/lstate.h: Likewise.
23488 * script/lua/lstring.c: Likewise.
23489 * script/lua/lstring.h: Likewise.
23490 * script/lua/lstrlib.c: Likewise.
23491 * script/lua/ltable.c: Likewise.
23492 * script/lua/ltable.h: Likewise.
23493 * script/lua/ltablib.c: Likewise.
23494 * script/lua/ltm.c: Likewise.
23495 * script/lua/ltm.h: Likewise.
23496 * script/lua/lua.h: Likewise.
23497 * script/lua/luaconf.h: Likewise.
23498 * script/lua/lualib.h: Likewise.
23499 * script/lua/lundump.c: Likewise.
23500 * script/lua/lundump.h: Likewise.
23501 * script/lua/lvm.c: Likewise.
23502 * script/lua/lvm.h: Likewise.
23503 * script/lua/lzio.c: Likewise.
23504 * script/lua/lzio.h: Likewise.
23505
23506 2009-05-16 Bean <bean123ch@gmail.com>
23507
23508 * include/grub/kernel.h (grub_module_header_types): Add type
23509 OBJ_TYPE_CONFIG.
23510
23511 * kern/main.c (grub_load_config): New function.
23512 (grub_main): Call grub_load_config to read boot config.
23513
23514 * grub-mkimage (generate_image): New parameter config_path.
23515 (options): New option --config.
23516 (main): Parse --config option, and pass it to generate_image.
23517
23518 2009-05-14 Christian Franke <franke@computer.org>
23519
23520 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23521 This fixes build on Cygwin.
23522
23523 2009-05-14 Pavel Roskin <proski@gnu.org>
23524
23525 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23526 jump. This saves two bytes, so the typical case of 2 swapped
23527 drives would fit 32 bytes.
23528
23529 2009-05-13 Pavel Roskin <proski@gnu.org>
23530
23531 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23532 grub_uint32_t to avoid a warning.
23533
23534 * loader/i386/linux.c (allocate_pages): When assigning
23535 real_mode_mem, cast through grub_size_t to fix a warning. The
23536 code already makes sure that the value would fit a pointer.
23537 (grub_linux_setup_video): Cast render_target->data to
23538 grub_size_t to fix a warning.
23539
23540 2009-05-13 Javier Martín <lordhabbit@gmail.com>
23541
23542 * commands/i386/pc/drivemap.c: New file - implement drivemap
23543 command.
23544 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23545 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23546
23547 2009-05-13 Pavel Roskin <proski@gnu.org>
23548
23549 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23550 embedding_area_exists.
23551
23552 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23553
23554 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23555 it easier to understand / work with.
23556 Improve warning messages for cases where there's no embedding area,
23557 or when it is too small (or core.img too large).
23558
23559 2009-05-13 Pavel Roskin <proski@gnu.org>
23560
23561 * loader/i386/pc/multiboot2.c: Add necessary includes for
23562 grub_multiboot2_real_boot().
23563
23564 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23565 PX record is always little-endian. We only need the lower 2
23566 bytes of the mode.
23567
23568 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23569 facilitate code reuse.
23570 (grub_cpio_mount): Use "struct head", not a char buffer. This
23571 fixes a warning reported by gcc 4.4.
23572
23573 * kernel/disk.c (grub_disk_read): Use void pointer for the
23574 buffer.
23575 (grub_disk_write): Use const void pointer for the buffer.
23576 Adjust all callers. Remove unnecessary casts.
23577
23578 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23579
23580 * util/i386/pc/grub-install.in: Update copyright year.
23581
23582 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23583
23584 gptsync
23585
23586 * commands/gptsync.c: new file
23587 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23588 (gptsync_mod_SOURCES): new variable
23589 (gptsync_mod_CFLAGS): likewise
23590 (gptsync_mod_LDFLAGS): likewise
23591 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
23592 new definition
23593 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23594 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23595 * conf/i386-ieee1275.rmk: likewise
23596 * conf/i386-pc.rmk: likewise
23597 * conf/powerpc-ieee1275.rmk: likewise
23598
23599 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23600
23601 Fixed grub-emu
23602
23603 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23604 (grub_dl_ref): likewise
23605
23606 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23607
23608 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23609 split in two functions (one for msdos and one for gpt).
23610
23611 2009-05-08 Pavel Roskin <proski@gnu.org>
23612
23613 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23614 not modified.
23615
23616 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23617 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23618 Initialize them with -1. Add sanity check for bad1. Eliminate
23619 nerr variable.
23620
23621 2009-05-08 David S. Miller <davem@davemloft.net>
23622
23623 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23624
23625 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23626
23627 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
23628 existence.
23629
23630 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
23631
23632 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23633 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
23634
23635 2009-05-05 David S. Miller <davem@davemloft.net>
23636
23637 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23638
23639 2009-05-05 Pavel Roskin <proski@gnu.org>
23640
23641 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23642 of grub_dl_ref() and grub_dl_unref().
23643 * commands/parttool.c: Remove preprocessor conditionals around
23644 grub_dl_ref() and grub_dl_unref().
23645 * fs/affs.c: Likewise.
23646 * fs/afs.c: Likewise.
23647 * fs/cpio.c: Likewise.
23648 * fs/ext2.c: Likewise.
23649 * fs/fat.c: Likewise.
23650 * fs/hfs.c: Likewise.
23651 * fs/hfsplus.c: Likewise.
23652 * fs/iso9660.c: Likewise.
23653 * fs/jfs.c: Likewise.
23654 * fs/minix.c: Likewise.
23655 * fs/ntfs.c: Likewise.
23656 * fs/reiserfs.c: Likewise.
23657 * fs/sfs.c: Likewise.
23658 * fs/udf.c: Likewise.
23659 * fs/ufs.c: Likewise.
23660 * fs/xfs.c: Likewise.
23661 * include/grub/dl.h: Likewise.
23662 * loader/xnu.c: Likewise.
23663
23664 2009-05-04 Pavel Roskin <proski@gnu.org>
23665
23666 * commands/acpi.c: Remove unused variable my_mod.
23667 * partmap/amiga.c: Likewise.
23668 * partmap/apple.c: Likewise.
23669 * partmap/gpt.c: Likewise.
23670 * partmap/pc.c: Likewise.
23671 * partmap/sun.c: Likewise.
23672 * term/gfxterm.c: Likewise.
23673 * term/i386/pc/vesafb.c: Likewise.
23674 * term/i386/pc/vga.c: Likewise.
23675
23676 2009-05-04 David S. Miller <davem@davemloft.net>
23677
23678 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
23679 pointer args to grub_ieee1275_get_property().
23680
23681 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
23682
23683 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
23684 devices, and do not traverse down under controller nodes.
23685
23686 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
23687 (grub_ofdisk_open): Use it to un-escape "," characters.
23688 * kern/disk.c (find_part_sep): New.
23689 (grub_disk_open): Use it to find the first non-escaped ','
23690 character in the disk name.
23691 * util/ieee1275/devicemap.c (escape_of_path): New.
23692 (grub_util_emit_devicemap_entry): Use it.
23693 * util/sparc64/ieee1275/grub-install.in: Update script to
23694 strip partition specifiers properly by not triggering on
23695 '\' escaped ',' characters.
23696
23697 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23698
23699 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
23700 to 0x300.
23701 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
23702 resolutions.
23703 (linux_vesafb_modes): Add a lot of additional modes to the list (based
23704 on documentation from Wikipedia).
23705
23706 2009-05-04 Pavel Roskin <proski@gnu.org>
23707
23708 * disk/ata.c: Spelling fixes.
23709 * disk/raid.c: Likewise.
23710 * disk/usbms.c: Likewise.
23711 * disk/dmraid_nvidia.c: Likewise.
23712 * kern/ieee1275/openfw.c: Likewise.
23713 * kern/ieee1275/init.c: Likewise.
23714 * kern/ieee1275/cmain.c: Likewise.
23715 * boot/i386/pc/cdboot.S: Likewise.
23716 * video/readers/png.c: Likewise.
23717 * video/i386/pc/vbe.c: Likewise.
23718 * fs/udf.c: Likewise.
23719 * fs/hfs.c: Likewise.
23720 * fs/reiserfs.c: Likewise.
23721 * efiemu/runtime/efiemu.c: Likewise.
23722 * efiemu/main.c: Likewise.
23723 * efiemu/mm.c: Likewise.
23724 * include/grub/elf.h: Likewise.
23725 * include/grub/xnu.h: Likewise.
23726 * include/grub/usbdesc.h: Likewise.
23727 * include/grub/usb.h: Likewise.
23728 * include/grub/script_sh.h: Likewise.
23729 * include/grub/lib/LzmaEnc.h: Likewise.
23730 * include/grub/efiemu/efiemu.h: Likewise.
23731 * include/grub/command.h: Likewise.
23732 * normal/menu.c: Likewise.
23733 * normal/main.c: Likewise.
23734 * normal/datetime.c: Likewise.
23735 * bus/usb/uhci.c: Likewise.
23736 * mmap/i386/uppermem.c: Likewise.
23737 * mmap/mmap.c: Likewise.
23738 * commands/acpi.c: Likewise.
23739 * commands/test.c: Likewise.
23740 * partmap/apple.c: Likewise.
23741 * font/font.c: Likewise.
23742 * loader/sparc64/ieee1275/linux.c: Likewise.
23743 * loader/macho.c: Likewise.
23744 * loader/i386/bsd_trampoline.S: Likewise.
23745 * loader/i386/bsd.c: Likewise.
23746 * loader/xnu.c: Likewise.
23747 * term/i386/pc/vesafb.c: Likewise.
23748 * term/usb_keyboard.c: Likewise.
23749 * util/resolve.c: Likewise.
23750 * util/getroot.c: Likewise.
23751
23752 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
23753
23754 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
23755
23756 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23757
23758 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
23759 build error.
23760
23761 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23762
23763 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
23764 parameter only available on BIOS.
23765
23766 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23767
23768 Removed wrong semicolon in declaration
23769
23770 * grub/misc.h (grub_dprintf): remove semicolon
23771
23772 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23773
23774 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
23775 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
23776 is done by grub_cmd_linux() now).
23777 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
23778 restore video to text mode.
23779 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
23780 indicates lack of "vga=" parameter. "vga=0" is mapped to
23781 `GRUB_LINUX_VID_MODE_NORMAL'.
23782
23783 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
23784
23785 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
23786 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
23787 and `normal/script.c'. Add `kern/rescue_reader.c',
23788 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
23789 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
23790 `grub_script.tab.c'.
23791
23792 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23793 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23794 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23795 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23796 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23797
23798 * Makefile.in: Remove duplicated 2008 in Copyright line.
23799
23800 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23801
23802 * util/misc.c (grub_util_warn): New function. Emits a warning
23803 unconditionally.
23804 * include/grub/util/misc.h (grub_util_warn): New declaration.
23805
23806 * util/i386/pc/grub-install.in: Understand --force and pass it down
23807 to grub-setup.
23808
23809 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
23810 down to setup().
23811 (setup): Improve error messages and add warnings when requested to
23812 install in odd layouts. Refuse to install using blocklists unless
23813 --force was set.
23814
23815 2009-05-04 martin f. krafft <madduck@madduck.net>
23816
23817 * disk/raid.c (grub_raid_scan_device): Improve debug message.
23818
23819 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23820
23821 Updated copyright year
23822
23823 * fs/hfsplus.c: updated copyright year
23824
23825 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23826
23827 HFS+ UUID
23828
23829 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
23830 in the space previously used by unused3
23831 (grub_hfsplus_uuid): new function
23832 (grub_hfsplus_fs): added uuid field
23833
23834 2009-05-03 Pavel Roskin <proski@gnu.org>
23835
23836 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
23837 suppress warnings. It's no longer needed.
23838 * disk/host.c: Likewise.
23839 * disk/ata_pthru.c: Likewise.
23840 * disk/loopback.c: Likewise.
23841 * hook/datehook.c: Likewise.
23842 * parttool/pcpart.c: Likewise.
23843 * fs/i386/pc/pxe.c: Likewise.
23844 * fs/ntfscomp.c: Likewise.
23845 * efiemu/main.c: Likewise.
23846 * mmap/mmap.c: Likewise.
23847 * commands/crc.c: Likewise.
23848 * commands/hexdump.c: Likewise.
23849 * commands/hdparm.c: Likewise.
23850 * commands/acpi.c: Likewise.
23851 * commands/echo.c: Likewise.
23852 * commands/minicmd.c: Likewise.
23853 * commands/blocklist.c: Likewise.
23854 * commands/memrw.c: Likewise.
23855 * commands/loadenv.c: Likewise.
23856 * commands/usbtest.c: Likewise.
23857 * commands/lsmmap.c: Likewise.
23858 * commands/boot.c: Likewise.
23859 * commands/parttool.c: Likewise.
23860 * commands/configfile.c: Likewise.
23861 * commands/search.c: Likewise.
23862 * commands/ieee1275/suspend.c: Likewise.
23863 * commands/cat.c: Likewise.
23864 * commands/i386/pc/pxecmd.c: Likewise.
23865 * commands/i386/pc/play.c: Likewise.
23866 * commands/i386/pc/halt.c: Likewise.
23867 * commands/i386/pc/vbeinfo.c: Likewise.
23868 * commands/i386/pc/vbetest.c: Likewise.
23869 * commands/lspci.c: Likewise.
23870 * commands/date.c: Likewise.
23871 * commands/handler.c: Likewise.
23872 * commands/ls.c: Likewise.
23873 * commands/test.c: Likewise.
23874 * commands/cmp.c: Likewise.
23875 * commands/efi/loadbios.c: Likewise.
23876 * commands/efi/fixvideo.c: Likewise.
23877 * commands/halt.c: Likewise.
23878 * commands/help.c: Likewise.
23879 * commands/reboot.c: Likewise.
23880 * hello/hello.c: Likewise.
23881 * script/sh/main.c: Likewise.
23882 * loader/xnu.c: Likewise.
23883 * term/terminfo.c: Likewise.
23884 * term/i386/pc/serial.c: Likewise.
23885 * term/usb_keyboard.c: Likewise.
23886
23887 2009-05-03 David S. Miller <davem@davemloft.net>
23888
23889 * normal/menu.c: Include grub/parser.h
23890
23891 2009-05-03 Pavel Roskin <proski@gnu.org>
23892
23893 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
23894 not char*.
23895 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
23896 Suggested by Javier Martín <lordhabbit@gmail.com>
23897
23898 * util/i386/pc/grub-mkrescue.in: Allow for the case when
23899 efiemu??.o doesn't exist.
23900 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
23901 copying.
23902
23903 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
23904
23905 FreeBSD 64-bit support
23906
23907 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
23908 and loader/i386/bsd_trampoline.S
23909 (bsd_mod_ASFLAGS): new variable
23910 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
23911 (FREEBSD_MODTYPE_KERNEL64): likewise
23912 (grub_bsd64_trampoline_start): likewise
23913 (grub_bsd64_trampoline_end): likewise
23914 (grub_bsd64_trampoline_selfjump): likewise
23915 (grub_bsd64_trampoline_gdt): likewise
23916 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
23917 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
23918 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
23919 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
23920 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
23921 of "attrib" member
23922 * loader/i386/bsd_pagetable.c: new file
23923 * loader/i386/bsd_trampoline.S: likewise
23924 * loader/i386/bsd.c (ALIGN_QWORD): new macro
23925 (ALIGN_VAR): likewise
23926 (entry_hi): new variable
23927 (kern_end_mdofs): likewise
23928 (is_64bit): likewise
23929 (grub_freebsd_add_meta): use ALIGN_VAR
23930 (grub_e820_mmap): new declaration
23931 (grub_freebsd_add_mmap): new function
23932 (grub_freebsd_add_meta_module): support 64 bit kernels
23933 (grub_freebsd_list_modules): use ALIGN_VAR
23934 (gdt_descriptor): new declaration
23935 (grub_freebsd_boot): support 64 bit kernels
23936 (grub_bsd_elf64_hook): new function
23937 (grub_bsd_load_elf): support elf64
23938
23939 2009-05-03 Bean <bean123ch@gmail.com>
23940
23941 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
23942 after we get the result of if statement.
23943
23944 2009-05-03 Bean <bean123ch@gmail.com>
23945
23946 * Makefile.in (enable_efiemu): New variable.
23947
23948 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
23949 set.
23950 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
23951 path.
23952 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
23953 path, add -mno-red-zone option.
23954 (efiemu64_s.o): Likewise.
23955 (efiemu64.o): Use macro $^ for source file.
23956
23957 * configure.ac (--enable-efiemu): New option.
23958
23959 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23960
23961 xnu support
23962
23963 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
23964 (pkglib_MODULES): add xnu.mod
23965 (xnu_mod_SOURCES): new variable
23966 (xnu_mod_CFLAGS): likewise
23967 (xnu_mod_LDFLAGS): likewise
23968 (xnu_mod_ASFLAGS): likewise
23969 * conf/i386-pc.rmk: likewise
23970 * conf/x86_64-efi.rmk: likewise
23971 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
23972 new declaration
23973 * include/grub/i386/macho.h: new file
23974 * include/grub/i386/xnu.h: likewise
23975 * include/grub/macho.h: likewise
23976 * include/grub/machoload.h: likewise
23977 * include/grub/x86_64/macho.h: likewise
23978 * include/grub/x86_64/xnu.h: likewise
23979 * include/grub/xnu.h: likewise
23980 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
23981 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
23982 * loader/i386/efi/xnu.c: new file
23983 * loader/i386/pc/xnu.c: likewise
23984 * loader/i386/xnu.c: likewise
23985 * loader/i386/xnu_helper.S: likewise
23986 * loader/macho.c: likewise
23987 * loader/xnu.c: likewise
23988 * loader/xnu_resume.c: likewise
23989 * util/grub-dumpdevtree: likewise
23990 * include/grub/i386/pit.h: include grub/err.h
23991 (grub_pit_wait): export
23992 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
23993
23994 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23995
23996 Efiemu
23997
23998 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
23999 _linux_efi, linux_efi.
24000 new files in grub-emu
24001 new targets efiemu32.o and efiemu64.o
24002 * loader/linux_normal_efiemu.c: likewise
24003 * loader/i386/efi/linux.c: added preliminary efiemu support
24004 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
24005 files to copy
24006 * include/grub/autoefi.h: new file
24007 * include/grub/i386/efiemu.h: likewise
24008 * include/grub/i386/pc/efiemu.h: likewise
24009 * include/grub/efi/api.h: add LL suffix when necessary
24010 new definitions relating to tables
24011 * include/grub/efiemu/efiemu.h: new file
24012 * include/grub/efiemu/runtime.h: likewise
24013 * efiemu/prepare.c: likewise
24014 * efiemu/loadcore_common.c: likewise
24015 * efiemu/loadcore64.c: likewise
24016 * efiemu/runtime/efiemu.sh: likewise
24017 * efiemu/runtime/efiemu.S: likewise
24018 * efiemu/runtime/efiemu.c: likewise
24019 * efiemu/runtime/config.h: likewise
24020 * efiemu/prepare32.c: likewise
24021 * efiemu/main.c: likewise
24022 * efiemu/modules/pnvram.c: likewise
24023 * efiemu/modules/i386: likewise
24024 * efiemu/modules/i386/pc: likewise
24025 * efiemu/modules/acpi.c: likewise
24026 * efiemu/i386/pc/cfgtables.c: likewise
24027 * efiemu/i386/loadcore64.c: likewise
24028 * efiemu/i386/loadcore32.c: likewise
24029 * efiemu/prepare64.c: likewise
24030 * efiemu/loadcore.c: likewise
24031 * efiemu/symbols.c: likewise
24032 * efiemu/mm.c: likewise
24033 * efiemu/loadcore32.c: likewise
24034
24035 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24036
24037 ACPI spoofing
24038
24039 * commands/acpi.c: new file
24040 * commands/i386/pc/acpi.c: likewise
24041 * commands/efi/acpi.c: likewise
24042 * include/grub/acpi.h: likewise
24043 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
24044 (acpi_mod_SOURCES): new variable
24045 (acpi_mod_CFLAGS): likewise
24046 (acpi_mod_LDFLAGS): likewise
24047 * conf/i386-efi.rmk: likewise
24048 * conf/x86_64-efi.rmk: likewise
24049
24050 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24051
24052 Missing part from mmap patch
24053
24054 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24055 (grub_mmap_unregister)
24056 (grub_mmap_free_and_unregister): use grub_mmap_register
24057
24058 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24059
24060 Mmap services
24061
24062 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24063 * loader/i386/linux.c (find_mmap_size): likewise
24064 (allocate_pages): likewise
24065 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24066 (grub_fill_multiboot_mmap): likewise
24067 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24068 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24069 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24070 (OPENBSD_MMAP_RESERVED): likewise
24071 * include/grub/i386/pc/memory.h: include grub/memory.h
24072 (grub_lower_mem): removed
24073 (grub_upper_mem): likewise
24074 (GRUB_MACHINE_MEMORY_ACPI): new definition
24075 (GRUB_MACHINE_MEMORY_NVS): likewise
24076 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24077 (GRUB_MACHINE_MEMORY_HOLE): likewise
24078 (grub_machine_mmap_register): likewise
24079 (grub_machine_mmap_unregister): likewise
24080 (grub_machine_get_upper): likewise
24081 (grub_machine_get_lower): likewise
24082 (grub_machine_get_post64): likewise
24083 * include/grub/i386/efi/memory.h: new file
24084 * include/grub/x86_64/efi/memory.h: likewise
24085 * include/grub/efi/memory.h: likewise
24086 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24087 (mmap_mod_SOURCES): new variable
24088 (mmap_mod_LDFLAGS): likewise
24089 (mmap_mod_ASFLAGS): likewise
24090 * conf/i386-coreboot.rmk: likewise
24091 * conf/i386-ieee1275.rmk: likewise
24092 * conf/i386-efi.rmk: likewise
24093 * conf/x86_64-efi.rmk: likewise
24094 * include/grub/types.h (UINT_TO_PTR): new macro
24095 (PTR_TO_UINT32): likewise
24096 (PTR_TO_UINT64): likewise
24097 * include/grub/memory.h: new file
24098 * mmap/i386/pc/mmap.c: likewise
24099 * mmap/i386/pc/mmap_helper.S: likewise
24100 * mmap/i386/uppermem.c: likewise
24101 * mmap/mmap.c: likewise
24102 * mmap/efi/mmap.c: likewise
24103 * kern/i386/coreboot/init.c (grub_machine_init): don't use
24104 grub_upper_mem
24105 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24106 (grub_upper_mem): likewise
24107 (grub_machine_init): don't use grub_upper_mem,
24108 make grub_lower_mem local
24109 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24110 grub_mmap_iterate and grub_mmap_get_upper
24111 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24112
24113 2009-05-02 Bean <bean123ch@gmail.com>
24114
24115 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24116 script/sh/parser.y.
24117 (pkglib_MODULES): Add normal.mod and sh.mod.
24118 (normal_SOURCES): New variable.
24119 (normal_mod_CFLAGS): Likewise.
24120 (normal_mod_LDFLAGS): Likewise.
24121 (sh_mod_SOURCES): Likewise.
24122 (sh_mod_CFLAGS): Likewise.
24123 (sh_mod_LDFLAGS): Likewise.
24124
24125 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24126 script/sh/lexer.c_DEPENDENCIES.
24127 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24128 kern/rescue_reader.c and kern/rescue_parser.c.
24129 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24130 (grub_emu_SOURCES): Change source files.
24131 (pkglib_MODULES): Remove normal.mod.
24132 (normal_SOURCES): Removed.
24133 (normal_mod_CFLAGS): Likewise.
24134 (normal_mod_LDFLAGS): Likewise.
24135 * conf/i386-coreboot.rmk: Likewise.
24136 * conf/i386-efi.rmk: Likewise.
24137 * conf/i386-ieee1276.rmk: Likewise.
24138 * conf/powerpc-ieee1275.rmk: Likewise.
24139 * conf/sparc64-ieee1275.rmk: Likewise.
24140 * conf/x86_64-efi.rmk: Likewise.
24141
24142 * include/grub/command.h (grub_command_execute): New inline function.
24143
24144 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24145
24146 * include/grub/normal.h: Remove <grub/setjmp.h>.
24147 (grub_fs_module_list): Moved to normal/autofs.c.
24148 (grub_exit_env): Removed.
24149 (grub_command_execute): Likewise.
24150 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24151 parameter script.
24152 (read_command_list): New function declaration.
24153 (read_fs_list): Likewise.
24154
24155 * include/parser.h: Include <grub/reader.h>.
24156 (grub_parser_split_cmdline): Change type of getline parameter.
24157 (grub_parser): New structure.
24158 (grub_parser_class): New variable.
24159 (grub_parser_execute): New function declaration.
24160 (grub_register_rescue_parser): Likewise.
24161 (grub_parser_register): New inline function.
24162 (grub_parser_unregister): Likewise.
24163 (grub_parser_get_current): Likewise.
24164 (grub_parser_set_current): Likewise.
24165
24166 * include/grub/reader.h: New file.
24167 * kern/reader.c: Likewise.
24168 * kern/rescue_parser.c: Likewise.
24169 * kern/rescue_reader.c: Likewise.
24170 * normal/autofs.c: Likewise.
24171 * normal/dyncmd.c: Likewise.
24172
24173 * include/grub/rescue.h: Removed.
24174 * normal/command.h: Likewise.
24175
24176 * include/grub/script.h: Moved to ...
24177 * include/grub/script_sh.h: ... Moved here.
24178 * normal/execute.c: Moved to ...
24179 * script/sh/execute.c: ... Moved here.
24180 * normal/function.c: Moved to ...
24181 * script/sh/function.c: ... Moved here.
24182 * normal/lexer.c: Moved to ...
24183 * script/sh/lexer.c: ... Moved here.
24184 * normal/parser.y: Moved to ...
24185 * script/sh/parser.y: ... Moved here.
24186 * normal/script.c: Moved to ...
24187 * script/sh/script.c: ... Moved here.
24188
24189 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24190 <grub/reader.h>.
24191 (grub_exit_env): Removed.
24192 (fs_module_list): Moved to normal/autofs.c.
24193 (grub_file_getline): Don't handle comment here.
24194 (free_menu): Skip removed field entry->commands.
24195 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24196 script parameter.
24197 (read_config_file): Removed nested parameter, change getline function.
24198 (grub_enter_normal_mode): Removed.
24199 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24200 (read_command_list): Likewise.
24201 (autoload_fs_module): Moved to normal/autofs.c.
24202 (read_fs_list): Likewise.
24203 (reader_nested): New variable.
24204 (grub_normal_execute): Run parser.sh to switch to sh parser.
24205 (grub_cmd_rescue): Removed.
24206 (cmd_normal): Removed.
24207 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24208 rescue command.
24209 (grub_cmdline_run): New function.
24210 (grub_normal_reader_init): Likewise.
24211 (grub_normal_read_line): Likewise.
24212 (grub_env_write_pager): Likewise.
24213 (cmdline): New variable.
24214 (grub_normal_reader): Likewise.
24215 (GRUB_MOD_INIT): Register normal reader and set as current, register
24216 pager hook, register normal command with grub_register_command_prio,
24217 so that it won't show up in command.lst.
24218 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24219 grub_fs_autoload_hook.
24220
24221 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24222 (grub_menu_execute_entry): Replace grub_script_execute with
24223 grub_parser_execute, change parameter to grub_command_execute.
24224
24225 * normal/menu_text.c: Remove <grub/script.h>.
24226
24227 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24228 and <grub/parser.h>.
24229 (run): Change editor_getline to use new parser interface. Change
24230 parameter to grub_command_execute.
24231
24232 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24233 <grub/reader.h> and <grub/parser.h>.
24234 (grub_load_normal_mode): Execute normal command.
24235 (grub_main): Call grub_register_core_commands,
24236 grub_register_rescue_parser and grub_register_rescue_reader, use
24237 grub_reader_loop to enter input loop.
24238
24239 * kern/parser.c (grub_parser_split_cmdline): Change type of
24240 getline parameter.
24241 (grub_parser_class): New variable.
24242 (grub_parser_execute): New function.
24243
24244 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24245 * loader/multiboot2.c: Likewise.
24246 * loader/sparc64/ieee1275/linux.c: Likewise.
24247
24248 * util/grub-emu.c (read_command_list): New dummy function.
24249
24250 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24251
24252 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24253 count to 16 for CCISS and IDA.
24254
24255 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24256
24257 * normal/menu_text.c (grub_wait_after_message): Print a newline
24258 after waiting for user input.
24259
24260 * loader/i386/linux.c: Include `<grub/normal.h>'.
24261 (grub_cmd_linux): Improve the error message about `ask' mode, by
24262 waiting for user input so it's not missed (we can do this, since
24263 user requested interaction).
24264
24265 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24266
24267 Added missing lst to grub-mkrescue
24268
24269 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24270 and ${input_dir}/parttool.lst
24271
24272 2009-04-30 David S. Miller <davem@davemloft.net>
24273
24274 * util/hostdisk.c (device_is_wholedisk): New function.
24275 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24276 zero only if device_is_wholedisk() returns true.
24277
24278 * util/hostdisk.c (convert_system_partition_to_system_disk):
24279 Handle virtual disk devices named /dev/vdiskX as found on sparc
24280 and powerpc.
24281
24282 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24283 lettered partition specifier is found, convert to numbered.
24284
24285 2009-04-29 David S. Miller <davem@davemloft.net>
24286
24287 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24288 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24289
24290 * normal/command.c: Add missing newline at end of file.
24291
24292 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24293 warnings.
24294 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24295 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24296 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24297 ihandles have a 32-bit type but need to be stored in a "void *".
24298
24299 2009-04-28 Pavel Roskin <proski@gnu.org>
24300
24301 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24302 not disk. Adjust all dependencies.
24303 (grub_fs_uuid_close): Use grub_device_close(), not
24304 grub_disk_close().
24305
24306 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24307 parent's partition, don't copy it by reference, as it gets freed
24308 on close.
24309
24310 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24311
24312 Preboot hooks support
24313
24314 * commands/boot.c (struct grub_preboot_t): new declaration
24315 (preboots_head): new variable
24316 (preboots_tail): likewise
24317 (grub_loader_register_preboot_hook): new function
24318 (grub_loader_unregister_preboot_hook): likewise
24319 (grub_loader_set): launch preboot hooks
24320 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24321 (grub_loader_register_preboot_hook): new declaration
24322 (grub_loader_unregister_preboot_hook): likewise
24323
24324 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24325
24326 Warning fix
24327
24328 * disk/scsi.c (grub_scsi_open): added missing cast when
24329 calling grub_dprintf
24330
24331 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24332
24333 Bug and warning fixes
24334
24335 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
24336 declaration
24337 * commands/test.c (test_parse): fixed bug with file tests and corrected
24338 declaration of find_file
24339
24340 2009-04-26 Pavel Roskin <proski@gnu.org>
24341
24342 * Makefile.in: Don't install empty manual pages if help2man is
24343 missing. Use help2man option for output, not shell redirection.
24344
24345 2009-04-26 David S. Miller <davem@davemloft.net>
24346
24347 * util/grub-mkdevicemap.c (make_device_map): Add missing
24348 NESTED_FUNC_ATTR to process_device().
24349
24350 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24351
24352 Test command
24353
24354 * commands/test.c: rewritten to use bash-like test
24355
24356 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24357
24358 Parttool autoloading and improvements
24359
24360 * Makefile.in (pkglib_DATA): add parttool.lst
24361 (parttool.lst): new target
24362 * genmk.rb: generate parttool-*
24363 (CLEANFILES): add #{parttool}
24364 (PARTTOOLFILES): new variable
24365 * genparttoollist.sh: new file
24366 * parttool/pcpart.c (grub_pcpart_boot): more feedback
24367 (grub_pcpart_type): likewise
24368 * commands/parttool.c (helpmsg): new variable
24369 (grub_cmd_parttool): output help if not enough arguments are supplied
24370 autoload modules
24371 (GRUB_MOD_INIT(parttool)): use helpmsg
24372
24373 2009-04-24 David S. Miller <davem@davemloft.net>
24374
24375 Avoiding opening same device multiple times in device iterator.
24376
24377 * kern/device.c: (grub_device_iterate): Define struct part_ent,
24378 and use it to build a list of partitions in iterate_disk() and
24379 iterate_partition().
24380
24381 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24382 on disk->data.
24383
24384 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24385 grub_devalias_iterate() result instead of unconditional 0.
24386 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24387 Also, capture hook return value, either directly or via
24388 grub_children_iterate(), and propagate to caller.
24389 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24390 grub_children_iterate): Return value is now 'int' instead of
24391 'grub_err_t'.
24392 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24393 like a proper iterator, stopping when hooks return non-zero.
24394 (grub_devalias_iterate): Likewise.
24395
24396 2009-04-23 David S. Miller <davem@davemloft.net>
24397
24398 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24399
24400 2009-04-22 David S. Miller <davem@davemloft.net>
24401
24402 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24403 is larger than address_cells, use that value for address_cells too.
24404
24405 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24406 IEEE1275_MAX_PATH_LEN): Define.
24407 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24408 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24409 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24410 'devtype'. Explicitly NULL terminate devalias expansion.
24411
24412 * util/sparc64/ieee1275/misc.c: New file.
24413 * util/sparc64/ieee1275/grub-setup.c: New file.
24414 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24415 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24416 * util/sparc64/ieee1275/grub-install.in: New file.
24417 * util/ieee1275/ofpath.c: New file.
24418 * util/ieee1275/devicemap.c: New file.
24419 * util/devicemap.c: New file.
24420 * util/deviceiter.c: New file.
24421 * kern/sparc64/ieee1275/init.c: New file.
24422 * include/grub/util/ofpath.h: New file.
24423 * include/grub/util/deviceiter.h: New file.
24424 * util/grub-mkdevicemap.c: Include deviceiter.h.
24425 Implement using grub_util_emit_devicemap_entry and
24426 grub_util_iterate_devices.
24427 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24428 util/devicemap.c into grub-mkdevicemap
24429 * conf/i386-efi.rmk: Likewise.
24430 * conf/i386-ieee1275.rmk: Likewise.
24431 * conf/i386-pc.rmk: Likewise.
24432 * conf/powerpc-ieee1275.rmk: Likewise.
24433 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24434 images and installation utilities. Build kernel as image
24435 instead of as elf binary. Use common rules as much as possible.
24436
24437 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
24438
24439 Correct GPT definition
24440
24441 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
24442 of "attrib" member
24443
24444 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
24445
24446 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24447
24448 2009-04-19 David S. Miller <davem@davemloft.net>
24449
24450 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24451 (grub_rescue_cmd_linux): Rename to...
24452 (grub_cmd_linux): and fix prototype.
24453 (grub_rescue_cmd_initrd): Rename to...
24454 (grub_cmd_initrd): and fix prototype.
24455 (cmd_linux, cmd_initrd): New.
24456 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24457 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24458
24459 2009-04-17 Pavel Roskin <proski@gnu.org>
24460
24461 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24462 format.
24463 (grub_ohci_transfer): Likewise.
24464
24465 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24466
24467 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24468 return without a value. Fix inconsistent indentation.
24469
24470 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24471 match struct grub_fs.
24472
24473 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24474 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24475 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24476 * commands/lspci.c (grub_lspci_iter): Likewise.
24477
24478 2009-04-16 Bean <bean123ch@gmail.com>
24479
24480 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24481 value.
24482
24483 2009-04-15 Pavel Roskin <proski@gnu.org>
24484
24485 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24486 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24487 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24488 definitions.
24489
24490 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24491
24492 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
24493 that no multiple data or metadata areas are supported and `Unknown
24494 metadata header'.
24495
24496 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24497
24498 Move loader out of the kernel
24499
24500 * kern/loader.c: moved to ...
24501 * commands/boot.c: ... moved here
24502 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24503 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24504 * include/grub/kernel.h (grub_machine_fini): export
24505 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24506 (grub_loader_set): likewise
24507 (grub_loader_unset): likewise
24508 (grub_loader_boot): likewise
24509 * conf/common.rmk: new module boot.mod
24510 (pkglib_MODULES): add boot.mod
24511 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24512 (grub_emu_SOURCES): likewise
24513 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24514 (grub_emu_SOURCES): likewise
24515 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24516 (grub_emu_SOURCES): likewise
24517 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24518 (grub_emu_SOURCES): likewise
24519 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24520 (grub_emu_SOURCES): likewise
24521 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24522 (grub_emu_SOURCES): likewise
24523 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
24524 (grub_emu_SOURCES): likewise
24525
24526 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24527
24528 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
24529
24530 * kern/misc.c (grub_itoa): Removed function
24531 (grub_ltoa): likewise
24532 (grub_vsprintf): use grub_lltoa
24533
24534 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
24535
24536 Restore grub-emu
24537
24538 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24539 * conf/i386-coreboot.rmk: likewise
24540 * conf/i386-ieee1275.rmk: likewise
24541 * conf/powerpc-ieee1275.rmk: likewise
24542
24543 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
24544
24545 * INSTALL: Add that `./autogen.sh' needs to be run before
24546 `./configure.'.
24547
24548 2009-04-14 Bean <bean123ch@gmail.com>
24549
24550 * Makefile.in (pkglib_DATA): Add handler.lst.
24551 (handler.lst): New rule.
24552
24553 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24554 * conf/i386-coreboot.rmk: Likewise.
24555 * conf/i386-ieee1275.rmk: Likewise.
24556 * conf/i386-efi.rmk: Likewise.
24557 * conf/x86_64-efi.rmk: Likewise.
24558 * conf/powerpc-ieee1275.rmk: Likewise.
24559 * conf/sparc64-ieee1275.rmk: Likewise.
24560
24561 * genhandlerlist.sh: New file.
24562
24563 * genmk.rb: Add rules to generate handler.lst.
24564
24565 * include/grub/normal.h (grub_file_getline): New function definition.
24566 (read_handler_list): Likewise.
24567 (free_handler_list): Likewise.
24568
24569 * include/grub/term.h (grub_term_register_input): Add name parameter
24570 for auto generation of handler.lst.
24571 (grub_term_register_output): Likewise.
24572
24573 * normal/handler.c: New file.
24574
24575 * normal/main.c (get_line): Renamed to grub_file_getline.
24576 (read_config_file): Use the newly renamed grub_file_getline.
24577 (read_command_list): Likewise.
24578 (read_fs_list): Likewise.
24579 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24580 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24581
24582 * term/efi/console.c (grub_console_init): Add name parameter for auto
24583 generation of handler.lst.
24584 * term/gfxterm.c: Likewise.
24585 * term/i386/pc/at_keyboard.c: Likewise.
24586 * term/i386/pc/console.c: Likewise.
24587 * term/i386/pc/serial.c: Likewise.
24588 * term/i386/pc/vesafb.c: Likewise.
24589 * term/i386/pc/vga.c: Likewise.
24590 * term/i386/pc/vga_text.c: Likewise.
24591 * term/ieee1275/ofconsole.c: Likewise.
24592 * term/usb_keyboard.c: Likewise.
24593
24594 2009-04-14 Bean <bean123ch@gmail.com>
24595
24596 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24597 properly with null character.
24598
24599 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24600
24601 * configure: Remove.
24602 * config.h.in: Likewise.
24603 * stamp-h.in: Likewise.
24604 * DISTLIST: Likewise.
24605 * conf/common.mk: Likewise.
24606 * conf/i386-coreboot.mk: Likewise.
24607 * conf/i386-efi.mk: Likewise.
24608 * conf/i386-ieee1275.mk: Likewise.
24609 * conf/i386.mk: Likewise.
24610 * conf/i386-pc.mk: Likewise.
24611 * conf/powerpc-ieee1275.mk: Likewise.
24612 * conf/sparc64-ieee1275.mk: Likewise.
24613 * conf/x86_64-efi.mk: Likewise.
24614
24615 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24616 develop on GRUB.
24617
24618 2009-04-14 John Stanley <jpsinthemix@verizon.net>
24619 David S. Miller <davem@davemloft.net>
24620
24621 * util/hostdisk.c (make_device_name): Fix buffer length
24622 calculations.
24623
24624 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
24625
24626 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24627 <sys/param.h> and <sys/sysctl.h>.
24628 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24629 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24630 opening the device and reset them afterwards.
24631
24632 2009-04-13 Pavel Roskin <proski@gnu.org>
24633
24634 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24635 Reported by John Stanley <jpsinthemix@verizon.net>
24636
24637 2009-04-13 Robert Millan <rmh@aybabtu.com>
24638
24639 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
24640 that name for menuentries when appropriate.
24641
24642 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24643
24644 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24645
24646 2009-04-13 Robert Millan <rmh@aybabtu.com>
24647
24648 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24649 to Linux, simply abort telling the user it's no longer supported.
24650
24651 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24652
24653 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
24654 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
24655 `freebsd_loadenv' only when devices.hints exist.
24656
24657 2009-04-13 Pavel Roskin <proski@gnu.org>
24658
24659 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24660
24661 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
24662
24663 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24664 partition number.
24665 (grub_drive): Likewise.
24666
24667 2009-04-13 David S. Miller <davem@davemloft.net>
24668
24669 * kern/sparc64/ieee1275/ieee1275.c: New file.
24670 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24671 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24672 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24673 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24674 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
24675 grub_ieee1275_alloc_physmem): Declare new exported functions.
24676
24677 * include/grub/sparc64/ieee1275/loader.h: New file.
24678 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24679 * include/grub/sparc64/kernel.h: Likewise.
24680 * loader/sparc64/ieee1275/linux.c: Likewise.
24681
24682 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
24683 (grub_fstest_SOURCES): Likewise.
24684
24685 * util/hostdisk.c (make_device_name): Do not make any assumptions
24686 about the length of drive names.
24687
24688 * kern/dl.c (grub_dl_load_file): Close file immediately when
24689 we are done using it.
24690
24691 2009-04-12 David S. Miller <davem@davemloft.net>
24692
24693 * kern/misc.c (grub_ltoa): Fix cast when handling negative
24694 values. Noticed by Pavel Roskin.
24695
24696 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
24697 target compiler.
24698
24699 * genmk.rb: Add more flexible image type specification, also
24700 pass --strip-unneeded to objcopy.
24701 * conf/i386-pc.rmk: Use *_FORMAT.
24702 * conf/i386-pc.mk: Rebuilt.
24703
24704 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
24705 (OFDISK_HASH_SZ): Define.
24706 (ofdisk_hash): New hash table.
24707 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
24708 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
24709 instead of device phandle which is not unique.
24710
24711 * kern/sparc64/ieee1275/init.c: Delete, replace with...
24712 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
24713 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
24714 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
24715 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
24716 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
24717 GRUB_KERNEL_MACHINE_DATA_END): Define.
24718 (grub_kernel_image_size, grub_total_module_size): Declare.
24719
24720 2009-04-12 Pavel Roskin <proski@gnu.org>
24721
24722 * configure.ac: Change the logic when we check for target tools.
24723 Do it when the target is specified and it's different from the
24724 specified value of the host.
24725
24726 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
24727
24728 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
24729 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
24730 GNU/kFreeBSD. Check if a device is a character device. Use
24731 DIOCGMEDIASIZE to get the size.
24732 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
24733 support for GNU/kFreeBSD.
24734 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
24735 is a character device instead of a block device. Add support for
24736 FreeBSD device names.
24737
24738 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
24739 is a character device instead of a block device.
24740
24741 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
24742 is a character device instead of a block device.
24743
24744 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
24745
24746 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
24747 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
24748 FreeBSD. Check if a device is a character device. Use
24749 DIOCGMEDIASIZE to get the size.
24750 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
24751 support for FreeBSD.
24752 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
24753 is a character device instead of a block device. Add support for
24754 FreeBSD device names.
24755
24756 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
24757 a character device instead of a block device.
24758 (grub_util_check_char_device): New function.
24759
24760 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
24761 a character device instead of a block device.
24762
24763 * include/grub/util/getroot.h (grub_util_check_char_device): New
24764 prototype.
24765
24766 2009-04-11 David S. Miller <davem@davemloft.net>
24767
24768 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
24769 static libgcc.
24770 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
24771 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
24772 function, if present.
24773 (__bswapdi2): Likewise.
24774
24775 * include/grub/sparc64/ieee1275/boot.h: New file.
24776 * boot/sparc64/ieee1275/boot.S: Likewise.
24777 * boot/sparc64/ieee1275/diskboot.S: Likewise.
24778
24779 * kern/misc.c (grub_ltoa): New function.
24780 (grub_vsprintf): Use it to format 'long' integers.
24781
24782 2009-04-10 David S. Miller <davem@davemloft.net>
24783
24784 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
24785 slots are of type grub_ieee1275_cell_t.
24786 (grub_nand_read): Likewise.
24787 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
24788 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
24789 macros are used to compare values in arg/ret block of the call.
24790 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24791 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
24792 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
24793 grub_ieee1275_instance_to_path, grub_ieee1275_write,
24794 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
24795 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
24796 grub_ieee1275_close, grub_ieee1275_set_property,
24797 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
24798 grub_ieee1275_cell_t.
24799 * kern/ieee1275/openfw.c (grub_map): Likewise.
24800 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
24801 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
24802
24803 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
24804 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
24805 (grub_devalias_iterate): Likewise.
24806
24807 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
24808
24809 UFS improvements
24810
24811 * fs/ufs.c (INODE_NBLOCKS): new definition
24812 (struct grub_ufs_dirent): added fields for non-BSD dirents
24813 (grub_ufs_get_file_block): fixed double indirect handling
24814 (grub_ufs_lookup_symlink): use more robust way to determine whether
24815 symlink is inline
24816 (grub_ufs_find_file): support for non-BSD dirents
24817 (grub_ufs_dir): support for non-BSD dirents
24818
24819 2009-04-10 Bean <bean123ch@gnail.com>
24820
24821 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
24822 attribute, otherwise the size would be wrong for i386 platform.
24823
24824 * include/grub/pci.h (grub_pci_read_word): New inline function.
24825 (grub_pci_read_byte): Likewise.
24826 (grub_pci_write): Likewise.
24827 (grub_pci_write_word): Likewise.
24828 (grub_pci_write_byte): Likewise.
24829
24830 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
24831
24832 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
24833 (find_framebuf): Scan pci to locate the frame buffer address.
24834
24835 * commands/efi/fixvideo.c: New file.
24836
24837 * commands/efi/loadbios.c: Likewise.
24838
24839 * commands/memrw.c: Likewise.
24840
24841 * util/grub-dumpbios.in: Likewise.
24842
24843 * conf/common.rmk (grub-dumpbios): New utility.
24844 (pkglib_MODULES): New module memrw.mod.
24845 (memrw_mod_SOURCE): New macro.
24846 (memrw_mod_CFLAGS): Likewise.
24847 (memrw_mod_LDFLAGS): Likewise.
24848
24849 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
24850 fixvideo.mod.
24851 (loadbios_mod_SOURCE): New macro.
24852 (loadbios_mod_CFLAGS): Likewise.
24853 (loadbios_mod_LDFLAGS): Likewise.
24854 (fixvideo_mod_SOURCE): Likewise.
24855 (fixvideo_mod_CFLAGS): Likewise.
24856 (fixvideo_mod_LDFLAGS): Likewise.
24857
24858 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
24859 fixvideo.mod.
24860 (loadbios_mod_SOURCE): New macro.
24861 (loadbios_mod_CFLAGS): Likewise.
24862 (loadbios_mod_LDFLAGS): Likewise.
24863 (fixvideo_mod_SOURCE): Likewise.
24864 (fixvideo_mod_CFLAGS): Likewise.
24865 (fixvideo_mod_LDFLAGS): Likewise.
24866
24867 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
24868
24869 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
24870
24871 2009-04-07 David S. Miller <davem@davemloft.net>
24872
24873 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
24874 support for R_SPARC_OLO10 relocations. Fix compile warning for
24875 R_SPARC_WDISP30 case.
24876 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
24877
24878 2009-04-06 Pavel Roskin <proski@gnu.org>
24879
24880 * include/grub/misc.h (ARRAY_SIZE): New macro.
24881 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
24882 New macro.
24883 * loader/i386/linux.c (allocate_pages): Use free_pages().
24884 (grub_linux_unload): Don't use free_pages().
24885 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
24886 wrong index. Treat all other modes as text modes.
24887 (grub_cmd_linux): Initialize vid_mode unconditionally to
24888 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
24889
24890 * commands/help.c (print_command_help): Use cmd->prio, not
24891 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
24892
24893 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
24894
24895 Parttool
24896
24897 * parttool/pcpart.c: new file
24898 * commands/parttool.c: likewise
24899 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
24900 (parttool_mod_SOURCES): new variable
24901 (parttool_mod_CFLAGS): likewise
24902 (parttool_mod_LDFLAGS): likewise
24903 (pcpart_mod_SOURCES): likewise
24904 (pcpart_mod_CFLAGS): likewise
24905 (pcpart_mod_LDFLAGS): likewise
24906 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
24907 and parttool/pcpart.c
24908 * conf/i386-efi.rmk: likewise
24909 * conf/i386-ieee1275.rmk: likewise
24910 * conf/i386-pc.rmk: likewise
24911 * conf/powerpc-ieee1275.rmk: likewise
24912 * conf/sparc64-ieee1275.rmk: likewise
24913 * conf/x86_64-ieee1275.rmk: likewise
24914
24915 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24916
24917 Support for mtime and further expandability of dir command
24918
24919 * include/grub/lib/datetime.h: moved to ...
24920 * include/grub/datetime.h: ... moved here and added
24921 declaration of grub_unixtime2datetime. All users updated
24922 * include/grub/fs.h: new syntax for dir and mtime functions in
24923 struct grub_fs
24924 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
24925 and GRUB_FSHELP_FLAGS_MASK
24926 * commands/ls.c (grub_ls_list_files): Write mtime in long format
24927 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
24928 (grub_ext2_mtime): new function
24929 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
24930 (grub_hfsplus_mtime): new function
24931 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
24932 (GRUB_UFS_ATTR_FILE): likewise
24933 (GRUB_UFS_ATTR_LNK): likewise
24934 (struct grub_ufs_sblock): new fields mtime
24935 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
24936 all users updated
24937 (grub_ufs_dir): mtime support
24938 (grub_ufs_mtime): new function
24939 * fs/affs.c (grub_affs_dir): use new dir syntax
24940 * fs/afs.c (grub_afs_dir): likewise
24941 * fs/cpio.c (grub_cpio_dir): likewise
24942 * fs/fat.c (grub_fat_find_dir): likewise
24943 * fs/hfs.c (grub_hfs_dir): likewise
24944 * fs/iso9660.c (grub_iso9660_dir): likewise
24945 * fs/jfs.c (grub_jfs_dir): likewise
24946 * fs/minix.c (grub_minix_dir): likewise
24947 * fs/ntfs.c (grub_ntfs_dir): likewise
24948 * fs/reiserfs.c (grub_reiserfs_dir): likewise
24949 * fs/sfs.c (grub_sfs_dir): likewise
24950 * fs/xfs.c (grub_xfs_dir): likewise
24951 * util/hostfs.c (grub_hostfs_dir): likewise
24952 * lib/datetime.c: moved to ...
24953 * normal/datetime.c: ... moved here
24954 (grub_unixtime2datetime): new function
24955 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
24956 * normal/completion.c (iterate_dir): use new dir syntax
24957 * normal/misc.c (grub_normal_print_device_info): tell the
24958 last modification time of a volume
24959 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
24960 * conf/common.rmk: added lib/datetime.c to ls.mod
24961 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
24962 (normal_mod_SOURCES): likewise
24963 (datetime_mod_SOURCES): Removed lib/datetime.c
24964 * conf/i386-efi.rmk: likewise
24965 * conf/i386-ieee1275.rmk: likewise
24966 * conf/i386-pc.rmk: likewise
24967 * conf/powerpc-ieee1275.rmk: likewise
24968 * conf/sparc64-ieee1275.rmk: likewise
24969 * conf/x86_64-efi.rmk: likewise
24970
24971 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24972
24973 Trim trailing spaces in FAT label and support mtools-like labels
24974
24975 * fs/fat.c (grub_fat_iterate_dir): New function based
24976 on grub_fat_find_dir
24977 (grub_fat_find_dir): use grub_fat_iterate_dir
24978 (grub_fat_label): likewise
24979
24980 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24981
24982 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
24983 and command.h
24984 remove extraneous kernel_elf_HEADERS
24985
24986 2009-04-04 Bean <bean123ch@gnail.com>
24987
24988 * include/grub/util/misc.h: Add dummy function fsync for mingw.
24989
24990 * util/misc.c: Likewise.
24991
24992 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24993
24994 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
24995 instead of grub_printf.
24996
24997 2009-04-03 Robert Millan <rmh@aybabtu.com>
24998
24999 * loader/i386/linux.c (grub_linux_setup_video): Fill
25000 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
25001 values from `mode info' structure instead of hardcoded
25002 values.
25003
25004 2009-04-01 Pavel Roskin <proski@gnu.org>
25005
25006 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
25007 unused now.
25008 * genmk.rb: Likewise.
25009 * configure.ac: Likewise.
25010
25011 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
25012
25013 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
25014 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
25015
25016 2009-04-01 David S. Miller <davem@davemloft.net>
25017
25018 * normal/sparc64/setjmp.S: Fix setjmp implementation.
25019 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
25020 (grub_setjmp): Mark with 'returns_twice' attribute.
25021 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
25022 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
25023 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
25024
25025 2009-04-01 Robert Millan <rmh@aybabtu.com>
25026
25027 Reapply fix from 2008-07-28 which was accidentally reverted; also
25028 perform the same fix to a similar check in same function.
25029
25030 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
25031 with the same number are found, just use issue a warning with
25032 grub_dprintf(), as this error has been reported to be non-fatal.
25033
25034 2009-03-31 Pavel Roskin <proski@gnu.org>
25035
25036 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
25037 for cross-compilation.
25038
25039 2009-03-30 Robert Millan <rmh@aybabtu.com>
25040
25041 Fix i386-ieee1275 build.
25042
25043 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
25044 Remove declaration.
25045
25046 2009-03-30 Pavel Roskin <proski@gnu.org>
25047
25048 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25049 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25050 zero-terminated, rely only on the strlen value. Fix comparison
25051 of strings differing in length.
25052
25053 2009-03-30 Robert Millan <rmh@aybabtu.com>
25054
25055 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25056 checking for abi version. Improve error messages on BIOS to notify
25057 user about `linux16' command.
25058
25059 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25060
25061 Leak fixes
25062
25063 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25064 in case of collision
25065 * disk/scsi.c (grub_scsi_open): free scsi in case of error
25066
25067 2009-03-29 Robert Millan <rmh@aybabtu.com>
25068
25069 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25070 set `vid_mode' accordingly.
25071 (grub_linux_boot): Process `vid_mode' and set video mode.
25072
25073 2009-03-29 Robert Millan <rmh@aybabtu.com>
25074
25075 * util/grub.d/10_linux.in (linux_entry): New function.
25076 Factorize generation of Linux boot entries.
25077
25078 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25079
25080 Make the format of Environment Block plain text. The boot loader
25081 part is not tested well yet.
25082
25083 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25084 (buffer): Removed.
25085 (envblk): Likewise.
25086 (usage): Remove "info" and "clear". Add "unset". Update the
25087 description of "set", as this does not delete variables any
25088 longer.
25089 (create_envblk_file): Complete rewrite.
25090 (open_envblk_file): Likewise.
25091 (cmd_info): Removed.
25092 (cmd_list): Likewise.
25093 (cmd_set): Likewise.
25094 (cmd_clear): Likewise.
25095 (list_variables): New function.
25096 (write_envblk): Likewise.
25097 (set_variables): Likewise.
25098 (unset_variables): Likewise.
25099 (main): Complete rewrite.
25100
25101 * commands/loadenv.c (buffer): Removed.
25102 (envblk): Likewise.
25103 (open_envblk_file): New function.
25104 (read_envblk_file): Complete rewrite.
25105 (grub_cmd_load_env): Likewise.
25106 (grub_cmd_list_env): Likewise.
25107 (struct blocklist): New struct.
25108 (free_blocklists): New function.
25109 (check_blocklists): Likewise.
25110 (write_blocklists): Likewise.
25111 (grub_cmd_save_env): Complete rewrite.
25112
25113 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25114 a plain text signature.
25115 (GRUB_ENVBLK_MAXLEN): Removed.
25116 (struct grub_envblk): Complete rewrite.
25117 (grub_envblk_find): Removed.
25118 (grub_envblk_insert): Likewise.
25119 (grub_envblk_open): New prototype.
25120 (grub_envblk_set): Likewise.
25121 (grub_envblk_delete): Put const to VALUE.
25122 (grub_envblk_iterate): Put const to NAME and VALUE.
25123 (grub_envblk_close): New prototype.
25124 (grub_envblk_buffer): New inline function.
25125 (grub_envblk_size): Likewise.
25126
25127 * lib/envblk.c: Include grub/mm.h.
25128 (grub_env_find): Removed.
25129 (grub_envblk_open): New function.
25130 (grub_envblk_close): Likewise.
25131 (escaped_value_len): Likewise.
25132 (find_next_line): Likewise.
25133 (grub_envblk_insert): Removed.
25134 (grub_envblk_set): New function.
25135 (grub_envblk_delete): Complete rewrite.
25136 (grub_envblk_iterate): Likewise.
25137
25138 2009-03-28 Robert Millan <rmh@aybabtu.com>
25139
25140 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25141 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25142 variables. Use 16-bit loader.
25143 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25144 loader.
25145 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25146 (grub_linux16_boot): ... this. Update all users.
25147 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25148 (grub_linux_boot): ... this. Update all users.
25149
25150 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25151 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25152 commands to `linux16' and `initrd16'.
25153 (GRUB_MOD_FINI(linux)): Rename to ...
25154 (GRUB_MOD_FINI(linux16)): ... this.
25155
25156 2009-03-24 Pavel Roskin <proski@gnu.org>
25157
25158 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25159 not just for compilation.
25160
25161 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25162
25163 Move multiboot helper out of kernel
25164
25165 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25166 `loader/i386/multiboot_helper.S'.
25167 * conf/i386-coreboot.rmk: Likewise
25168 * conf/i386-ieee1275.rmk: Likewise
25169
25170 * kern/i386/loader.S: Move multiboot helpers from here...
25171 * loader/i386/multiboot_helper.S: ...moved here
25172 * include/grub/i386/loader.h: Move declarations of multiboot
25173 helpers from here...
25174 * include/grub/i386/multiboot.h: ...moved here
25175 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25176
25177 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25178
25179 * kern/env.c (grub_env_context_open): Added an argument to specify
25180 whether a new context inherits exported variables from current
25181 one. This is useful when making a sandbox to interpret a config
25182 file.
25183 All callers updated.
25184
25185 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25186
25187 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25188
25189 * kern/env.c (grub_env_context_close): Fix memory leaks.
25190
25191 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25192
25193 * normal/main.c (grub_normal_execute): Added an argument
25194 BATCH to specify if an interactive interface should be provided
25195 after reading a config file.
25196 All callers updated.
25197 (read_command_list): Prevent being executed twice.
25198 (read_fs_list): Likewise.
25199
25200 * include/grub/normal.h (grub_normal_execute): Updated the
25201 prototype.
25202
25203 2009-03-22 Pavel Roskin <proski@gno.org>
25204
25205 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25206 _start.
25207 * kern/i386/pc/startup.S: Likewise.
25208 * kern/i386/efi/startup.S: Likewise.
25209 * kern/i386/ieee1275/startup.S: Likewise.
25210 * kern/i386/coreboot/startup.S: Likewise.
25211 * kern/x86_64/efi/startup.S: Likewise.
25212
25213 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25214 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25215 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25216
25217 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25218
25219 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25220
25221 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25222 limit detection.
25223 Use vaddr of correct segment for entry_point.
25224
25225 2009-03-21 Bean <bean123ch@gmail.com>
25226
25227 * commands/blocklist.c: Add include file <grub/command.h>, remove
25228 <grub/normal.h> and <grub/arg.h>.
25229 (grub_cmd_blocklist): Use the new command interface.
25230 (GRUB_MOD_INIT): Likewise.
25231 (GRUB_MOD_FINI): Likewise.
25232 * commands/boot.c: Likewise.
25233 * commands/cat.c: Likewise.
25234 * commands/cmp.c: Likewise.
25235 * commands/configfile.c: Likewise.
25236 * commands/crc.c: Likewise.
25237 * commands/echo.c: Likewise.
25238 * commands/halt.c: Likewise.
25239 * commands/handler.c: Likewise.
25240 * commands/hdparm.c: Likewise.
25241 * commands/help.c: Likewise.
25242 * commands/hexdump.c: Likewise.
25243 * commands/loadenv.c: Likewise.
25244 * commands/ls.c: Likewise.
25245 * commands/lsmmap.c: Likewise.
25246 * commands/lspci.c: Likewise.
25247 * commands/loadenv.c: Likewise.
25248 * commands/read.c: Likewise.
25249 * commands/reboot.c: Likewise.
25250 * commands/search.c: Likewise.
25251 * commands/sleep.c: Likewise.
25252 * commands/test.c: Likewise.
25253 * commands/usbtest.c: Likewise.
25254 * commands/videotest.c: Likewise.
25255 * commands/i386/cpuid.c: Likewise.
25256 * commands/i386/pc/halt.c: Likewise.
25257 * commands/i386/pc/play.c: Likewise.
25258 * commands/i386/pc/pxecmd.c: Likewise.
25259 * commands/i386/pc/vbeinfo.c: Likewise.
25260 * commands/i386/pc/vbetest.c: Likewise.
25261 * commands/ieee1275/suspend.c: Likewise.
25262 * disk/loopback.c: Likewise.
25263 * font/font_cmd.c: Likewise.
25264 * hello/hello.c: Likewise.
25265 * loader/efi/appleloader.c: Likewise.
25266 * loader/efi/chainloader.c: Likewise.
25267 * loader/i386/bsd.c: Likewise.
25268 * loader/i386/efi/linux.c: Likewise.
25269 * loader/i386/ieee1275/linux.c: Likewise.
25270 * loader/i386/linux.c: Likewise.
25271 * loader/i386/pc/chainloader.c: Likewise.
25272 * loader/i386/pc/linux.c: Likewise.
25273 * loader/powerpc/ieee1275/linux.c: Likewise.
25274 * loader/multiboot_loader.c: Likewise.
25275 * term/gfxterm.c: Likewise.
25276 * term/i386/pc/serial.c: Likewise.
25277 * term/terminfo.c: Likewise.
25278
25279 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25280 * term/i386/pc/vga.c: Likewise.
25281 * video/readers/jpeg.c: Likewise.
25282 * video/readers/png.c: Likewise.
25283 * video/readers/tga.c: Likewise.
25284
25285 * util/grub-fstest (cmd_loopback): Removed.
25286 (cmd_blocklist): Likewise.
25287 (cmd_ls): Likewise.
25288 (grub_register_command): Likewise.
25289 (grub_unregister_command): Likewise.
25290 (execute_command): Use grub_command_find to locate command and execute
25291 it.
25292
25293 * include/grub/efi/chainloader.h: Removed.
25294 * loader/efi/chainloader_normal.c: Likewise.
25295 * loader/i386/bsd_normal.c: Likewise.
25296 * loader/i386/pc/chainloader_normal.c: Likewise.
25297 * loader/i386/pc/multiboot_normal.c: Likewise.
25298 * loader/linux_normal.c: Likewise.
25299 * loader/multiboot_loader_normal.c: Likewise.
25300 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25301
25302 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25303 and grub_register_command_p1.
25304
25305 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25306 kern/command.c, lib/arg.c and commands/extcmd.c.
25307 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25308 (minicmd_mod_SOURCES): New variable.
25309 (minicmd_mod_CFLAGS): Likewise.
25310 (minicmd_mod_LDFLAGS): Likewise.
25311 (extcmd_mod_SOURCES): Likewise.
25312 (extcmd_mod_CFLAGS): Likewise.
25313 (extcmd_mod_LDFLAGS): Likewise.
25314 (boot_mod_SOURCES): Removed.
25315 (boot_mod_CFLAGS): Likewise.
25316 (boot_mod_LDFLAGS): Likewise.
25317
25318 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25319 kern/corecmd.c.
25320 (kernel_img_HEADERS): Add command.h.
25321 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25322 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25323 and lib/arg.c.
25324 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25325 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25326 remove the corresponding normal mode command.
25327 (normal_mod_SOURCES): Remove normal/arg.c.
25328 * conf/i386-coreboot.rmk: Likewise.
25329 * conf/i386-efi.rmk: Likewise.
25330 * conf/i386-ieee1275.rmk: Likewise.
25331 * conf/powerpc-ieee1275.rmk: Likewise.
25332 * conf/x86_64-efi.rmk: Likewise.
25333
25334 * include/grub/arg.h: Move from here ...
25335 * include/grub/lib/arg.h: ... to here.
25336
25337 * normal/arg.c: Move from here ...
25338 * lib/arg.c: ... to here.
25339
25340 * commands/extcmd.c: New file.
25341 * commands/minicmd.c: Likewise.
25342 * include/grub/command.h: Likewise.
25343 * include/grub/extcmd.h: Likewise.
25344 * kern/command.c: Likewise.
25345 * kern/corecmd.c: Likewise.
25346
25347 * kern/list.c (grub_list_iterate): Return int instead of void.
25348 (grub_list_insert): New function.
25349 (grub_prio_list_insert): Likewise.
25350
25351 * kern/rescue.c (grub_rescue_command): Removed.
25352 (grub_rescue_command_list): Likewise.
25353 (grub_rescue_register_command): Likewise.
25354 (grub_rescue_unregister_command): Likewise.
25355 (grub_rescue_cmd_boot): Move to minicmd.c
25356 (grub_rescue_cmd_help): Likewise.
25357 (grub_rescue_cmd_info): Likewise.
25358 (grub_rescue_cmd_boot): Likewise.
25359 (grub_rescue_cmd_testload): Likewise.
25360 (grub_rescue_cmd_dump): Likewise.
25361 (grub_rescue_cmd_rmmod): Likewise.
25362 (grub_rescue_cmd_lsmod): Likewise.
25363 (grub_rescue_cmd_exit): Likewise.
25364 (grub_rescue_print_devices): Moved to corecmd.c.
25365 (grub_rescue_print_files): Likewise.
25366 (grub_rescue_cmd_ls): Likewise.
25367 (grub_rescue_cmd_insmod): Likewise.
25368 (grub_rescue_cmd_set): Likewise.
25369 (grub_rescue_cmd_unset): Likewise.
25370 (attempt_normal_mode): Use grub_command_find to get normal module.
25371 (grub_enter_rescue_mode): Use grub_register_core_commands to register
25372 commands, remove grub_rescue_register_command calls.
25373
25374 * normal/command.c (grub_register_command): Removed.
25375 (grub_unregister_command): Likewise.
25376 (grub_command_find): Likewise.
25377 (grub_iterate_commands): Likewise.
25378 (rescue_command): Likewise.
25379 (export_command): Moved to corecmd.c.
25380 (set_command): Removed.
25381 (unset_command): Likewise.
25382 (insmod_command): Likewise.
25383 (rmmod_command): Likewise.
25384 (lsmod_command): Likewise.
25385 (grub_command_init): Likewise.
25386
25387 * normal/completion.c (iterate_command): Use cmd->prio to check for
25388 active command.
25389 (complete_arguments): Use grub_extcmd_t structure to find options.
25390 (grub_normal_do_completion): Change function grub_iterate_commands to
25391 grub_command_iterate.
25392
25393 * normal/execute.c (grub_script_execute_cmd): No need to parse
25394 argument here.
25395
25396 * normal/main.c (grub_dyncmd_dispatcher): New function.
25397 (read_command_list): Register unload commands as dyncmd.
25398 (grub_cmd_normal): Use new command interface, register rescue,
25399 unregister normal at entry, register normal, unregister rescue at exit.
25400
25401 * include/grub/list.h (grub_list_test_t): New type.
25402 (grub_list_iterate): Return int instead of void.
25403 (grub_list_insert): New function.
25404 (GRUB_AS_NAMED_LIST_P): New macro.
25405 (GRUB_AS_PRIO_LIST): Likewise.
25406 (GRUB_AS_PRIO_LIST_P): Likewise.
25407 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25408 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25409 (grub_prio_list): New structure.
25410 (grub_prio_list_insert): New function.
25411 (grub_prio_list_remove): New inline function.
25412
25413 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25414 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25415 (GRUB_COMMAND_FLAG_MENU): Likewise.
25416 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25417 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25418 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25419 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25420 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25421 (grub_command): Likewise.
25422 (grub_register_command): Likewise.
25423 (grub_command_find): Likewise.
25424 (grub_iterate_commands): Likewise.
25425 (grub_command_init): Likewise.
25426 (grub_arg_parse): Likewise.
25427 (grub_arg_show_help): Likewise.
25428
25429 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25430 (grub_rescue_unregister_command): Likewise.
25431
25432 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25433 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25434 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25435
25436 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25437 grub_rescue_cmd_initrd.
25438 * include/grub/i386/loader.h: Likewise.
25439 * include/grub/x86_64/loader.h: Likewise.
25440
25441 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25442
25443 2009-03-21 Bean <bean123ch@gmail.com>
25444
25445 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25446 instead of stat in mingw environment.
25447
25448 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25449
25450 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25451
25452 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25453 AC_CONFIG_LINKS.
25454
25455 2009-03-21 Bean <bean123ch@gmail.com>
25456
25457 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25458 out of range error.
25459
25460 2009-03-18 Michel Dänzer <michel@daenzer.net>
25461
25462 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25463 checking inode flags for EXT4_EXTENTS_FLAG.
25464
25465 2009-03-18 Robert Millan <rmh@aybabtu.com>
25466
25467 * loader/i386/linux.c: Include `<grub/video.h>' and
25468 `<grub/i386/pc/vbe.h>'..
25469 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25470 (grub_linux32_boot): Attempt to configure video settings with
25471 grub_linux_setup_video().
25472 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25473 to avoid grub_console_fini() which would step out of graphical mode
25474 unconditionally.
25475
25476 2009-03-14 Robert Millan <rmh@aybabtu.com>
25477
25478 Fix build on powerpc.
25479 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25480
25481 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25482
25483 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25484 background image command.
25485
25486 2009-03-12 Colin D Bennett <colin@gibibit.com>
25487
25488 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25489 (grub_gfxterm_putchar): Extract pairs of identical calls to
25490 draw_cursor out of conditional blocks.
25491
25492 2009-03-11 Pavel Roskin <proski@gnu.org>
25493
25494 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25495 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25496
25497 2009-03-11 Robert Millan <rmh@aybabtu.com>
25498
25499 * loader/i386/multiboot_elfxx.c
25500 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25501
25502 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
25503
25504 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25505 `kern/handler.c'.
25506
25507 2009-03-11 Robert Millan <rmh@aybabtu.com>
25508
25509 * loader/i386/multiboot.c (code_size): New variable.
25510 (grub_multiboot): Define offsets by adding to `code_size' rather
25511 than subtracting from `grub_multiboot_payload_size'. Provide
25512 4-byte alignment to MBI and others by increasing
25513 `boot_loader_name_length' appropriately.
25514
25515 * loader/i386/multiboot_elfxx.c
25516 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25517
25518 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
25519
25520 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25521 `fs/ext2.c'.
25522
25523 2009-03-08 Robert Millan <rmh@aybabtu.com>
25524
25525 Make loader/i386/linux.c usable on i386-pc again.
25526
25527 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25528 memory to heap.
25529 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25530 `#error' stanza.
25531
25532 2009-03-07 Bean <bean123ch@gmail.com>
25533
25534 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25535 allocation.
25536
25537 2009-03-06 Robert Millan <rmh@aybabtu.com>
25538
25539 Fix display issue on terminals with screen size other than 80x25
25540 (e.g. gfxterm with resolution higher than 640x480).
25541
25542 * normal/main.c (grub_normal_init_page): Display title text in a
25543 position relative to the center of the terminal instead of relying
25544 on a hardcoded offset.
25545
25546 2009-03-04 Robert Millan <rmh@aybabtu.com>
25547
25548 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25549 installed.
25550
25551 * Makefile.in (host_kernel): New variable.
25552 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25553 scripts instead of just the windows one.
25554 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25555
25556 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25557
25558 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25559 `kern/handler.c'.
25560 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25561 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25562 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25563 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25564 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25565 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25566
25567 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25568
25569 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25570 or if there's no space for the disk label and print the partition number on a
25571 invalid magic.
25572
25573 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
25574
25575 * util/misc.c: Include <time.h>.
25576 (grub_millisleep): New function.
25577
25578 2009-03-04 Bean <bean123ch@gmail.com>
25579
25580 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25581 another option -mno-red-zone.
25582
25583 * commands/handler.c: Change module description.
25584
25585 * kern/handler.c: Add missing space at the end of description line.
25586
25587 * kern/list.c: Likewise.
25588
25589 2009-03-03 Robert Millan <rmh@aybabtu.com>
25590
25591 Move more components to the relocation area, and fix mbi pointer
25592 handling to use the destination rather than the origin (thanks to
25593 Vladimir Serbinenko for spotting).
25594
25595 * loader/i386/multiboot.c (mbi_dest): New variable.
25596 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25597 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25598 relocation area.
25599
25600 2009-03-01 Bean <bean123ch@gmail.com>
25601
25602 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
25603 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25604 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25605 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25606
25607 * loader/i386/efi/linux.c (acpi_guid): New variable.
25608 (acpi_guid): Likewise.
25609 (EBDA_SEG_ADDR): New constant.
25610 (LOW_MEM_ADDR): Likewise.
25611 (FAKE_EBDA_SEG): Likewise.
25612 (fake_bios_data): New function.
25613 (grub_linux_boot): Call fake_bios_data.
25614
25615 2009-03-01 Bean <bean123ch@gmail.com>
25616
25617 * commands/terminal.c: Removed.
25618
25619 * commands/handler.c: New file.
25620
25621 * include/grub/list.h: Likewise.
25622
25623 * include/grub/handler.h: Likewise.
25624
25625 * kern/list.c: Likewise.
25626
25627 * kern/handler.c: Likewise.
25628
25629 * kern/term.h: Include header file <grub/handler.h>.
25630 (grub_term_input): Move next field to the beginning.
25631 (grub_term_output): Likewise.
25632 (grub_term_input_class): New variable.
25633 (grub_term_output_class): Likewise.
25634 (grub_term_register_input): Changed to inline function.
25635 (grub_term_register_output): Likewise.
25636 (grub_term_unregister_input): Likewise.
25637 (grub_term_unregister_output): Likewise.
25638 (grub_term_set_current_input): Likewise.
25639 (grub_term_set_current_output): Likewise.
25640 (grub_term_get_current_input): Likewise.
25641 (grub_term_get_current_output): Likewise.
25642 (grub_term_iterate_input): Removed.
25643 (grub_term_iterate_output): Likewise.
25644
25645 * kern/term.c (grub_term_list_input): Removed.
25646 (grub_term_list_output): Likewise.
25647 (grub_term_input_class): New variable.
25648 (grub_term_output_class): Likewise.
25649 (grub_cur_term_input): Change variable as macro.
25650 (grub_cur_term_output): Likewise.
25651 (grub_term_register_input): Removed.
25652 (grub_term_register_output): Likewise.
25653 (grub_term_unregister_input): Likewise.
25654 (grub_term_unregister_output): Likewise.
25655 (grub_term_set_current_input): Likewise.
25656 (grub_term_set_current_output): Likewise.
25657 (grub_term_iterate_input): Likewise.
25658 (grub_term_iterate_output): Likewise.
25659 (grub_term_get_current_input): Likewise.
25660 (grub_term_get_current_output): Likewise.
25661
25662 * util/grub-editenv.c: Include header file <grub/handler.h>.
25663 (grub_term_get_current_input): Removed.
25664 (grub_term_get_current_output): Likewise.
25665 (grub_term_input_class): New variable.
25666 (grub_term_output_class): Likewise.
25667
25668 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25669 (grub_term_get_current_output): Likewise.
25670 (grub_term_input_class): New variable.
25671 (grub_term_output_class): Likewise.
25672
25673 * util/grub-probe.c (grub_term_get_current_input): Removed.
25674 (grub_term_get_current_output): Likewise.
25675 (grub_term_input_class): New variable.
25676 (grub_term_output_class): Likewise.
25677
25678 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
25679 (grub_term_get_current_output): Likewise.
25680 (grub_term_input_class): New variable.
25681 (grub_term_output_class): Likewise.
25682
25683 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
25684 (terminal_mod_SOURCES): Likewise.
25685 (terminal_mod_CFLAGS): Likewise.
25686 (terminal_mod_LDFLAGS): Likewise.
25687
25688 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
25689 handler.c.
25690 (kernel_img_SOURCES): Add list.c and handler.c.
25691 (kernel_img_HEADERS): Add list.h and handler.h.
25692
25693 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25694 handler.c.
25695 (kernel_mod_SOURCES): Add list.c and handler.c.
25696 (kernel_mod_HEADERS): Add list.h and handler.h.
25697
25698 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
25699 handler.c.
25700 (kernel_elf_SOURCES): Add list.c and handler.c.
25701 (kernel_elf_HEADERS): Add list.h and handler.h.
25702
25703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25704 handler.c.
25705 (kernel_elf_SOURCES): Add list.c and handler.c.
25706 (kernel_elf_HEADERS): Add list.h and handler.h.
25707
25708 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25709 handler.c.
25710 (kernel_mod_SOURCES): Add list.c and handler.c.
25711 (kernel_mod_HEADERS): Add list.h and handler.h.
25712
25713 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25714 handler.c.
25715 (kernel_elf_SOURCES): Add list.c and handler.c.
25716 (kernel_elf_HEADERS): Add list.h and handler.h.
25717
25718 2009-02-27 Robert Millan <rmh@aybabtu.com>
25719
25720 Factorize elf32 / elf64 code in Multiboot loader. This will
25721 prevent it from getting out of sync again.
25722
25723 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
25724 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
25725 grub_multiboot_load_elf64): Move from here ...
25726 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
25727 grub_multiboot_load_elf): ... to here (new file).
25728
25729 2009-02-27 Robert Millan <rmh@aybabtu.com>
25730
25731 * util/grub.d/10_linux.in: Rename "single-user mode" to
25732 "recovery mode".
25733
25734 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
25735
25736 Don't leak in SCSI code.
25737 * disk/scsi.c (grub_scsi_close): free `scsi'.
25738
25739 2009-02-27 Robert Millan <rmh@aybabtu.com>
25740
25741 * loader/i386/pc/multiboot.c: Move from here ...
25742 * loader/i386/multiboot.c: ... to here. Update all users.
25743
25744 2009-02-27 Robert Millan <rmh@aybabtu.com>
25745
25746 Patch from Alexandre Bique <bique.alexandre@gmail.com>
25747 * util/i386/pc/grub-setup.c (setup): Fix directory path.
25748
25749 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
25750
25751 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
25752 b-tree.
25753
25754 2009-02-27 Robert Millan <rmh@aybabtu.com>
25755
25756 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
25757 `0x' qualifier as 0 when base is specified as parameter).
25758
25759 2009-02-24 Bean <bean123ch@gmail.com>
25760
25761 * configure.ac: Check for -mcmodel=large in x86_64 target.
25762
25763 * include/grub/efi/api.h (efi_call_10): New macro.
25764 (efi_wrap_10): New function.
25765
25766 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
25767 (GRUB_PE32_REL_BASED_HIGH): Likewise.
25768 (GRUB_PE32_REL_BASED_LOW): Likewise.
25769 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
25770 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
25771 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
25772 (GRUB_PE32_REL_BASED_SECTION): Likewise.
25773 (GRUB_PE32_REL_BASED_REL): Likewise.
25774 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
25775 (GRUB_PE32_REL_BASED_DIR64): Likewise.
25776 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
25777
25778 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
25779 issue.
25780
25781 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
25782 (efi_wrap_10): New function.
25783
25784 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
25785
25786 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
25787 MB/MBP model (NV chipset).
25788 (devdata_devs): Add devpath_5 to the list.
25789
25790 * load/i386/efi/linux.c (video_base): Remove variable.
25791 (RGB_MASK): New macro.
25792 (RGB_MAGIC): Likewise.
25793 (LINE_MIN): Likewise.
25794 (LINE_MAX): Likewise.
25795 (FBTEST_STEP): Likewise.
25796 (FBTEST_COUNT): Likewise.
25797 (fb_list): New variable.
25798 (grub_find_video_card): Remove function.
25799 (find_framebuf): New function.
25800 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
25801 line length.
25802
25803 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
25804 problem for x86_64.
25805
25806 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
25807
25808 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
25809
25810 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
25811 coding tool name.
25812
25813 2009-02-22 Robert Millan <rmh@aybabtu.com>
25814
25815 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
25816 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
25817 in our relocation, instead of using it directly from heap. Also
25818 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
25819
25820 2009-02-21 Robert Millan <rmh@aybabtu.com>
25821
25822 Implement USB keyboard support (based on patch by Marco Gerards)
25823
25824 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
25825 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
25826 (usb_keyboard_mod_LDFLAGS): New variables.
25827
25828 * term/usb_keyboard.c: New file.
25829
25830 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25831
25832 Corrected wrong declaration
25833
25834 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
25835
25836 2009-02-14 Christian Franke <franke@computer.org>
25837
25838 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
25839 (grub_lspci_iter): Print class code and programming interface byte.
25840
25841 2009-02-14 Christian Franke <franke@computer.org>
25842
25843 * gendistlist.sh: Ignore `.svn' directories.
25844
25845 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
25846
25847 * fs/fat.c: Add 2009 to Copyright line.
25848
25849 2009-02-14 Christian Franke <franke@computer.org>
25850
25851 * commands/hdparm.c: New file. Provides `hdparm' command
25852 which sends ATA commands via grub_disk_ata_pass_through ().
25853
25854 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
25855
25856 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
25857 and <grub/cpu/io.h> to include/grub/ata.h.
25858 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
25859 (GRUB_CDROM_SECTOR_SIZE): Remove.
25860 (GRUB_ATA_*): Move to include/grub/ata.h.
25861 (GRUB_ATAPI_*): Likewise.
25862 (enum grub_ata_commands): Likewise.
25863 (enum grub_ata_timeout_milliseconds): Likewise.
25864 (struct grub_ata_device): Likewise.
25865 (grub_ata_regset): Likewise.
25866 (grub_ata_regget): Likewise.
25867 (grub_ata_regset2): Likewise.
25868 (grub_ata_regget2): Likewise.
25869 (grub_ata_check_ready): Likewise.
25870 (grub_ata_wait_not_busy): Remove static, exported in
25871 include/grub/ata.h.
25872 (grub_ata_wait_drq): Likewise.
25873 (grub_ata_pio_read): Likewise.
25874
25875 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
25876 function for hdparm.mod.
25877
25878 * include/grub/ata.h: New file, contains declarations from
25879 disk/ata.c.
25880 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
25881
25882 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
25883 (grub_disk_ata_pass_through): New exported variable.
25884
25885 * kern/disk.c (grub_disk_ata_pass_through): New variable.
25886
25887 2009-02-13 Colin D Bennett <colin@gibibit.com>
25888
25889 Support multiple fallback entries, and provide an API to support
25890 executing default+fallback menu entries. Renamed the `terminal' menu
25891 viewer to `text'.
25892
25893 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
25894 variable declaration.
25895 (grub_menu_execute_callback): New structure declaration.
25896 (grub_menu_execute_callback_t): New typedef.
25897 (grub_menu_execute_with_fallback): New function declaration.
25898 (grub_menu_get_entry): Likewise.
25899 (grub_menu_get_timeout): Likewise.
25900 (grub_menu_set_timeout): Likewise.
25901
25902 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
25903
25904 * normal/menu.c (grub_wait_after_message): Moved to
25905 `normal/menu_text.c'.
25906 (draw_border): Likewise.
25907 (print_message): Likewise.
25908 (print_entry): Likewise.
25909 (print_entries): Likewise.
25910 (grub_menu_init_page): Likewise.
25911 (get_entry_number): Likewise.
25912 (print_timeout): Likewise.
25913 (run_menu): Likewise.
25914 (grub_menu_execute_entry): Likewise.
25915 (show_text_menu): Likewise.
25916 (get_and_remove_first_entry_number): New function.
25917 (grub_menu_execute_with_fallback): Likewise.
25918 (get_entry): Renamed to ...
25919 (grub_menu_get_entry): .. this and made it global.
25920 (get_timeout): Renamed to ...
25921 (grub_menu_get_timeout): ... this and made it global.
25922 (set_timeout): Renamed to ...
25923 (grub_menu_set_timeout): ... this and made it global.
25924 (grub_normal_terminal_menu_viewer): Renamed to ...
25925 (grub_normal_text_menu_viewer): ... this.
25926
25927 * normal/menu_text.c: New file. Extracted text-menu-specific code
25928 from normal/menu.c.
25929
25930 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
25931 (normal_mod_SOURCES): Likewise.
25932
25933 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25934 (normal_mod_SOURCES): Likewise.
25935
25936 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25937 (normal_mod_SOURCES): Likewise.
25938
25939 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
25940 (normal_mod_SOURCES): Likewise.
25941
25942 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25943 (normal_mod_SOURCES): Likewise.
25944
25945 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25946 (normal_mod_SOURCES): Likewise.
25947
25948 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25949 (normal_mod_SOURCES): Likewise.
25950
25951 2009-02-11 Robert Millan <rmh@aybabtu.com>
25952
25953 * util/grub.d/00_header.in: Update old reference to `font' command.
25954
25955 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
25956
25957 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
25958
25959 Based on patch from Javier Martín.
25960
25961 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
25962
25963 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
25964 to avoid false positives with FAT.
25965 (grub_fstest_SOURCES): Likewise.
25966 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25967 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25969 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25970 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25971 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25972
25973 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
25974
25975 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
25976 bpb.version_specific.fat12_or_fat16.fstype and
25977 bpb.version_specific.fat32.fstype.
25978
25979 2009-02-08 Robert Millan <rmh@aybabtu.com>
25980
25981 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
25982
25983 2009-02-08 Robert Millan <rmh@aybabtu.com>
25984
25985 * Makefile.in (host_os, host_cpu): New variables.
25986 (target_os): Remove. Update all users.
25987
25988 2009-02-08 Marco Gerards <marco@gnu.org>
25989
25990 * Makefile.in (enable_grub_emu_usb): New variable.
25991 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
25992 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
25993 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
25994 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
25995 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
25996 `usbtest.mod' and `usbms.mod'.
25997 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
25998 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
25999 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
26000 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
26001 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
26002 variables.
26003
26004 * disk/usbms.c: New file.
26005
26006 * include/grub/usb.h: Likewise.
26007
26008 * include/grub/usbtrans.h: Likewise.
26009
26010 * include/grub/usbdesc.h: Likewise.
26011
26012 * bus/usb/usbtrans.c: Likewise.
26013
26014 * bus/usb/ohci.c: Likewise.
26015
26016 * bus/usb/uhci.c: Likewise.
26017
26018 * bus/usb/usbhub.c: Likewise.
26019
26020 * bus/usb/usb.c: Likewise.
26021
26022 * commands/usbtest.c: Likewise.
26023
26024 * util/usb.c: Likewise.
26025
26026 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
26027
26028 * configure.ac: Test for libusb presence.
26029
26030 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
26031
26032 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
26033
26034 * kern/mm.c: Add more comments.
26035
26036 2009-02-08 Robert Millan <rmh@aybabtu.com>
26037
26038 Patch from Javier Martín.
26039 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
26040 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
26041
26042 2009-02-08 Robert Millan <rmh@aybabtu.com>
26043
26044 * fs/cpio.c: Split tar functionality to ...
26045 * fs/tar.c: ... here (new file). Update all users.
26046
26047 2009-02-07 Robert Millan <rmh@aybabtu.com>
26048
26049 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26050 backward-incompatible features.
26051
26052 Based on patch from Javier Martín, with some adjustments.
26053
26054 2009-02-07 Michael Scherer <misc@mandriva.org>
26055
26056 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26057
26058 2009-02-07 Robert Millan <rmh@aybabtu.com>
26059
26060 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26061 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26062 after the RAID stuff.
26063
26064 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26065
26066 Fixes problem when running vbetest command as reported by
26067 Vladimir Serbinenko <phcoder@gmail.com>.
26068
26069 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26070
26071 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
26072
26073 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26074 /dev/md/NpN style mdraid devices.
26075
26076 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26077
26078 * util/unifont2pff.rb: Remove.
26079
26080 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26081
26082 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26083 `#'.
26084
26085 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
26086
26087 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26088 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26089 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26090 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26091 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26092 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26093 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26094
26095 2009-02-02 Christian Franke <franke@computer.org>
26096
26097 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26098
26099 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
26100
26101 * INSTALL: Note that we now require at least autoconf 2.59 and
26102 that LZO is optional.
26103
26104 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26105
26106 Base on patch on bug #24154 created by Tomas Tintera
26107 <trosos@seznam.cz>.
26108
26109 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26110
26111 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26112
26113 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
26114 <bero@arklinux.org>.
26115
26116 * normal/parser.y (script_init): Add missing semicolon.
26117
26118 2009-01-31 Colin D Bennett <colin@gibibit.com>
26119
26120 * normal/main.c: Add include to grub/menu_viewer.h.
26121 (free_menu_entry_classes): Added.
26122 (grub_normal_menu_addentry): Added class property handling.
26123 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26124 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26125
26126 * normal/menu_viewer.c: New file.
26127
26128 * normal/menu.c (run_menu_entry): Renamed to ...
26129 (grub_menu_execute_entry): ... this and made it as global.
26130 (grub_menu_run): Renamed to ...
26131 (show_text_menu): ... this and made it local.
26132 (show_text_menu): Adapt to new function names.
26133 (grub_normal_terminal_menu_viewer): New global variable.
26134
26135 * include/grub/menu.h: New file.
26136
26137 * include/grub/menu_viewer.h: New file.
26138
26139 * include/grub/normal.h: Added include to grub/menu.h.
26140 (grub_menu_entry): Moved to include/grub/menu.h.
26141 (grub_menu_entry_t): Likewise.
26142 (grub_menu): Likewise.
26143 (grub_menu_t): Likewise.
26144 (grub_normal_terminal_menu_viewer): Added.
26145 (grub_menu_execute_entry): Likewise.
26146 (grub_menu_run): Removed.
26147
26148 * DISTLIST: Added include/grub/menu.h.
26149 Added include/grub/menu_viewer.h.
26150 Added normal/menu_viewer.c.
26151
26152 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26153
26154 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26155 arglist for menutitle arguments.
26156
26157 * normal/main.c (grub_normal_menu_addentry): Likewise.
26158
26159 * normal/parser.y (menuentry): Likewise.
26160
26161 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26162
26163 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26164 (grub_script_create_cmdmenu): Likewise.
26165
26166 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26167
26168 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26169 changes.
26170
26171 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26172
26173 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26174
26175 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26176
26177 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26178
26179 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26180
26181 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26182
26183 2009-01-30 Christian Franke <franke@computer.org>
26184
26185 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26186 in option help text.
26187
26188 2009-01-27 Pavel Roskin <proski@gnu.org>
26189
26190 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26191
26192 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26193
26194 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26195
26196 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26197
26198 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26199 unregister function.
26200
26201 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26202
26203 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26204
26205 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26206
26207 * util/grub-mkfont.c (usage): Fix typo.
26208
26209 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26210
26211 2009-01-26 Daniel Mierswa <impulze@impulze.org>
26212
26213 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26214
26215 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26216
26217 * kern/misc.c (grub_strcasecmp): New function.
26218 (grub_strcasecmp): Use grub_size_t instead of int for length.
26219 Fix return value.
26220 * include/grub/misc.h: Update function prototypes.
26221
26222 2009-01-26 Robert Millan <rmh@aybabtu.com>
26223
26224 * configure.ac: Fix cross-compilation check.
26225
26226 2009-01-22 Christian Franke <franke@computer.org>
26227
26228 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26229 (precision) digit string. Allow `.format2' without `format1' (width).
26230 Limit input chars for `%s' output to `format2' if specified. This is
26231 compatible with standard printf ().
26232
26233 2009-01-22 Christian Franke <franke@computer.org>
26234
26235 * disk/ata.c (grub_ata_wait_status): Replace by ...
26236 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26237 other status bits may be invalid while BSY is asserted.
26238 (grub_ata_check_ready): New function.
26239 (grub_ata_cmd): Removed.
26240 (grub_ata_wait_drq): New function.
26241 (grub_ata_strncpy): Remove inline.
26242 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26243 and error check now done by grub_ata_wait_drq ().
26244 (grub_ata_pio_write): Likewise.
26245 (grub_atapi_identify): Set DEV before check for !BSY. Use
26246 grub_ata_wait_drq () to wait for data.
26247 (grub_ata_device_initialize): Add status register check to
26248 detect missing SATA slave devices. Add debug messages.
26249 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26250 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26251 transfer loop by grub_ata_pio_write ().
26252 (grub_ata_identify): Set DEV before check for !BSY. Use
26253 grub_ata_wait_drq () to wait for data.
26254 (grub_ata_setaddress): Set DEV before check for !BSY.
26255 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26256 read/write in one loop. Fix invalid command on write. Fix incomplete
26257 command on (size % batch) == 0. Add missing error check after write of
26258 last block. Add debug messages.
26259 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26260
26261 2009-01-19 Christian Franke <franke@computer.org>
26262
26263 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26264 (GRUB_ATAPI_IREASON_*): Likewise.
26265 (grub_ata_pio_write): Fix timeout error return.
26266 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26267 (grub_atapi_wait_drq): New function.
26268 (grub_atapi_packet): New parameter `size'.
26269 Use grub_atapi_wait_drq () and direct write instead of
26270 grub_ata_pio_write ().
26271 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26272 reads the number of bytes requested by the device for each DRQ
26273 assertion.
26274 (grub_atapi_write): Remove old implementation, return not
26275 implemented instead.
26276
26277 2009-01-19 Christian Franke <franke@computer.org>
26278
26279 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26280 of 512 to calculate data size.
26281 (grub_scsi_read12): Likewise.
26282 (grub_scsi_write10): Likewise.
26283 (grub_scsi_write12): Likewise.
26284 (grub_scsi_read): Adjust size according to blocksize.
26285 Add checks for invalid blocksize and unaligned transfer.
26286
26287 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26288
26289 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26290
26291 * term/gfxterm.c (write_char): Fix background rendering for wide
26292 width glyphs.
26293
26294 2009-01-19 Robert Millan <rmh@aybabtu.com>
26295
26296 * config.guess: Update to latest version from config git.
26297 * config.sub: Likewise.
26298
26299 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
26300
26301 * Makefile.in: Change font compilation to use new grub-mkfont instead
26302 of java version.
26303
26304 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26305 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26306 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26307 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26308 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26309 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26310 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26311 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26312 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26313
26314 2009-01-16 Christian Franke <franke@computer.org>
26315
26316 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26317 (enum grub_ata_timeout_milliseconds): New enum.
26318 (grub_ata_wait_status): Add parameter milliseconds.
26319 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26320 recovery from timed-out commands.
26321 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26322 return grub_errno instead of REG_ERROR.
26323 (grub_ata_pio_write): Add parameter milliseconds.
26324 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26325 Pass milliseconds to grub_ata_wait_status () and
26326 grub_ata_pio_read ().
26327 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26328 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26329 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26330 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26331 It is not suitable for device detection, because DEV bit is ignored,
26332 the command may run too long, and not all devices set the signature
26333 properly.
26334 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26335 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26336 Fix device selection, DEV bit must be set first to address the registers
26337 of the correct device.
26338 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26339 grub_ata_pio_read/write ().
26340 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26341 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26342
26343 2009-01-13 Carles Pina i Estany <carles@pina.cat>
26344
26345 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26346
26347 2009-01-13 Bean <bean123ch@gmail.com>
26348
26349 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26350
26351 2009-01-13 Bean <bean123ch@gmail.com>
26352
26353 * Makefile.in: (enable_grub_mkfont): New variable.
26354 (freetype_cflags): Likewise.
26355 (freetype_libs): Likewise.
26356
26357 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26358 (grub_mkfont_SOURCES): New variable.
26359 (grub_mkfont_CFLAGS): Likewise.
26360 (grub_mkfont_LDFLAGS): Likewise.
26361
26362 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26363 library if `--enable-grub-mkfont' is requested.
26364 (enable_grub_mkfont): New variable.
26365 (freetype_cflags): Likewise.
26366 (freetype_libs): Likewise.
26367
26368 * util/grub-mkfont.c: New file.
26369
26370 2009-01-12 Christian Franke <franke@computer.org>
26371
26372 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26373 mode check. Fix setting of compat_use[].
26374
26375 2009-01-10 Robert Millan <rmh@aybabtu.com>
26376
26377 Update a few copyright years which we forgot to do in 2008 (only for
26378 files whose changes made in 2008 were copyright-significant)
26379
26380 * Makefile.in: Add 2008 to Copyright line.
26381 * disk/ieee1275/ofdisk.c: Likewise.
26382 * disk/efi/efidisk.c: Likewise.
26383 * kern/dl.c: Likewise.
26384 * kern/sparc64/ieee1275/init.c: Likewise.
26385 * kern/mm.c: Likewise.
26386 * kern/efi/mm.c: Likewise.
26387 * boot/i386/pc/boot.S: Likewise.
26388 * genfslist.sh: Likewise.
26389 * fs/iso9660.c: Likewise.
26390 * fs/hfs.c: Likewise.
26391 * fs/jfs.c: Likewise.
26392 * fs/minix.c: Likewise.
26393 * fs/ufs.c: Likewise.
26394 * gensymlist.sh.in: Likewise.
26395 * genkernsyms.sh.in: Likewise.
26396 * include/grub/misc.h: Likewise.
26397 * include/grub/types.h: Likewise.
26398 * include/grub/symbol.h: Likewise.
26399 * include/grub/elf.h: Likewise.
26400 * include/grub/kernel.h: Likewise.
26401 * include/grub/disk.h: Likewise.
26402 * include/grub/dl.h: Likewise.
26403 * include/grub/i386/linux.h: Likewise.
26404 * include/grub/i386/pc/biosdisk.h: Likewise.
26405 * include/grub/efi/api.h: Likewise.
26406 * include/grub/efi/pe32.h: Likewise.
26407 * include/grub/util/misc.h: Likewise.
26408 * normal/execute.c: Likewise.
26409 * normal/arg.c: Likewise.
26410 * normal/completion.c: Likewise.
26411 * normal/lexer.c: Likewise.
26412 * normal/parser.y: Likewise.
26413 * normal/misc.c: Likewise.
26414 * commands/i386/pc/vbeinfo.c: Likewise.
26415 * commands/hexdump.c: Likewise.
26416 * commands/terminal.c: Likewise.
26417 * commands/ls.c: Likewise.
26418 * commands/help.c: Likewise.
26419 * partmap/pc.c: Likewise.
26420 * loader/efi/chainloader.c: Likewise.
26421 * loader/multiboot_loader.c: Likewise.
26422 * loader/i386/pc/multiboot2.c: Likewise.
26423 * term/efi/console.c: Likewise.
26424 * term/i386/pc/serial.c: Likewise.
26425 * util/lvm.c: Likewise.
26426 * util/console.c: Likewise.
26427 * util/i386/efi/grub-mkimage.c: Likewise.
26428 * util/raid.c: Likewise.
26429
26430 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26431
26432 * commands/videotest.c: Removed include to grub/machine/memory.h.
26433
26434 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26435 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26436 (video_mod_SOURCES): Removed.
26437 (video_mod_CFLAGS): Likewise.
26438 (video_mod_LDFLAGS): Likewise.
26439 (gfxterm_mod_SOURCES): Likewise.
26440 (gfxterm_mod_CFLAGS): Likewise.
26441 (gfxterm_mod_LDFLAGS): Likewise.
26442 (videotest_mod_SOURCES): Likewise.
26443 (videotest_mod_CFLAGS): Likewise.
26444 (videotest_mod_LDFLAGS): Likewise.
26445 (bitmap_mod_SOURCES): Likewise.
26446 (bitmap_mod_CFLAGS): Likewise.
26447 (bitmap_mod_LDFLAGS): Likewise.
26448 (tga_mod_SOURCES): Likewise.
26449 (tga_mod_CFLAGS): Likewise.
26450 (tga_mod_LDFLAGS): Likewise.
26451 (jpeg_mod_SOURCES): Likewise.
26452 (jpeg_mod_CFLAGS): Likewise.
26453 (jpeg_mod_LDFLAGS): Likewise.
26454 (png_mod_SOURCES): Likewise.
26455 (png_mod_CFLAGS): Likewise.
26456 (png_mod_LDFLAGS): Likewise.
26457
26458 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26459 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26460 (video_mod_SOURCES): Added.
26461 (video_mod_CFLAGS): Likewise.
26462 (video_mod_LDFLAGS): Likewise.
26463 (videotest_mod_SOURCES): Likewise.
26464 (videotest_mod_CFLAGS): Likewise.
26465 (videotest_mod_LDFLAGS): Likewise.
26466 (bitmap_mod_SOURCES): Likewise.
26467 (bitmap_mod_CFLAGS): Likewise.
26468 (bitmap_mod_LDFLAGS): Likewise.
26469 (tga_mod_SOURCES): Likewise.
26470 (tga_mod_CFLAGS): Likewise.
26471 (tga_mod_LDFLAGS): Likewise.
26472 (jpeg_mod_SOURCES): Likewise.
26473 (jpeg_mod_CFLAGS): Likewise.
26474 (jpeg_mod_LDFLAGS): Likewise.
26475 (png_mod_SOURCES): Likewise.
26476 (png_mod_CFLAGS): Likewise.
26477 (png_mod_LDFLAGS): Likewise.
26478 (gfxterm_mod_SOURCES): Likewise.
26479 (gfxterm_mod_CFLAGS): Likewise.
26480 (gfxterm_mod_LDFLAGS): Likewise.
26481
26482 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26483 grub/machine/console.h.
26484
26485 2009-01-04 Jerone Young <jerone@gmail.com>
26486
26487 Make on screen instructions clearer
26488
26489 Based on patch created by Jidanni <jidanni@jidanni.org>
26490
26491 * normal/menu.c: print clearer instructions on the screen
26492
26493 2009-01-02 Colin D Bennett <colin@gibibit.com>
26494
26495 New font engine.
26496
26497 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26498 build system and fixed gfxterm.c to work with different sized fonts.
26499
26500 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
26501
26502 * configure: Re-generated.
26503
26504 * DISTLIST: Removed font/manager.c.
26505 Added font/font.c.
26506 Added font/font_cmd.c.
26507
26508 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26509 compilation.
26510
26511 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
26512
26513 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
26514
26515 * kern/term.c: Changed users of grub_utf8_to_ucs4.
26516
26517 * normal/menu.c: Likewise.
26518
26519 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26520 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
26521
26522 * include/grub/font.h: Replaced with new file.
26523
26524 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26525 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26526 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26527 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26528 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
26529 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
26530 fg_red, fg_green, fg_blue, fg_alpha.
26531 (grub_video_adapter): Removed blit_glyph.
26532 (grub_video_blit_glyph): Removed.
26533
26534 * font/manager.c: Removed file.
26535
26536 * font/font.c: New file.
26537
26538 * font/font_cmd.c: Likewise.
26539
26540 * video/video.c (grub_video_blit_glyph): Removed.
26541
26542 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26543 (grub_video_vbe_map_rgba): Likewise.
26544 (grub_video_vbe_unmap_color_int): Likewise.
26545 (grub_video_vbe_blit_glyph): Removed.
26546 (grub_video_vbe_adapter): Removed blit_glyph.
26547
26548 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26549 (get_pixel): Likewise.
26550 (set_pixel): Likewise.
26551
26552 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
26553
26554 * term/gfxterm.c: Adapted to new font engine.
26555
26556 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
26557
26558 * term/i386/pc/vga.c: Likewise.
26559
26560 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
26561
26562 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26563
26564 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26565
26566 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26567
26568 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26569
26570 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26571
26572 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26573
26574 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26575
26576 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26577
26578 * util/grub.d/00_header.in: Changed to use new loadfont command.
26579
26580 * util/grub-mkconfig_lib.in: Changed font extension.
26581
26582 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
26583
26584 * util/getroot.c (grub_util_get_grub_dev): Add support for
26585 /dev/md/dNNpNN style partitionable mdraid devices.
26586
26587 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
26588
26589 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26590 at a time limit of the PXE TFTP API correctly.
26591 (grub_pxefs_close): Likewise.
26592
26593 2008-11-29 Robert Millan <rmh@aybabtu.com>
26594
26595 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
26596 grub_ata_device_initialize() calls.
26597
26598 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
26599
26600 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26601 iteration failed.
26602 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26603
26604 2008-11-28 Robert Millan <rmh@aybabtu.com>
26605
26606 Fix build on powerpc-ieee1275. Based on patch created by
26607 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26608 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26609 `kern/ieee1275/mmap.c'.
26610 * include/grub/powerpc/ieee1275/memory.h: New file.
26611
26612 Provide grub-install on coreboot.
26613 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26614 (grub_install_SOURCES): New variable.
26615 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26616 usable on coreboot.
26617
26618 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
26619
26620 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26621 to `grub_term_input_t'.
26622 (grub_term_get_current_output): Change return type to
26623 `grub_term_output_t'.
26624
26625 2008-11-22 Robert Millan <rmh@aybabtu.com>
26626
26627 Fix breakage on coreboot due to declaration mismatch.
26628 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26629 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26630 grub_vga_text_cls().
26631
26632 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
26633 comments. Avoid copying one more byte than necessary (just in case).
26634
26635 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26636 to 0x200000 (avoids trouble with some OFW implementations, and matches
26637 with the one in Yaboot).
26638 Reported by Manoel Abranches
26639
26640 2008-11-20 Robert Millan <rmh@aybabtu.com>
26641
26642 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26643 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26644
26645 * util/grub-mkconfig_lib.in (grub_warn): New function.
26646 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26647 warnings, to obtain consistent formatting.
26648 * util/grub.d/00_header.in: Likewise.
26649 * util/update-grub_lib.in: Likewise.
26650
26651 * loader/i386/linux.c (allocate_pages): Fix a warning.
26652 Move comment text to `#error' stanza.
26653
26654 Harmonize ieee1275's grub_available_iterate() with the generic
26655 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26656 build problem on i386-ieee1275):
26657 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26658 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26659 parameter `type'. Update all users of this function.
26660 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26661 `kern/ieee1275/mmap.c'.
26662 * kern/ieee1275/init.c
26663 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26664 with ...
26665 (grub_machine_mmap_iterate): ... this.
26666 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26667 return type to `grub_err_t'. Update all implementations of this
26668 function prototype.
26669 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26670 Likewise.
26671
26672 Add `lsmmap' command (lists firmware-provided memory map):
26673 * commands/lsmmap.c: New file.
26674 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
26675 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
26676 variables.
26677 * conf/powerpc-ieee1275.rmk: Likewise.
26678 * conf/i386-coreboot.rmk: Likewise.
26679 * conf/i386-ieee1275.rmk: Likewise.
26680
26681 2008-11-19 Robert Millan <rmh@aybabtu.com>
26682
26683 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
26684 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
26685 constraints to initrd allocation (based on code from
26686 loader/i386/pc/linux.c). Without them, initrd was allocated too high
26687 for Linux to find it.
26688
26689 2008-11-14 Robert Millan <rmh@aybabtu.com>
26690
26691 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
26692 order to cope with duplicate slashes.
26693
26694 2008-11-14 Robert Millan <rmh@aybabtu.com>
26695
26696 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
26697 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
26698 don't want to mess with lower memory, because it is used in the Linux
26699 loader.
26700
26701 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
26702 an appropriate place in lower memory, between 0x10000 and 0x90000,
26703 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
26704 is in our heap (probably as a result of it being corrupted during
26705 decompression). Add #error instance with comment to explain why this
26706 loader isn't currently usable on PC/BIOS.
26707
26708 2008-11-14 Robert Millan <rmh@aybabtu.com>
26709
26710 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
26711 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
26712
26713 2008-11-12 Robert Millan <rmh@aybabtu.com>
26714
26715 Make loader/i386/linux.c buildable on i386-pc (although disabled).
26716
26717 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
26718 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
26719 from here ...
26720 * include/grub/i386/pc/memory.h: ... to here.
26721
26722 2008-11-12 Robert Millan <rmh@aybabtu.com>
26723
26724 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
26725 split).
26726
26727 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
26728 (grub_console_cur_color, grub_console_real_putchar)
26729 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26730 (grub_console_setcolorstate, grub_console_setcolor)
26731 (grub_console_getcolor): Move from here ...
26732 * include/grub/i386/vga_common.h: ... to here (new file).
26733
26734 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
26735 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
26736 `<grub/i386/io.h>'.
26737 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
26738 `<grub/i386/vga_common.h>'.
26739
26740 2008-11-12 Robert Millan <rmh@aybabtu.com>
26741
26742 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
26743 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
26744 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
26745 variables.
26746 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26747 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
26748
26749 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
26750 grub_console_init() with call to grub_vga_text_init().
26751 (grub_machine_fini): Replace call to
26752 grub_console_fini() with call to grub_vga_text_fini() and
26753 grub_at_keyboard_fini().
26754
26755 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
26756 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26757 (grub_console_setcolorstate, grub_console_setcolor)
26758 (grub_console_getcolor): New function prototypes.
26759
26760 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
26761 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
26762 (grub_vga_text_setcursor): Static-ize.
26763 (grub_vga_text_term): New structure.
26764 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
26765
26766 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
26767 (grub_console_cur_color, grub_console_standard_color)
26768 (grub_console_normal_color, grub_console_highlight_color)
26769 (map_char, grub_console_putchar, grub_console_getcharwidth)
26770 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
26771 (grub_console_getcolor): Move from here ...
26772 * term/i386/vga_common.c: ... to here (same function names).
26773
26774 2008-11-12 Robert Millan <rmh@aybabtu.com>
26775
26776 Use newly-added Multiboot support in coreboot.
26777
26778 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26779 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
26780
26781 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
26782 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
26783 (codestart): Store the MBI in `startup_multiboot_info' when we're
26784 being loaded using Multiboot.
26785
26786 * kern/i386/coreboot/init.c (grub_machine_init): Move
26787 grub_at_keyboard_init() call to beginning of function (useful for
26788 debugging). Call grub_machine_mmap_init() before attempting to use
26789 grub_machine_mmap_iterate().
26790 (grub_lower_mem, grub_upper_mem): Move from here ...
26791 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
26792 here (new file).
26793
26794 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
26795 function prototype.
26796
26797 2008-11-12 Robert Millan <rmh@aybabtu.com>
26798
26799 Fix a regression introduced by the at_keyboard.mod split. Because
26800 some terminals are default on some platforms and non-default on
26801 others, the first terminal being registered determines which is
26802 going to be default.
26803
26804 * kern/term.c (grub_term_register_input): If this is the first
26805 terminal being registered, set it as the current one.
26806 (grub_term_register_output): Likewise.
26807
26808 * term/efi/console.c (grub_console_init): Do not call
26809 grub_term_set_current_output() or grub_term_set_current_input().
26810 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
26811 * term/i386/pc/console.c (grub_console_init): Likewise.
26812 (grub_console_fini): Do not call grub_term_set_current_input()
26813 (but leave grub_term_set_current_output() to restore text mode).
26814
26815 2008-11-10 Robert Millan <rmh@aybabtu.com>
26816
26817 * util/grub.d/00_header.in: Add backward compatibility check for
26818 versions of terminal.mod that don't understand `terminal_input' or
26819 `terminal_output'.
26820
26821 2008-11-09 Robert Millan <rmh@aybabtu.com>
26822
26823 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
26824 `terminal_input' / `terminal_output', not `terminal'.
26825
26826 2008-11-08 Robert Millan <rmh@aybabtu.com>
26827
26828 * Makefile.in (include_DATA): Fix srcdir=. assumption.
26829 (DISTCLEANFILES): Add `build_env.mk'.
26830
26831 2008-11-08 Robert Millan <rmh@aybabtu.com>
26832
26833 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
26834 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26835 members. Update all users.
26836 * util/console.c (grub_ncurses_term): Split in ...
26837 (grub_ncurses_term_input): ... this, and ...
26838 (grub_ncurses_term_output): ... this. Update all users.
26839 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
26840
26841 2008-11-08 Robert Millan <rmh@aybabtu.com>
26842
26843 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
26844 (PKGDATA): Add $(pkgdata_SRCDIR).
26845 (pkglib_BUILDDIR): New variable.
26846 (pkgdata_SRCDIR): New variable.
26847 (build_env.mk): New target.
26848 (include_DATA): New variable.
26849 (install-local): Install $(include_DATA) files in $(includedir).
26850
26851 2008-11-07 Pavel Roskin <proski@gnu.org>
26852
26853 * gendistlist.sh: Use C locale for sorting to ensure consistent
26854 output on all systems.
26855
26856 * util/grub.d/00_header.in: Remove incorrect space before
26857 "serial".
26858
26859 2008-11-07 Robert Millan <rmh@aybabtu.com>
26860
26861 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
26862 per specification.
26863 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
26864 * loader/multiboot_loader.c (find_multi_boot2_header): New function
26865 (based on find_multi_boot1_header).
26866 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
26867 using find_multi_boot2_header(), and abort if neither Multiboot or
26868 Multiboot headers were found.
26869
26870 2008-11-07 Robert Millan <rmh@aybabtu.com>
26871
26872 Modularize at_keyboard.mod:
26873
26874 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
26875 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26876 (at_keyboard_mod_LDFLAGS): New variables.
26877
26878 Actual terminal split:
26879
26880 * include/grub/term.h (struct grub_term): Split in ...
26881 (struct grub_term_input): ... this, and ...
26882 (struct grub_term_output): ... this. Update all users.
26883 (grub_term_set_current): Split in ...
26884 (grub_term_set_current_input): ... this, and ...
26885 (grub_term_set_current_output): ... this.
26886 (grub_term_get_current): Split in ...
26887 (grub_term_get_current_input): ... this, and ...
26888 (grub_term_get_current_output): ... this.
26889 (grub_term_register): Split in ...
26890 (grub_term_register_input): ... this, and ...
26891 (grub_term_register_output): ... this.
26892 (grub_term_unregister): Split in ...
26893 (grub_term_unregister_input): ... this, and ...
26894 (grub_term_unregister_output): ... this.
26895 (grub_term_iterate): Split in ...
26896 (grub_term_iterate_input): ... this, and ...
26897 (grub_term_iterate_output): ... this.
26898
26899 * kern/term.c (grub_term_list): Split in ...
26900 (grub_term_list_input): ... this, and ...
26901 (grub_term_list_output): ... this. Update all users.
26902 (grub_cur_term): Split in ...
26903 (grub_cur_term_input): ... this, and ...
26904 (grub_cur_term_output): ... this. Update all users.
26905 (grub_term_set_current): Split in ...
26906 (grub_term_set_current_input): ... this, and ...
26907 (grub_term_set_current_output): ... this.
26908 (grub_term_get_current): Split in ...
26909 (grub_term_get_current_input): ... this, and ...
26910 (grub_term_get_current_output): ... this.
26911 (grub_term_register): Split in ...
26912 (grub_term_register_input): ... this, and ...
26913 (grub_term_register_output): ... this.
26914 (grub_term_unregister): Split in ...
26915 (grub_term_unregister_input): ... this, and ...
26916 (grub_term_unregister_output): ... this.
26917 (grub_term_iterate): Split in ...
26918 (grub_term_iterate_input): ... this, and ...
26919 (grub_term_iterate_output): ... this.
26920
26921 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
26922 a check for input and one for output (and only attempt to get keys
26923 from user when input works).
26924
26925 * util/grub-probe.c (grub_term_get_current): Split in ...
26926 (grub_term_get_current_input): ... this, and ...
26927 (grub_term_get_current_output): ... this.
26928 * util/grub-fstest.c: Likewise.
26929 * util/i386/pc/grub-setup.c: Likewise.
26930 * util/grub-editenv.c: Likewise.
26931
26932 Portability adjustments:
26933
26934 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
26935 `term/i386/pc/at_keyboard.c'.
26936 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
26937 grub_keyboard_controller_init() (now handled by terminal .init).
26938 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
26939 grub_at_keyboard_init().
26940 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
26941 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
26942 at_keyboard.mod via input terminal interface).
26943 * include/grub/i386/coreboot/console.h: Convert into a stub for
26944 `<grub/i386/pc/console.h>'.
26945
26946 Migrate full terminals to new API:
26947
26948 * term/efi/console.c (grub_console_term): Split into ...
26949 (grub_console_term_input): ... this, and ...
26950 (grub_console_term_output): ... this. Update all users.
26951 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
26952 (grub_ofconsole_init): Split into ...
26953 (grub_ofconsole_init_input): ... this, and ...
26954 (grub_ofconsole_init_output): ... this.
26955 (grub_ofconsole_term): Split into ...
26956 (grub_ofconsole_term_input): ... this, and ...
26957 (grub_ofconsole_term_output): ... this. Update all users.
26958 * term/i386/pc/serial.c (grub_serial_term): Split into ...
26959 (grub_serial_term_input): ... this, and ...
26960 (grub_serial_term_output): ... this. Update all users.
26961 * term/i386/pc/console.c (grub_console_term): Split into ...
26962 (grub_console_term_input): ... this, and ...
26963 (grub_console_term_output): ... this. Update all users.
26964 (grub_console_term_input): Only enable it on PC/BIOS platform.
26965 (grub_console_init): Remove grub_keyboard_controller_init() call.
26966
26967 Migrate input terminals to new API:
26968
26969 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
26970 `i386' and `i386/pc' to enable build on x86_64 (this driver is
26971 i386-specific anyway).
26972 (grub_console_checkkey): Rename to ...
26973 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
26974 users.
26975 (grub_keyboard_controller_orig): New variable.
26976 (grub_console_getkey): Rename to ...
26977 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
26978 users.
26979 (grub_keyboard_controller_init): Static-ize. Save original
26980 controller value so that it can be restored ...
26981 (grub_keyboard_controller_fini): ... here (new function).
26982 (grub_at_keyboard_term): New structure.
26983 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
26984 functions.
26985
26986 Migrate output terminals to new API:
26987
26988 * term/i386/pc/vga.c (grub_vga_term): Change type to
26989 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26990 members. Update all users.
26991 * term/gfxterm.c (grub_video_term): Change type to
26992 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26993 members. Update all users.
26994 * include/grub/i386/pc/console.h (grub_console_checkkey)
26995 (grub_console_getkey): Do not export (no longer needed by gfxterm,
26996 etc).
26997
26998 Migrate `terminal' command and userland tools to new API:
26999
27000 * commands/terminal.c (grub_cmd_terminal): Split into ...
27001 (grub_cmd_terminal_input): ... this, and ...
27002 (grub_cmd_terminal_output): ... this.
27003 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
27004 `terminal_input' and `terminal_output'.
27005 * util/grub.d/00_header.in: Adjust `terminal' calls to new
27006 `terminal_input' / `terminal_output' API.
27007 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
27008 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
27009 provided ${GRUB_TERMINAL}, convert it).
27010
27011 2008-11-04 Robert Millan <rmh@aybabtu.com>
27012
27013 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
27014 for FreeBSD.
27015 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
27016
27017 2008-11-03 Bean <bean123ch@gmail.com>
27018
27019 * kern/elf.c (grub_elf32_load): Revert to previous code.
27020 (grub_elf64_load): Likewise.
27021
27022 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
27023
27024 2008-11-01 Robert Millan <rmh@aybabtu.com>
27025
27026 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
27027 (TARGET_CPPFLAGS): Likewise.
27028 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
27029
27030 2008-11-01 Carles Pina i Estany <carles@pina.cat>
27031
27032 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
27033
27034 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27035
27036 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
27037 addition of objects until the code is not going to be able to fail.
27038
27039 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
27040
27041 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
27042 (add a missing NULL check, and correct them by moving the pointer
27043 operations after the actual check).
27044
27045 2008-10-29 Robert Millan <rmh@aybabtu.com>
27046
27047 * util/i386/pc/grub-install.in: Handle empty string as output from
27048 make_system_path_relative_to_its_root().
27049
27050 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27051
27052 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27053 circular metadata worst case scenario. If the metadata is circular
27054 then copy the wrap in place.
27055 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27056 project lib/format_text/layout.h
27057 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27058
27059 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27060
27061 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
27062
27063 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
27064
27065 * util/update-grub_lib.in: Mention filename in warning message.
27066
27067 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27068
27069 * NEWS: Update for rename of update-grub to grub-mkconfig.
27070
27071 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
27072
27073 * util/update-grub_lib.in: Copy to ...
27074 * util/grub-mkconfig_lib.in: ... this. Update all users.
27075 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
27076 * util/update-grub.in: Rename to ...
27077 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27078 option. Add `--output' option to allow users to specify the generated
27079 configuration file. Default to stdout.
27080 (update_grub_dir): Rename to ...
27081 (grub_mkconfig_dir): ... this.
27082 (grub_cfg): Default to an empty string.
27083 * conf/common.rmk (update-grub): Rename to ...
27084 (grub-mkconfig): ... this.
27085 (update-grub_lib): Copy to ...
27086 (grub-mkconfig_lib): ... this.
27087 (update-grub_SCRIPTS): Copy to ...
27088 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27089 (update-grub_DATA): Rename to ...
27090 (grub-mkconfig_DATA): ... this.
27091
27092 2008-09-28 Robert Millan <rmh@aybabtu.com>
27093
27094 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27095 to `modified'. Add the real `created' field.
27096 (grub_iso9660_uuid): Use `modified' rather than `created' for
27097 constructing the UUID.
27098
27099 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
27100
27101 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27102 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27103
27104 2008-09-28 Bean <bean123ch@gmail.com>
27105
27106 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27107 Thanks to Christian Franke for finding this bug.
27108
27109 2008-09-25 Robert Millan <rmh@aybabtu.com>
27110
27111 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27112 instances of grub_util_get_disk_name() (see previous commit).
27113
27114 2008-09-25 Robert Millan <rmh@aybabtu.com>
27115
27116 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27117 `util/i386/get_disk_name.c'.
27118 * conf/i386-efi.rmk: Likewise.
27119 * conf/x86_64-efi.rmk: Likewise.
27120 * conf/i386-coreboot.rmk: Likewise.
27121 * conf/i386-ieee1275.rmk: Likewise.
27122 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27123 `util/ieee1275/get_disk_name.c'.
27124 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27125 * util/ieee1275/get_disk_name.c: Remove file.
27126 * util/i386/get_disk_name.c: Remove file.
27127 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27128 "hd%d" for device.map entries, rather than using
27129 grub_util_get_disk_name().
27130
27131 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27132
27133 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27134 warning.
27135 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27136
27137 2008-09-24 Carles Pina i Estany <carles@pina.cat>
27138
27139 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27140 Changed to 0x5100.
27141 (GRUB_TERM_PPAGE): Changed to 0x4900.
27142
27143 2008-09-24 Robert Millan <rmh@aybabtu.com>
27144
27145 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27146 macros (they were i386-pc specific).
27147 * include/grub/sparc64/ieee1275/console.h: Likewise.
27148 * include/grub/efi/console.h: Likewise.
27149
27150 2008-09-22 Bean <bean123ch@gmail.com>
27151
27152 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27153 resident and in attribute list.
27154
27155 * include/grub/ntfs.h (BMP_LEN): Removed.
27156
27157 2008-09-22 Bean <bean123ch@gmail.com>
27158
27159 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
27160 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27161
27162 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27163 error occurs, as grub_disk_open will call grub_disk_close, which will
27164 call p->close (scsi).
27165
27166 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27167
27168 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27169 (AC_PREREQ): Bumped to 2.59.
27170 (AC_TRY_COMPILE): Replace obsolete macro with ...
27171 (AC_COMPILE_IFELSE): ... this.
27172 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27173 (AC_LINK_IFELSE): ... this.
27174
27175 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
27176
27177 * autogen.sh: Add a call to `gendistlist.sh'.
27178
27179 2008-09-19 Christian Franke <franke@computer.org>
27180
27181 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27182 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27183 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27184 Export __enable_execute_stack() to modules.
27185 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27186 New function.
27187
27188 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27189
27190 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27191 Sort the list.
27192
27193 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
27194
27195 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
27196 #include <grub/util/hostdisk.h>.
27197
27198 2008-09-08 Robert Millan <rmh@aybabtu.com>
27199
27200 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27201 segments when their filesz is zero (grub_file_read() interprets
27202 zero-size as "read until EOF", which results in memory corruption).
27203 Use `lowest_segment' rather than 0 for calculating the current
27204 segment load address.
27205
27206 2008-09-08 Robert Millan <rmh@aybabtu.com>
27207
27208 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27209 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27210 clobbered useful information.
27211
27212 2008-09-08 Robert Millan <rmh@aybabtu.com>
27213
27214 * include/grub/util/biosdisk.h: Move to ...
27215 * include/grub/util/hostdisk.h: ... here. Update all users.
27216 * util/biosdisk.c: Move to ...
27217 * util/hostdisk.c: ... here. Update all users.
27218
27219 2008-09-07 Robert Millan <rmh@aybabtu.com>
27220
27221 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27222 variables.
27223 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27224 and length can be stored directly in the `mbi->mmap_addr' and
27225 `mbi->mmap_length' struct fields.
27226
27227 2008-09-07 Robert Millan <rmh@aybabtu.com>
27228
27229 * conf/i386.rmk: New file. Provides declaration for building
27230 `cpuid.mod'.
27231 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27232 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27233 variables.
27234 Include `conf/i386.mk'.
27235 * conf/i386-efi.rmk: Likewise.
27236 * conf/x86_64-efi.rmk: Likewise.
27237 * conf/i386-coreboot.rmk: Likewise.
27238 * conf/i386-ieee1275.rmk: Likewise.
27239
27240 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27241
27242 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27243 Adds optimization support for BGR based modes.
27244
27245 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27246 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27247 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27248 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27249 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27250 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27251 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27252 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27253 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27254 (grub_video_i386_vbeblit_index_index): Likewise.
27255 (grub_video_i386_vbeblit_replace_directN): Added.
27256 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27257 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27258 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27259 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27260 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27261 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27262 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27263 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27264 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27265 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27266 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27267 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27268 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27269
27270 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27271 (grub_video_i386_vbefill_R8G8B8): Likewise.
27272 (grub_video_i386_vbefill_index): Likewise.
27273 (grub_video_i386_vbefill_direct32): Added.
27274 (grub_video_i386_vbefill_direct24): Likewise.
27275 (grub_video_i386_vbefill_direct16): Likewise.
27276 (grub_video_i386_vbefill_direct8): Likewise.
27277
27278 * include/grub/video.h (grub_video_blit_format): Removed
27279 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27280 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27281 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27282 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27283 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
27284
27285 * video/video.c (grub_video_get_blit_format): Updated to use new
27286 blit formats. Added handling for 16 bit color modes.
27287
27288 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
27289 fillers.
27290 (common_blitter): Updated to use new blitters.
27291
27292 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27293 Removed.
27294 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27295 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27296 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27297 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27298 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27299 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27300 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27301 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27302 (grub_video_i386_vbeblit_index_index): Likewise.
27303 (grub_video_i386_vbeblit_replace_directN): Added.
27304 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27305 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27306 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27307 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27308 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27309 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27310 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27311 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27312 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27313 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27314 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27315 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27316 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27317
27318 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27319 (grub_video_i386_vbefill_R8G8B8): Likewise.
27320 (grub_video_i386_vbefill_index): Likewise.
27321 (grub_video_i386_vbefill_direct32): Added.
27322 (grub_video_i386_vbefill_direct24): Likewise.
27323 (grub_video_i386_vbefill_direct16): Likewise.
27324 (grub_video_i386_vbefill_direct8): Likewise.
27325
27326 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27327 types.
27328
27329 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27330 types.
27331
27332 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27333 blitter types.
27334
27335 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27336 types.
27337
27338 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27339
27340 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27341 RAID level 1.
27342
27343 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
27344
27345 * fs/iso9660.c (grub_iso9660_date): New structure.
27346 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27347 (grub_iso9660_uuid): New function.
27348
27349 2008-09-05 Bean <bean123ch@gmail.com>
27350
27351 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27352
27353 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27354 insensitive bit for names in Win32 and Win32 & DOS namespace.
27355
27356 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27357
27358 * include/grub/types.h (LONG_MAX): Likewise.
27359
27360 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27361
27362 * util/getroot.c: Include <config.h>.
27363 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27364 add support for /dev/md/N devices and handle LVM double dash escaping.
27365
27366 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
27367
27368 * config.guess: Update to latest version from config git.
27369 * config.sub: Likewise.
27370
27371 2008-09-03 Robert Millan <rmh@aybabtu.com>
27372
27373 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27374 `disk->total_sectors'.
27375
27376 2008-09-01 Colin D Bennett <colin@gibibit.com>
27377
27378 * include/grub/normal.h: Fixed incorrect comment for
27379 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27380
27381 2008-09-01 Colin D Bennett <colin@gibibit.com>
27382
27383 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27384 values with defines.
27385
27386 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27387 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27388 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27389 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27390 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27391 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27392 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27393 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27394 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27395 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27396 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27397 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27398 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27399 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27400 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27401 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27402 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27403 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27404 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27405
27406 2008-08-31 Robert Millan <rmh@aybabtu.com>
27407
27408 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27409 declaration.
27410 (grub_multiboot): Fix a few warnings.
27411
27412 2008-08-31 Robert Millan <rmh@aybabtu.com>
27413
27414 * loader/i386/pc/multiboot.c: Update comment not to say that
27415 boot_device support is unimplemented.
27416
27417 2008-08-31 Robert Millan <rmh@aybabtu.com>
27418
27419 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27420 or memory map support are unimplemented.
27421
27422 2008-08-31 Colin D Bennett <colin@gibibit.com>
27423
27424 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27425
27426 2008-08-31 Colin D Bennett <colin@gibibit.com>
27427
27428 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27429 total video memory in 'vbeinfo' output; show color format details for
27430 each video mode.
27431
27432 2008-08-30 Pavel Roskin <proski@gnu.org>
27433
27434 * util/genmoddep.c: Remove for real this time.
27435 * DISTLIST: Remove util/genmoddep.c.
27436
27437 2008-08-30 Robert Millan <rmh@aybabtu.com>
27438
27439 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27440 as required by Multiboot spec (it was already 4-byte aligned, but
27441 only by chance).
27442
27443 2008-08-29 Pavel Roskin <proski@gnu.org>
27444
27445 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27446 * kern/powerpc/ieee1275/startup.S: ... this.
27447 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27448 * DISTLIST: Likewise.
27449
27450 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27451 grub/cpu/kernel.h. Add start label for consistency with other
27452 platforms. Add grub_prefix immediately after start. Add jump
27453 to the code after grub_prefix.
27454 * include/grub/powerpc/kernel.h: Provide valid values for
27455 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27456
27457 2008-08-29 Bean <bean123ch@gmail.com>
27458
27459 * configure.ac: Change host_os to cygwin for mingw.
27460 (asprintf): New check for function.
27461
27462 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27463 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27464
27465 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
27466 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
27467 sync, sleep and grub_util_get_disk_size for mingw.
27468
27469 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27470 to get size in mingw.
27471 (open_device): Use flag O_BINARY if it's defined.
27472 (find_root_device): Add dummy code for mingw.
27473
27474 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27475 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27476 (get_scsi_disk_name): Return 0 for mingw.
27477
27478 * util/hostfs.c: #include <grub/util/misc.h>.
27479 (grub_hostfs_open): Use "rb" flag to open file, use
27480 grub_util_get_disk_size to get disk size for mingw.
27481
27482 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27483 (asprintf): New function if HAVE_ASPRINTF is not set.
27484 (sync): New function for mingw.
27485 (sleep): Likewise.
27486 (grub_util_get_disk_size): Likewise.
27487
27488 2008-08-28 Pavel Roskin <proski@gnu.org>
27489
27490 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27491 kern/time.c.
27492
27493 2008-08-28 Robert Millan <rmh@aybabtu.com>
27494
27495 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27496
27497 2008-08-28 Robert Millan <rmh@aybabtu.com>
27498
27499 Change find_grub_drive() syntax so it doesn't prevent it from
27500 detecting NULL names as errors.
27501
27502 * util/biosdisk.c (find_grub_drive): Move free slot search code
27503 from here ...
27504 (find_free_slot): ... to here.
27505 (read_device_map): Use find_free_slot() to search for free slots.
27506
27507 2008-08-27 Marco Gerards <marco@gnu.org>
27508
27509 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27510 (scsi_mod_SOURCES): New variable.
27511 (scsi_mod_CFLAGS): Likewise
27512 (scsi_mod_LDFLAGS): Likewise.
27513
27514 * disk/scsi.c: New file.
27515
27516 * include/grub/scsi.h: Likewise.
27517
27518 * include/grub/scsicmd.h: Likewise.
27519
27520 * disk/ata.c: Include <grub/scsi.h>.
27521 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27522 instead.
27523 (grub_ata_iterate): Skip ATAPI devices.
27524 (grub_ata_open): Only handle ATAPI devices.
27525 (struct grub_atapi_read): Removed.
27526 (grub_atapi_readsector): Likewise.
27527 (grub_ata_read): No longer handle ATAPI devices.
27528 (grub_ata_write): Likewise.
27529 (grub_atapi_iterate): New function.
27530 (grub_atapi_read): Likewise.
27531 (grub_atapi_write): Likewise.
27532 (grub_atapi_open): Likewise.
27533 (grub_atapi_close): Likewise.
27534 (grub_atapi_dev): New variable.
27535 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27536 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27537
27538 * include/grub/disk.h (enum grub_disk_dev_id): Add
27539 `GRUB_DISK_DEVICE_SCSI_ID'.
27540
27541 2008-08-26 Robert Millan <rmh@aybabtu.com>
27542
27543 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27544 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27545 descriptive.
27546
27547 2008-08-23 Bean <bean123ch@gmail.com>
27548
27549 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27550 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27551 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27552 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27553 dm_nv.mod.
27554 (raid5rec_mod_SOURCES): New macro.
27555 (raid5rec_mod_CFLAGS): Likewise.
27556 (raid5rec_mod_LDFLAGS): Likewise.
27557 (raid6rec_mod_SOURCES): Likewise.
27558 (raid6rec_mod_CFLAGS): Likewise.
27559 (raid6rec_mod_LDFLAGS): Likewise.
27560 (mdraid_mod_SOURCES): Likewise.
27561 (mdraid_mod_CFLAGS): Likewise.
27562 (mdraid_mod_LDFLAGS): Likewise.
27563 (dm_nv_mod_SOURCES): Likewise.
27564 (dm_nv_mod_CFLAGS): Likewise.
27565 (dm_nv_mod_LDFLAGS): Likewise.
27566
27567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27568 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27569 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27570
27571 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27572 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27573
27574 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27575
27576 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27577
27578 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27579
27580 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27581
27582 * disk/raid5_recover.c: New file.
27583
27584 * disk/raid6_recover.c: Likewise.
27585
27586 * disk/mdraid_linux.c: Likewise.
27587
27588 * disk/dmraid_nvidia.c: Likewise.
27589
27590 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27591 ULONG_MAX.
27592
27593 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27594 calculate the size of raid device.
27595 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27596 different layout of raid5.
27597 (grub_raid_scan_device): Remove code specific to mdraid.
27598 (grub_raid_list): New variable.
27599 (free_array): New function.
27600 (grub_raid_register): Likewise.
27601 (grub_raid_unregister): Likewise.
27602 (grub_raid_rescan): Likewise.
27603 (GRUB_MOD_INIT): Don't iterate device here.
27604 (GRUB_MOD_FINI): Use free_array to release resource.
27605
27606 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27607 (grub_raid5_recover_func_t): New function variable type.
27608 (grub_raid6_recover_func_t): Likewise.
27609 (grub_raid5_recover_func): New variable.
27610 (grub_raid6_recover_func): Likewise.
27611 (grub_raid_register): New function.
27612 (grub_raid_unregister): Likewise.
27613 (grub_raid_rescan): Likewise.
27614 (grub_raid_block_xor): Likewise.
27615
27616 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27617 (CMD_CRC): New macro.
27618 (part): Removed.
27619 (read_file): Handle device as well as file.
27620 (cmd_crc): New function.
27621 (fstest): Handle multiple disks.
27622 (options): Remove part, raw and long, add root and diskcount.
27623 (usage): Add crc, remove -p, -r, -l, add -r and -c.
27624 (main): Find the first non option entry and ignore subsequent options,
27625 add handling for the new options, support multiple disks.
27626
27627 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27628
27629 2008-08-23 Bean <bean123ch@gmail.com>
27630
27631 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27632
27633 * genfslist.sh: Ignore kernel.mod.
27634
27635 * genpartmaplist.sh: Likewise.
27636
27637 2008-08-23 Robert Millan <rmh@aybabtu.com>
27638
27639 * util/getroot.c (find_root_device): Skip anything that starts with
27640 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27641
27642 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
27643
27644 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27645 * util/grub.d/00_header.in: Allow the administrator to change default
27646 gfxmode via ${GRUB_GFXMODE}.
27647
27648 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
27649
27650 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27651
27652 2008-08-21 Robert Millan <rmh@aybabtu.com>
27653
27654 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27655 loader.
27656 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27657 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27658
27659 2008-08-20 Carles Pina i Estany <carles@pina.cat>
27660
27661 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27662 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27663
27664 2008-08-19 Robert Millan <rmh@aybabtu.com>
27665
27666 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27667 (struct grub_virtual_screen): Remove `cursor_color'.
27668 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27669 initialization.
27670 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27671
27672 2008-08-18 Robert Millan <rmh@aybabtu.com>
27673
27674 Unify (identical) linux_normal.c files.
27675 * loader/i386/efi/linux_normal.c: Move from here ...
27676 * loader/linux_normal.c: ... to here. Update all users.
27677 * loader/i386/pc/linux_normal.c: Delete. Update all users.
27678 * loader/i386/ieee1275/linux_normal.c: Likewise.
27679
27680 2008-08-18 Robert Millan <rmh@aybabtu.com>
27681
27682 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
27683 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
27684 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
27685 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
27686 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
27687 New macros.
27688 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
27689 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
27690 (GRUB_LINUX_CL_END_OFFSET): ... to here.
27691 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
27692 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
27693 (GRUB_EFI_CL_END_OFFSET): Rename to ...
27694 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
27695 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
27696 Initialize `params->video_cursor_x' and `params->video_cursor_y'
27697 portably using grub_getxy().
27698 Replace `-EFI' with `-bzImage' in boot message.
27699
27700 2008-08-17 Robert Millan <rmh@aybabtu.com>
27701
27702 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
27703
27704 2008-08-17 Robert Millan <rmh@aybabtu.com>
27705
27706 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
27707
27708 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
27709 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
27710 (grub_machine_mmap_iterate): New function declaration.
27711 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
27712 structure.
27713 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
27714 macros.
27715
27716 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
27717 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
27718 Move e820 parsing from here ...
27719 * kern/i386/pc/mmap.c: New file.
27720 (grub_machine_mmap_iterate): ... to here.
27721
27722 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
27723 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
27724 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
27725 (grub_available_iterate): Redeclare to return `void', and redeclare
27726 its hook to use grub_uint64_t as addr and size parameters, and rename
27727 to ...
27728 (grub_machine_mmap_iterate): ... this. Update all users.
27729
27730 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
27731 to make it more readable. Rename to ...
27732 (grub_machine_mmap_iterate): ... this.
27733
27734 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
27735 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
27736 (grub_multiboot): Allocate an extra region after the payload, and fill
27737 it with a Multiboot memory map. Adjust a.out loader to calculate size
27738 with the extra space.
27739 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
27740 with the extra space.
27741
27742 2008-08-17 Carles Pina i Estany <carles@pina.cat>
27743
27744 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
27745
27746 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
27747
27748 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
27749 mdate-sh to the list `find' searches for.
27750 * DISTLIST: Regenerated.
27751
27752 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
27753
27754 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
27755 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
27756 genmoddep.awk, gensymlist.sh.in.
27757 (DISTDIRS): Add bus, docs, hook, lib.
27758 * DISTLIST: Regenerated.
27759 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
27760
27761 2008-08-16 Robert Millan <rmh@aybabtu.com>
27762
27763 * disk/raid.c (grub_raid_init): Handle/report errors set by
27764 grub_device_iterate().
27765 * disk/lvm.c (grub_lvm_init): Likewise.
27766
27767 2008-08-15 Bean <bean123ch@gmail.com>
27768
27769 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27770 and datehook.mod.
27771 (datetime_mod_SOURCES): New macro.
27772 (datetime_mod_CFLAGS): Likewise.
27773 (datetime_mod_LDFLAGS): Likewise.
27774 (date_mod_SOURCES): Likewise.
27775 (date_mod_CFLAGS): Likewise.
27776 (date_mod_LDFLAGS): Likewise.
27777 (datehook_mod_SOURCES): Likewise.
27778 (datehook_mod_CFLAGS): Likewise.
27779 (datehook_mod_LDFLAGS): Likewise.
27780
27781 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27782 and datehook.mod.
27783 (datetime_mod_SOURCES): New macro.
27784 (datetime_mod_CFLAGS): Likewise.
27785 (datetime_mod_LDFLAGS): Likewise.
27786 (date_mod_SOURCES): Likewise.
27787 (date_mod_CFLAGS): Likewise.
27788 (date_mod_LDFLAGS): Likewise.
27789 (datehook_mod_SOURCES): Likewise.
27790 (datehook_mod_CFLAGS): Likewise.
27791 (datehook_mod_LDFLAGS): Likewise.
27792
27793 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27794 and datehook.mod.
27795 (datetime_mod_SOURCES): New macro.
27796 (datetime_mod_CFLAGS): Likewise.
27797 (datetime_mod_LDFLAGS): Likewise.
27798 (date_mod_SOURCES): Likewise.
27799 (date_mod_CFLAGS): Likewise.
27800 (date_mod_LDFLAGS): Likewise.
27801 (datehook_mod_SOURCES): Likewise.
27802 (datehook_mod_CFLAGS): Likewise.
27803 (datehook_mod_LDFLAGS): Likewise.
27804
27805 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27806 and datehook.mod.
27807 (datetime_mod_SOURCES): New macro.
27808 (datetime_mod_CFLAGS): Likewise.
27809 (datetime_mod_LDFLAGS): Likewise.
27810 (date_mod_SOURCES): Likewise.
27811 (date_mod_CFLAGS): Likewise.
27812 (date_mod_LDFLAGS): Likewise.
27813 (datehook_mod_SOURCES): Likewise.
27814 (datehook_mod_CFLAGS): Likewise.
27815 (datehook_mod_LDFLAGS): Likewise.
27816
27817 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27818 and datehook.mod.
27819 (datetime_mod_SOURCES): New macro.
27820 (datetime_mod_CFLAGS): Likewise.
27821 (datetime_mod_LDFLAGS): Likewise.
27822 (date_mod_SOURCES): Likewise.
27823 (date_mod_CFLAGS): Likewise.
27824 (date_mod_LDFLAGS): Likewise.
27825 (datehook_mod_SOURCES): Likewise.
27826 (datehook_mod_CFLAGS): Likewise.
27827 (datehook_mod_LDFLAGS): Likewise.
27828
27829 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
27830
27831 * commands/date.c: New file.
27832
27833 * hook/datehook.c: Likewise.
27834
27835 * include/grub/lib/datetime.h: Likewise.
27836
27837 * include/grub/i386/cmos.h: Likewise.
27838
27839 * lib/datetime.c: Likewise.
27840
27841 * lib/i386/datetime.c: Likewise.
27842
27843 * lib/efi/datetime.c: Likewise.
27844
27845 2008-08-14 Robert Millan <rmh@aybabtu.com>
27846
27847 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
27848 (grub_mkelfimage_SOURCES): New variable.
27849 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
27850
27851 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
27852 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
27853 * conf/powerpc-ieee1275.rmk: Likewise.
27854 * conf/i386-ieee1275.rmk: Likewise.
27855
27856 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
27857 * kern/i386/coreboot/init.c: Likewise.
27858
27859 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
27860 with `<grub/cpu/kernel.h>'.
27861 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
27862 to ...
27863 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
27864 * kern/i386/coreboot/startup.S: Likewise.
27865
27866 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
27867 (GRUB_MOD_GAP): Remove.
27868 * include/grub/powerpc/kernel.h: New file.
27869 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
27870 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27871 * include/grub/i386/kernel.h: New file.
27872 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
27873 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
27874 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27875
27876 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
27877 `grub-mkelfimage'.
27878 Use --directory when invoking grub_mkimage.
27879
27880 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
27881 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
27882 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
27883 and GRUB_KERNEL_CPU_PREFIX.
27884
27885 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
27886
27887 * include/grub/err.h (grub_err_printf): New function prototype.
27888 * util/misc.c (grub_err_printf): New function.
27889 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
27890 grub_printf.
27891 * kern/err.c (grub_print_error): Use grub_err_printf.
27892
27893 2008-08-13 Robert Millan <rmh@aybabtu.com>
27894
27895 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
27896
27897 2008-08-13 Robert Millan <rmh@aybabtu.com>
27898
27899 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
27900 boot entry.
27901
27902 2008-08-12 Robert Millan <rmh@aybabtu.com>
27903
27904 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
27905 of the relocation code from here ...
27906 (grub_multiboot): ... to here.
27907 (forward_relocator, backward_relocator): Move from here ...
27908 * kern/i386/loader.S (grub_multiboot_forward_relocator)
27909 (grub_multiboot_backward_relocator): ... to here.
27910 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
27911 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
27912 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
27913 (grub_multiboot_forward_relocator_end)
27914 (grub_multiboot_backward_relocator)
27915 (grub_multiboot_backward_relocator_end): New variables.
27916
27917 2008-08-12 Bean <bean123ch@gmail.com>
27918
27919 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
27920
27921 2008-08-11 Robert Millan <rmh@aybabtu.com>
27922
27923 * kern/i386/linuxbios/startup.S: Move from here ...
27924 * kern/i386/coreboot/startup.S: ... to here.
27925
27926 * kern/i386/linuxbios/init.c: Move from here ...
27927 * kern/i386/coreboot/init.c: ... to here.
27928
27929 * kern/i386/linuxbios/table.c: Move from here ...
27930 * kern/i386/coreboot/mmap.c: ... to here.
27931
27932 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
27933
27934 2008-08-11 Robert Millan <rmh@aybabtu.com>
27935
27936 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
27937 errors. Leave it to the upper layer to handle them.
27938
27939 2008-08-09 Christian Franke <franke@computer.org>
27940
27941 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
27942 * conf/common.rmk: Install `grub-pe2elf' only if requested.
27943 Install `grub.d/10_windows' only on Cygwin.
27944 * configure.ac: Add subst of `target_os'.
27945 Check `target_os' also before setting TARGET_OBJ2ELF.
27946 Add `--enable-grub-pe2elf'.
27947
27948 2008-08-08 Robert Millan <rmh@aybabtu.com>
27949
27950 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27951 (grub_last_time): Change type to grub_uint64_t.
27952 (grub_disk_open): Migrate code from to using grub_get_time_ms().
27953 (grub_disk_close): Likewise.
27954
27955 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27956 (run_menu): Migrate code from to using grub_get_time_ms().
27957
27958 * util/misc.c (grub_get_time_ms): New function.
27959
27960 2008-08-08 Marco Gerards <marco@gnu.org>
27961
27962 * disk/ata.c (grub_ata_regget): Change return type to
27963 `grub_uint8_t'.
27964 (grub_ata_regget2): Likewise.
27965 (grub_ata_wait_status): New function.
27966 (grub_ata_wait_busy): Removed function, updated all users to use
27967 `grub_ata_wait_status'.
27968 (grub_ata_wait_drq): Likewise.
27969 (grub_ata_cmd): New function.
27970 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
27971 error handling.
27972 (grub_ata_pio_write): Add error handling.
27973 (grub_atapi_identify): Likewise.
27974 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
27975 handling.
27976 (grub_ata_identify): Use `grub_ata_cmd' and improve error
27977 handling. Actually use the detected registers. Reorder the
27978 detection logic such that it is easier to read.
27979 (grub_ata_pciinit): Do not assign the same ID to each controller.
27980 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
27981 handling.
27982 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
27983
27984 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
27985
27986 2008-08-08 Marco Gerards <marco@gnu.org>
27987
27988 * NEWS: Update.
27989
27990 2008-08-07 Bean <bean123ch@gmail.com>
27991
27992 * include/grub/x86_64/pci.h: New file.
27993
27994 2008-08-07 Christian Franke <franke@computer.org>
27995
27996 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
27997 (TIMER2_GATE): Likewise.
27998 (grub_pit_wait): Add enable/disable of the timer2 gate
27999 bit of port 0x61. This fixes a possible infinite loop.
28000
28001 2008-08-07 Bean <bean123ch@gmail.com>
28002
28003 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
28004 kern/i386/tsc.c and kern/i386/pit.c.
28005
28006 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
28007 x86_64 platform.
28008
28009 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
28010 <grub/i386/tsc.h>.
28011
28012 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
28013
28014 2008-08-07 Bean <bean123ch@gmail.com>
28015
28016 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
28017
28018 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
28019
28020 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
28021 multiple inclusion. Add #include <grub/types.h>.
28022
28023 2008-08-06 Christian Franke <franke@computer.org>
28024
28025 * conf/common.rmk: Build and install `10_windows'.
28026 * util/grub.d/10_windows.in: New script.
28027
28028 2008-08-06 Pavel Roskin <proski@gnu.org>
28029
28030 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
28031
28032 2008-08-06 Robert Millan <rmh@aybabtu.com>
28033
28034 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
28035 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
28036
28037 2008-08-06 Bean <bean123ch@gmail.com>
28038
28039 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
28040 (grub_pxefs_fs_int): Remove dummy definition.
28041 (grub_pxefs_open): Use data->block_size to store the current block
28042 size setting.
28043 (grub_pxefs_read): Use block size stored in data->block_size. As the
28044 value of grub_pxe_blksize can be changed after the file is opened.
28045
28046 2008-08-06 Bean <bean123ch@gmail.com>
28047
28048 * fs/i386/pc/pxe.c (curr_file): new variable.
28049 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28050 require the dummy internal file system anymore.
28051 (grub_pxefs_read): Removed.
28052 (grub_pxefs_close): Likewise.
28053 (grub_pxefs_fs_int): Likewise.
28054 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28055 connection when we switch file.
28056 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28057
28058 2008-08-06 Robert Millan <rmh@aybabtu.com>
28059
28060 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28061 `halt.mod'.
28062 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28063 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28064
28065 * kern/i386/halt.c: New file.
28066 * kern/i386/reboot.c: Likewise.
28067 * include/grub/i386/reboot.h: Likewise.
28068 * include/grub/i386/halt.h: Likewise.
28069
28070 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28071 Include `<grub/cpu/halt.h>'.
28072 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28073 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28074
28075 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28076 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28077 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28078 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28079 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28080 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28081 from here ...
28082 * include/grub/i386/at_keyboard.h: ... to here.
28083
28084 2008-08-05 Robert Millan <rmh@aybabtu.com>
28085
28086 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28087 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28088 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28089 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28090 `kern/generic/millisleep.c'.
28091
28092 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28093 instead of grub_get_rtc().
28094 (grub_tsc_init): Initialize `tsc_boot_time'.
28095
28096 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28097 (grub_machine_init): Use grub_tsc_init() rather than
28098 installing an RTC-based handler via grub_install_get_time_ms().
28099
28100 * kern/i386/pit.c: New file.
28101 * include/grub/i386/pit.h: Likewise.
28102
28103 2008-08-05 Bean <bean123ch@gmail.com>
28104
28105 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28106
28107 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28108 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28109 (pxe_mod_SOURCES): New macro.
28110 (pxe_mod_CFLAGS): Likewise.
28111 (pxe_mod_LDFLAGS): Likewise.
28112 (pxecmd_mod_SOURCES): Likewise.
28113 (pxecmd_mod_CFLAGS): Likewise.
28114 (pxecmd_mod_LDFLAGS): Likewise.
28115
28116 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28117 (grub_pxe_call): Likewise.
28118
28119 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28120
28121 * commands/i386/pc/pxecmd.c: New file.
28122
28123 * fs/i386/pc/pxe.c: Likewise.
28124
28125 * include/grub/i386/pc/pxe.h: Likewise.
28126
28127 2008-08-05 Bean <bean123ch@gmail.com>
28128
28129 * util/console.c (grub_console_cur_color): New variable.
28130 (grub_console_standard_color): Likewise.
28131 (grub_console_normal_color): Likewise.
28132 (grub_console_highlight_color): Likewise.
28133 (color_map): Likewise.
28134 (use_color): Likewise.
28135 (NUM_COLORS): New macro.
28136 (grub_ncurses_setcolorstate): Handle color properly.
28137 (grub_ncurses_setcolor): Don't change color here, just remember the
28138 settings, color will be set in grub_ncurses_setcolorstate.
28139 (grub_ncurses_getcolor): New function.
28140 (grub_ncurses_init): Initialize color pairs.
28141 (grub_ncurses_term): New member grub_ncurses_getcolor.
28142
28143 2008-08-05 Colin D Bennett <colin@gibibit.com>
28144
28145 High resolution timer support. Implemented for x86 CPUs using TSC.
28146 Extracted generic grub_millisleep() so it's linked in only as needed.
28147 This requires a Pentium compatible CPU; if the RDTSC instruction is
28148 not supported, then it falls back on the generic grub_get_time_ms()
28149 implementation that uses the machine's RTC.
28150
28151 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28152 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28153 `kern/generic/millisleep.c'.
28154
28155 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28156 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28157
28158 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28159 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28160
28161 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28162
28163 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28164 `kern/generic/millisleep.c'.
28165
28166 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28167
28168 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28169
28170 * kern/generic/rtc_get_time_ms.c: New file.
28171
28172 * kern/generic/millisleep.c: New file.
28173
28174 * kern/misc.c: Don't include
28175 <kern/time.h> anymore.
28176 (grub_millisleep_generic): Removed.
28177
28178 * commands/sleep.c (grub_interruptible_millisleep): Uses
28179 grub_get_time_ms() instead of grub_get_rtc().
28180
28181 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28182 function.
28183 (grub_cpu_is_cpuid_supported): New inline function.
28184 (grub_cpu_is_tsc_supported): New inline function.
28185 (grub_tsc_init): New function prototype.
28186 (grub_tsc_get_time_ms): New function prototype.
28187
28188 * kern/i386/tsc.c (grub_get_time_ms): New file.
28189
28190 * include/grub/time.h: Include <grub/types.h.
28191 (grub_millisleep_generic): Removed.
28192 (grub_get_time_ms): New prototype.
28193 (grub_install_get_time_ms): New prototype.
28194 (grub_rtc_get_time_ms): New prototype.
28195
28196 * kern/time.c (grub_get_time_ms): New function.
28197 (grub_install_get_time_ms): New function.
28198
28199 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28200 <grub/time.h> anymore.
28201 (grub_millisleep): Removed.
28202 (grub_machine_init): Call grub_tsc_init.
28203
28204 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28205 get_time_ms() implementation.
28206
28207 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28208 (ieee1275_get_time_ms): New function.
28209 (grub_machine_init): Install get_time_ms() implementation.
28210
28211 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28212 (grub_machine_init): Call grub_tsc_init().
28213 (grub_millisleep): Removed.
28214
28215 * kern/ieee1275/init.c (grub_millisleep): Removed.
28216 (grub_machine_init): Install ieee1275_get_time_ms()
28217 implementation.
28218 (ieee1275_get_time_ms): New function.
28219 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28220 real work.
28221
28222 2008-08-05 Marco Gerards <marco@gnu.org>
28223
28224 * disk/ata.c: Include <grub/pci.h>.
28225 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28226 (grub_ata_initialize): Rewritten.
28227 (grub_ata_device_initialize): New function.
28228
28229 2008-08-04 Pavel Roskin <proski@gnu.org>
28230
28231 * kern/main.c: Include grub/mm.h.
28232
28233 2008-08-04 Robert Millan <rmh@aybabtu.com>
28234
28235 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28236 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28237 corruption problem).
28238
28239 2008-08-04 Robert Millan <rmh@aybabtu.com>
28240
28241 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28242 warnings introduced in my last commit.
28243
28244 2008-08-03 Robert Millan <rmh@aybabtu.com>
28245
28246 Make PCI available on all i386 architectures.
28247
28248 * include/grub/i386/pc/pci.h: Move from here ...
28249 * include/grub/i386/pci.h: ... to here.
28250
28251 * include/grub/i386/pc/pci.h: Remove.
28252 * include/grub/i386/efi/pci.h: Remove.
28253 * include/grub/x86_64/efi/pci.h: Remove.
28254
28255 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28256 `<grub/cpu/pci.h>'.
28257
28258 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28259 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28260 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28261
28262 * conf/i386-ieee1275.rmk: Likewise.
28263
28264 2008-08-03 Robert Millan <rmh@aybabtu.com>
28265
28266 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28267 (grub_console_setcursor): Make it possible to set cursor off.
28268
28269 2008-08-03 Robert Millan <rmh@aybabtu.com>
28270
28271 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28272 of modules instead of assuming which platform provides what.
28273 * util/update-grub.in: Likewise.
28274
28275 2008-08-03 Robert Millan <rmh@aybabtu.com>
28276
28277 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28278 instead of `grub_install_dos_part' to determine whether a drive needs
28279 to be prepended to prefix (`grub_install_dos_part' is not reliable,
28280 because it can be overridden when loading GRUB via Multiboot).
28281
28282 2008-08-02 Robert Millan <rmh@aybabtu.com>
28283
28284 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28285
28286 2008-08-02 Robert Millan <rmh@aybabtu.com>
28287
28288 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28289 of informational grub_dprintf() calls.
28290
28291 2008-08-02 Robert Millan <rmh@aybabtu.com>
28292
28293 * disk/memdisk.c (memdisk_size): Don't initialize.
28294 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28295
28296 * include/grub/i386/pc/kernel.h
28297 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28298 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28299 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28300 (grub_arch_memdisk_size): Remove.
28301
28302 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28303 field (was only used to transfer a constant). Add `type' field to
28304 support multiple module types.
28305 (grub_module_iterate): New function.
28306
28307 * kern/device.c (grub_device_open): Do not hide error messages
28308 when grub_disk_open() fails. Use grub_print_error() instead.
28309
28310 * kern/i386/pc/init.c (grub_arch_modules_addr)
28311 (grub_arch_memdisk_size): Remove functions.
28312 (grub_arch_modules_addr): Return the module address in high memory
28313 (now that it isn't copied anymore).
28314
28315 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28316 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28317 decompression routine (grub_total_module_size already includes that
28318 now). Don't copy modules back to low memory.
28319
28320 * kern/main.c: Include `<grub/mm.h>'.
28321 (grub_load_modules): Split out (and use) ...
28322 (grub_module_iterate): ... this function, which iterates through
28323 module objects and runs a hook.
28324 Comment out grub_mm_init_region() call, as it would cause non-ELF
28325 modules to be overwritten.
28326
28327 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28328 the memdisk image in its own region, make it part of the module list.
28329 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28330 (main): Parse --memdisk|-m option, and pass user-provided path as
28331 parameter to generate_image().
28332 (add_segments): Pass `memdisk_path' down to load_modules().
28333 (load_modules): Embed memdisk image in module section when requested.
28334 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28335 `header.type' instead of `header.offset'.
28336
28337 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28338 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28339 (memdisk_mod_LDFLAGS): New variables.
28340 * conf/i386-coreboot.rmk: Likewise.
28341 * conf/i386-ieee1275.rmk: Likewise.
28342
28343 2008-08-02 Robert Millan <rmh@aybabtu.com>
28344
28345 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28346 (backward_relocator): New variables. Used to allocate and relocate
28347 the payload, respectively.
28348 (grub_multiboot_load_elf32): Load into heap instead of requested
28349 address, install the appropriate relocator code in each bound of
28350 the payload, and set the entry point such that
28351 grub_multiboot_real_boot() will jump to one of them.
28352
28353 * kern/i386/loader.S (grub_multiboot_payload_size)
28354 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28355 (grub_multiboot_payload_entry_offset): New variables.
28356 (grub_multiboot_real_boot): Set cpu context to what the relocator
28357 expects, and jump to the relocator instead of the payload.
28358
28359 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28360 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28361 (grub_multiboot_payload_entry_offset): Export.
28362
28363 2008-08-01 Bean <bean123ch@gmail.com>
28364
28365 * normal/menu_entry.c (editor_getline): Don't return the original
28366 string as result, as it will be released by lexer once it has done
28367 using it.
28368
28369 2008-08-01 Robert Millan <rmh@aybabtu.com>
28370
28371 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28372 within menuentries, not before them.
28373 util/grub.d/10_hurd.in: Likewise.
28374
28375 2008-08-01 Bean <bean123ch@gmail.com>
28376
28377 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28378 (bufio_mod_SOURCES): New macro.
28379 (bufio_mod_CFLAGS): Likewise.
28380 (bufio_mod_LDFLAGS): Likewise.
28381
28382 * include/grub/bufio.h: New file.
28383
28384 * io/bufio.c: Likewise.
28385
28386 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28387 (grub_video_reader_png): Use grub_buffile_open to open file.
28388
28389 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28390 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28391
28392 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28393 (grub_video_reader_tga): Use grub_buffile_open to open file.
28394
28395 * font/manager.c: Include <grub/bufio.h>.
28396 (add_font): Use grub_buffile_open to open file.
28397
28398 2008-07-31 Robert Millan <rmh@aybabtu.com>
28399
28400 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28401 ELF segments, use a macro for arbitrarily accessing any of them instead
28402 of preparing a pointer that allows access to one at a time.
28403 (grub_multiboot_load_elf64): Likewise.
28404
28405 2008-07-31 Bean <bean123ch@gmail.com>
28406
28407 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28408 GRUB_KERNEL_MACHINE_DATA_END.
28409
28410 2008-07-30 Robert Millan <rmh@aybabtu.com>
28411
28412 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28413 Increase from 0x50 to 0x60.
28414 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28415 use UUIDs to identify the root drive for them. If that's not
28416 possible, abort.
28417 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28418 check, for cross-disk installs.
28419
28420 2008-07-30 Robert Millan <rmh@aybabtu.com>
28421
28422 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28423 is non-empty, use it to set the `prefix' environment variable instead
28424 of the usual approach.
28425 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28426 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28427 environment variable instead of dummy make_install_device().
28428
28429 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28430 (start): Insert a data section, with `grub_prefix' variable.
28431 * kern/i386/linuxbios/startup.S: Likewise.
28432
28433 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28434 New variable reference.
28435 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28436 New macro. Defines offset of `grub_prefix' within startup.S (relative
28437 to `start').
28438 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28439 section within startup.S (relative to `start').
28440 * include/grub/i386/coreboot/kernel.h: Likewise.
28441
28442 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28443 Overwrite grub_prefix with its contents, at the beginning of the
28444 first segment.
28445 (main): Understand -p|--prefix.
28446
28447 2008-07-30 Robert Millan <rmh@aybabtu.com>
28448
28449 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28450
28451 2008-07-30 Robert Millan <rmh@aybabtu.com>
28452
28453 * term/i386/pc/vga_text.c (grub_console_cls): Use
28454 grub_console_gotoxy() to go back to beginning of the screen.
28455 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28456
28457 2008-07-29 Christian Franke <franke@computer.org>
28458
28459 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28460 Add conversion of emulated mount points on Cygwin.
28461
28462 2008-07-29 Christian Franke <franke@computer.org>
28463
28464 * util/update-grub.in: Add a check for admin
28465 group on Cygwin.
28466 Remove old `grub.cfg.new' before creation.
28467 Add `-f' to `mv' to handle the different filesystem
28468 semantics of Windows.
28469
28470 2008-07-29 Bean <bean123ch@gmail.com>
28471
28472 * normal/main.c (get_line): Fix buffer overflow bug.
28473
28474 2008-07-28 Robert Millan <rmh@aybabtu.com>
28475
28476 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28477 (struct grub_apple_header): New struct. Describes the layout of
28478 the partmap header.
28479 (apple_partition_map_iterate): Check the header magic as well as the
28480 partition magic (which was already being checked).
28481
28482 2008-07-28 Pavel Roskin <proski@gnu.org>
28483
28484 * genmk.rb: Add a warning to the beginning of the output that
28485 it's a generated file and should not be edited.
28486
28487 2008-07-28 Robert Millan <rmh@aybabtu.com>
28488
28489 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28490 with the same number are found, just use issue a warning with
28491 grub_dprintf(), as this error has been reported to be non-fatal.
28492
28493 2008-07-27 Robert Millan <rmh@aybabtu.com>
28494
28495 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28496 information.
28497
28498 2008-07-27 Bean <bean123ch@gmail.com>
28499
28500 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28501 (grub_fat_find_dir): Ignore case when comparing filename.
28502
28503 2008-07-27 Bean <bean123ch@gmail.com>
28504
28505 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28506 smallino, as it's more descriptive, and i8count can be confused with
28507 the other field count.
28508 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28509 inode type.
28510
28511 2008-07-27 Bean <bean123ch@gmail.com>
28512
28513 * commands/crc.c: New file.
28514
28515 * lib/crc.c: Likewise.
28516
28517 * include/grub/lib/crc.h: Likewise.
28518
28519 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28520
28521 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28522 (hexdump): Move this function to ...
28523
28524 * lib/hexdump.c: ... here.
28525
28526 * include/grub/hexdump.h: Renamed to ...
28527
28528 * include/grub/lib/hexdump.h: ... this.
28529
28530 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28531
28532 * util/grub-editenv.c: Likewise.
28533
28534 * include/envblk.h: Renamed to ...
28535
28536 * include/lib/envblk.h: ... this.
28537
28538 * util/envblk.c: Renamed to ...
28539
28540 * lib/envblk.c: ... this.
28541
28542 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28543 lib/hexdump.c.
28544 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28545 (pkglib_MODULES): Add crc.mod.
28546 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28547 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28548 (crc_mod_SOURCES): New macro.
28549 (crc_mod_CFLAGS): Likewise.
28550 (crc_mod_LDFLAGS): Likewise.
28551
28552 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28553
28554 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28555
28556 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28557
28558 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28559
28560 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28561
28562 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
28563
28564 * commands/help.c: Include <grub/term.h>.
28565 (TERM_WIDTH): Removed. Updated all users.
28566
28567 2008-07-27 Pavel Roskin <proski@gnu.org>
28568
28569 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28570 spurious warnings about a comment within a comment.
28571
28572 2008-07-25 Robert Millan <rmh@aybabtu.com>
28573
28574 * util/getroot.c (find_root_device): Skip devices that match
28575 /dev/dm-[0-9]. This lets the real device be found for any type of
28576 abstraction (LVM, EVMS, RAID..).
28577 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28578 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28579 device is found first, find_root_device() will now skip it.
28580
28581 2008-07-24 Pavel Roskin <proski@gnu.org>
28582
28583 * include/grub/types.h: Use __builtin_bswap32() and
28584 __builtin_bswap64() with gcc 4.3 and newer.
28585
28586 2008-07-24 Christian Franke <franke@computer.org>
28587
28588 * util/i386/pc/grub-install.in: If `--debug' is specified,
28589 pass `--verbose' to grub-setup.
28590 Abort script if make_system_path_relative_to_its_root() fails.
28591
28592 2008-07-24 Bean <bean123ch@gmail.com>
28593
28594 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28595 variable `target_platform' should be `platform'.
28596
28597 2008-07-24 Bean <bean123ch@gmail.com>
28598
28599 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
28600 (grub_png_init_fixed_block): New function.
28601 (grub_png_decode_image_data): Handle fixed huffman code compression.
28602
28603 2008-07-24 Bean <bean123ch@gmail.com>
28604
28605 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28606 (grub_pe2elf_SOURCES): New macro.
28607 (CLEANFILES): Add grub-pe2elf.
28608
28609 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28610 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28611 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28612 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28613 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28614 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28615 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28616 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28617 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28618 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28619 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28620 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28621 (GRUB_PE32_DT_FUNCTION): Likewise.
28622 (GRUB_PE32_REL_I386_DIR32): Likewise.
28623 (GRUB_PE32_REL_I386_REL32): Likewise.
28624 (grub_pe32_symbol): New structure.
28625 (grub_pe32_reloc): Likewise.
28626
28627 * util/grub-pe2elf.c: New file.
28628
28629 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28630 start symbol in non pc platform.
28631
28632 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28633
28634 The following patches are from Christian Franke.
28635
28636 * include/grub/dl.h: Remove .previous, gas supports this only
28637 for ELF format.
28638
28639 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28640 Remove .type, gas supports this only for ELF format.
28641
28642 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28643 nullbytes in symbol table. This fixes an infinite loop if table is
28644 zero filled.
28645
28646 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28647 TARGET_IMG_LDFLAGS and EXEEXT.
28648
28649 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28650 TARGET_IMG_LDFLAGS_AC.
28651 (grub_CHECK_STACK_ARG_PROBE): New function.
28652
28653 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28654
28655 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28656
28657 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28658 to set TARGET_IMG_LD* accordingly.
28659 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28660 Add call to grub_CHECK_STACK_ARG_PROBE.
28661 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28662
28663 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28664
28665 * genmk.rb: Add EXEEXT to CLEANFILES.
28666
28667 2008-07-23 Robert Millan <rmh@aybabtu.com>
28668
28669 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28670 define the codes for arrows and lines used for the menu).
28671 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28672 as well.
28673
28674 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
28675 fonts, because the latter are too slow.
28676
28677 2008-07-21 Bean <bean123ch@gmail.com>
28678
28679 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
28680 a20. Run keyboard test last, as it will cause macbook to halt.
28681
28682 2008-07-18 Pavel Roskin <proski@gnu.org>
28683
28684 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
28685 load foreign architecture modules correctly anyway. Keep
28686 support for loading host architecture modules, whether we
28687 compile them or not.
28688
28689 2008-07-17 Pavel Roskin <proski@gnu.org>
28690
28691 * configure.ac: Use -m32 or -m64 regardless of whether we had to
28692 change target_cpu. The compiler default can mismatch target_cpu
28693 in any case.
28694
28695 * disk/efi/efidisk.c: Fix format warnings on x86_64.
28696 * kern/efi/efi.c: Likewise.
28697
28698 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
28699 target compiler is functional.
28700 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
28701 are set up.
28702
28703 * configure.ac: Default to efi platform for x86_64-apple. Allow
28704 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
28705 adjustments from the rest, only do them if target is not
28706 explicitly given. Merge other adjustments with the final sanity
28707 check. Remove an extraneous check for supported CPU. Be
28708 specific which CPU and which platform is not supported.
28709
28710 * configure.ac: Default to pc platform for x86_64.
28711
28712 2008-07-17 Robert Millan <rmh@aybabtu.com>
28713
28714 Partial LinuxBIOS -> Coreboot rename.
28715
28716 * conf/i386-linuxbios.rmk: Renamed to ...
28717 * conf/i386-coreboot.rmk: ... this.
28718 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
28719 * configure.ac: Accept "coreboot" as input platform (but maintain
28720 compatibility with "linuxbios").
28721 * include/grub/i386/linuxbios: Renamed to ...
28722 * include/grub/i386/coreboot: ... this.
28723
28724 2008-07-17 Bean <bean123ch@gmail.com>
28725
28726 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
28727 (appleldr_mod_SOURCE): New variable.
28728 (appleldr_mod_CFLAGS): Likewise.
28729 (appleldr_mod_LDFLAGS): Likewise.
28730 (pci_mod_SOURCES): Likewise.
28731 (pci_mod_CFLAGS): Likewise.
28732 (pci_mod_LDFLAGS): Likewise.
28733 (lspci_mod_SOURCES): Likewise.
28734 (lspci_mod_CFLAGS): Likewise.
28735 (lspci_mod_LDFLAGS): Likewise.
28736
28737 * conf/x86_64-efi.rmk: New file.
28738
28739 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
28740 macro.
28741 (grub_efidisk_write): Likewise.
28742
28743 * include/efi/api.h (efi_call_0): New macro.
28744 (efi_call_1): Likewise.
28745 (efi_call_2): Likewise.
28746 (efi_call_3): Likewise.
28747 (efi_call_4): Likewise.
28748 (efi_call_5): Likewise.
28749 (efi_call_6): Likewise.
28750
28751 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
28752 grub_rescue_cmd_chainloader.
28753
28754 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
28755 (grub_pe32_optional_header): Change some fields based on i386 or
28756 x86_64 platform.
28757 (GRUB_PE32_PE32_MAGIC): Likewise.
28758
28759 * include/grub/efi/uga_draw.h: New file.
28760
28761 * include/grub/elf.h (STN_ABS): New constant.
28762 (R_X86_64_NONE): Relocation constant for x86_64.
28763 (R_X86_64_64): Likewise.
28764 (R_X86_64_PC32): Likewise.
28765 (R_X86_64_GOT32): Likewise.
28766 (R_X86_64_PLT32): Likewise.
28767 (R_X86_64_COPY): Likewise.
28768 (R_X86_64_GLOB_DAT): Likewise.
28769 (R_X86_64_JUMP_SLOT): Likewise.
28770 (R_X86_64_RELATIVE): Likewise.
28771 (R_X86_64_GOTPCREL): Likewise.
28772 (R_X86_64_32): Likewise.
28773 (R_X86_64_32S): Likewise.
28774 (R_X86_64_16): Likewise.
28775 (R_X86_64_PC16): Likewise.
28776 (R_X86_64_8): Likewise.
28777 (R_X86_64_PC8): Likewise.
28778
28779 * include/grub/i386/efi/pci.h: New file.
28780
28781 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
28782 Change it value based on platform.
28783 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
28784 (GRUB_E820_RAM): Likewise.
28785 (GRUB_E820_RESERVED): Likewise.
28786 (GRUB_E820_ACPI): Likewise.
28787 (GRUB_E820_NVS): Likewise.
28788 (GRUB_E820_EXEC_CODE): Likewise.
28789 (GRUB_E820_MAX_ENTRY): Likewise.
28790 (grub_e820_mmap): New structure.
28791 (linux_kernel_header): Change the efi field according to different
28792 kernel version, also field from linux_kernel_header.
28793
28794 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
28795
28796 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
28797 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
28798 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
28799 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
28800 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
28801 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
28802 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
28803 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
28804 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
28805 (GRUB_PCI_ADDR_IO_MASK): Likewise.
28806
28807 * include/grub/x86_64/efi/kernel.h: New file.
28808
28809 * include/grub/x86_64/efi/loader.h: Likewise.
28810
28811 * include/grub/x86_64/efi/machine.h: Likewise.
28812
28813 * include/grub/x86_64/efi/pci.h: Likewise.
28814
28815 * include/grub/x86_64/efi/time.h: Likewise.
28816
28817 * include/grub/x86_64/linux.h: Likewise.
28818
28819 * include/grub/x86_64/setjmp.h: Likewise.
28820
28821 * include/grub/x86_64/time.h: Likewise.
28822
28823 * include/grub/x86_64/types.h: Likewise.
28824
28825 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
28826 GRUB_TARGET_SIZEOF_VOID_P.
28827
28828 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
28829 (grub_efi_locate_handle): Likewise.
28830 (grub_efi_open_protocol): Likewise.
28831 (grub_efi_set_text_mode): Likewise.
28832 (grub_efi_stall): Likewise.
28833 (grub_exit): Likewise.
28834 (grub_reboot): Likewise.
28835 (grub_halt): Likewise.
28836 (grub_efi_exit_boot_services): Likewise.
28837 (grub_get_rtc): Likewise.
28838
28839 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
28840 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
28841 (grub_efi_allocate_pages): Wrap efi calls.
28842 (grub_efi_free_pages): Wrap efi calls.
28843 (grub_efi_get_memory_map): Wrap efi calls.
28844
28845 * kern/x86_64/dl.c: New file.
28846
28847 * kern/x86_64/efi/callwrap.S: Likewise.
28848
28849 * kern/x86_64/efi/startup.S: Likewise.
28850
28851 * loader/efi/appleloader.c: Likewise.
28852
28853 * loader/efi/chainloader.c (cmdline): New variable.
28854 (grub_chainloader_unload): Wrap efi calls.
28855 (grub_chainloader_boot): Likewise.
28856 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
28857 command line.
28858
28859 * loader/efi/chainloader_normal.c (chainloader_command):
28860 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
28861 command line.
28862
28863 * loader/i386/efi/linux.c (allocate_pages): Change allocation
28864 method.
28865 (grub_e820_add_region): New function.
28866 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
28867 booting.
28868 (grub_find_video_card): New function.
28869 (grub_linux_setup_video): New function.
28870 (grub_rescue_cmd_linux): Probe for video information.
28871
28872 * normal/x86_64/setjmp.S: New file.
28873
28874 * term/efi/console.c (map_char): New function.
28875 (grub_console_putchar): Map unicode char.
28876 (grub_console_checkkey): Wrap efi calls.
28877 (grub_console_getkey): Likewise.
28878 (grub_console_getwh): Likewise.
28879 (grub_console_gotoxy): Likewise.
28880 (grub_console_cls): Likewise.
28881 (grub_console_setcolorstate): Likewise.
28882 (grub_console_setcursor): Likewise.
28883
28884 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
28885
28886 2008-07-16 Pavel Roskin <proski@gnu.org>
28887
28888 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
28889 format strings.
28890
28891 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
28892 pointer, not an integer. This fixes a warning and prevents
28893 precision loss on 64-bit systems.
28894 (relocate_addresses): Remove unneeded cast.
28895
28896 2008-07-15 Pavel Roskin <proski@gnu.org>
28897
28898 * kern/i386/ieee1275/init.c: Include grub/cache.h.
28899
28900 * term/ieee1275/ofconsole.c: Disable code unused on i386.
28901
28902 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
28903 Fix comparison between signed and unsigned.
28904
28905 * include/grub/i386/ieee1275/console.h: Declare
28906 grub_console_init() and grub_console_fini().
28907
28908 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
28909 It's empty and unused.
28910
28911 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
28912 beginning to avoid warnings with some compilers.
28913
28914 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
28915 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
28916
28917 2008-07-14 Pavel Roskin <proski@gnu.org>
28918
28919 * kern/env.c (grub_register_variable_hook): Don't copy empty
28920 string, it leaks memory. Pass "" to grub_env_set(), it should
28921 handle constant strings.
28922
28923 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
28924 * commands/cmp.c (grub_cmd_cmp): Likewise.
28925 * kern/dl.c (grub_dl_flush_cache): Likewise.
28926 (grub_dl_load_core): Likewise.
28927 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
28928 (grub_elf64_load_phdrs): Likewise.
28929
28930 2008-07-13 Pavel Roskin <proski@gnu.org>
28931
28932 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
28933 between signed and unsigned.
28934 (LzmaEnc_Finish): Fix warning about an unused parameter.
28935
28936 2008-07-13 Bean <bean123ch@gmail.com>
28937
28938 * Makefile.in (enable_lzo): New rule.
28939
28940 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
28941
28942 * configure.ac (ENABLE_LZO): New option --enable-lzo.
28943
28944 * boot/i386/pc/lnxboot.S: #include <config.h>.
28945
28946 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
28947 its value according to the compression algorithm used, lzo or lzma.
28948
28949 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
28950 compression algorithm according to configure macro.
28951
28952 * kern/i386/pc/startup.S (codestart): Likewise.
28953
28954 * kern/i386/pc/lzma_decode.S: New file.
28955
28956 * include/grub/lib/LzFind.h: Likewise.
28957
28958 * include/grub/lib/LzHash.h: Likewise.
28959
28960 * include/grub/lib/LzmaDec.h: Likewise.
28961
28962 * include/grub/lib/LzmaEnc.h: Likewise.
28963
28964 * include/grub/lib/LzmaTypes.h: Likewise.
28965
28966 * lib/LzFind.c: Likewise.
28967
28968 * lib/LzmaDec.c: Likewise.
28969
28970 * lib/LzmaEnc.c: Likewise.
28971
28972 2008-07-13 Bean <bean123ch@gmail.com>
28973
28974 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
28975 (grub_ext4_extent_header): New structure.
28976 (grub_ext4_extent): Likewise.
28977 (grub_ext4_extent_idx): Likewise.
28978 (grub_ext4_find_leaf): New function.
28979 (grub_ext2_read_block): Handle extents.
28980
28981 2008-07-12 Robert Millan <rmh@aybabtu.com>
28982
28983 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
28984
28985 2008-07-11 Robert Millan <rmh@aybabtu.com>
28986
28987 * util/grub.d/40_custom.in: New file. Example on how to add custom
28988 entries to /etc/grub.d.
28989 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
28990 40_custom (implicitly, by merging all the grub.d rules).
28991
28992 2008-07-11 Pavel Roskin <proski@gnu.org>
28993
28994 * commands/read.c (grub_getline): Fix invalid memory access.
28995 Don't add newline to the variable value.
28996
28997 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
28998 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
28999 (serial_hw_get_port): Check validity of the port number.
29000 (grub_cmd_serial): Check return value of serial_hw_get_port().
29001
29002 2008-07-07 Pavel Roskin <proski@gnu.org>
29003
29004 * boot/i386/pc/diskboot.S (notification_string): Replace
29005 "Loading kernel" with just "loading". This is shorter, less
29006 confusing and saves a few bytes for possible future changes.
29007
29008 2008-07-05 Pavel Roskin <proski@gnu.org>
29009
29010 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
29011 size for ATAPI devices, they are undefined. Output sector
29012 number in decimal form.
29013
29014 * disk/ata.c: Use named constants for status bits.
29015
29016 2008-07-04 Pavel Roskin <proski@gnu.org>
29017
29018 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
29019 grub_addr_t before casting it to the void pointer to fix a
29020 warning. Non-addressable regions are discarded earlier.
29021 (grub_arch_modules_addr): Cast _end to grub_addr_t.
29022 * kern/i386/linuxbios/table.c: Include grub/misc.h.
29023 (check_signature): Don't shadow table_header.
29024 (grub_linuxbios_table_iterate): Cast numeric constants to
29025 grub_linuxbios_table_header_t.
29026 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
29027 grub_stop().
29028
29029 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
29030 prevent warnings.
29031
29032 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
29033 pointer, which can cause warnings. Support 64-bit addresses.
29034
29035 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
29036 of sizeof(long). This fixes PowerPC image generation on x86_64.
29037
29038 2008-07-04 Robert Millan <rmh@aybabtu.com>
29039
29040 This fixes a performance issue when pc & gpt partmap iterators
29041 didn't abort iteration even after our hook found what it was
29042 looking for (often causing expensive probes of non-existent drives).
29043
29044 Some callers relied on previous buggy behaviour, since they would
29045 raise an error when their own hooks caused early abortion of its
29046 iteration.
29047
29048 * kern/device.c (grub_device_open): Improve error message.
29049 * disk/lvm.c (grub_lvm_open): Likewise.
29050 * disk/raid.c (grub_raid_open): Likewise.
29051
29052 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29053 when hook requests it, independently of grub_errno.
29054 (pc_partition_map_probe): Do not fail when find_func() caused
29055 early abortion of pc_partition_map_iterate().
29056
29057 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29058 when hook requests it, independently of grub_errno.
29059 (gpt_partition_map_probe): Do not fail when find_func() caused
29060 early abortion of gpt_partition_map_iterate().
29061
29062 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29063 when hook requests it, independently of grub_errno. Do not fail when
29064 part_map_iterate_hook() caused early abortion of p->iterate().
29065
29066 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29067 when grub_partition_iterate() returned with non-zero.
29068
29069 2008-07-03 Pavel Roskin <proski@gnu.org>
29070
29071 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29072 like we do in grub_ata_pio_read().
29073 (grub_ata_readwrite): Always write individual sectors. Fix the
29074 sector count for the remainder.
29075 (grub_ata_write): Enable writing to ATA devices. Correctly
29076 report error for ATAPI devices.
29077
29078 2008-07-02 Pavel Roskin <proski@gnu.org>
29079
29080 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29081 warning.
29082
29083 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29084 for every read sector, we already increment it for the whole
29085 batch. This fixes reading more than 256 sectors at once.
29086
29087 * util/grub-editenv.c (cmd_info): Cast argument to long
29088 explicitly. ptrdiff_t reduces to int on i386.
29089
29090 * util/grub-editenv.c (main): Be specific which parameter is
29091 missing.
29092
29093 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29094 (memdisk): Make memdisk_orig_addr a pointer.
29095
29096 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29097 for file offsets, use grub_off_t instead. Fix printf format
29098 warnings.
29099
29100 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29101 there. Real unexpected warnings should not drown in the noise
29102 about known problems.
29103
29104 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29105 grub_disk_addr_t for memory addresses.
29106
29107 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29108 explicitly to fix a warning.
29109
29110 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29111
29112 * Makefile.in (MODULE_LDFLAGS): New variable.
29113 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29114 the linker accepts --build-id=none.
29115 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29116 MODULE_LDFLAGS.
29117 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29118
29119 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29120 those in Linux XFS code. Provide a way to access 64-bit parent
29121 inode.
29122 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29123 the end of struct grub_xfs_dir_header.
29124
29125 2008-07-02 Bean <bean123ch@gmail.com>
29126
29127 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29128 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29129 and GRUB_IEEE1275_FLAG_NO_ANSI.
29130
29131 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29132 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29133 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29134
29135 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29136 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29137
29138 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29139 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29140
29141 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29142 esc sequence on non ANSI terminal.
29143 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29144
29145 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29146 beginning of file.
29147
29148 2008-07-02 Bean <bean123ch@gmail.com>
29149
29150 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29151 (grub_editenv_SOURCES): New variable.
29152 (pkglib_MODULES): Add loadenv.mod.
29153 (loadenv_mod_SOURCES): New variable.
29154 (loadenv_mod_CFLAGS): Likewise.
29155 (loadenv_mod_LDFLAGS): Likewise.
29156
29157 * include/grub/envblk.h: New file.
29158
29159 * util/envblk.c: New file.
29160
29161 * util/grub-editenv.c: New file.
29162
29163 * commands/loadenv.c: New file.
29164
29165 2008-07-01 Pavel Roskin <proski@gnu.org>
29166
29167 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29168 not unsigned char. This fixes warnings and is consistent with
29169 other tags.
29170
29171 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29172
29173 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29174
29175 * term/tparm.c (analyze): Always set *popcount.
29176
29177 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29178 cast to fix a warning.
29179
29180 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29181 cast to suppress a warning.
29182
29183 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29184 grub_fshelp_read_file() expects.
29185
29186 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29187 write uuid as a 32-bit value in CPU byte order, so declare and
29188 use it as such.
29189
29190 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29191 long if the format specifier expects it.
29192 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29193 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29194 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29195 long to fix a warning.
29196 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29197 grub_dprintf() arguments to fix warnings.
29198
29199 2008-06-30 Pavel Roskin <proski@gnu.org>
29200
29201 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29202 install_bsd_part immediately before core.img is embedded or
29203 modified on disk. This fixes core.img verification if core.img
29204 cannot be embedded.
29205
29206 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29207 core_path to calculate the blocklist.
29208 Patch from Javier Martín <lordhabbit@gmail.com>
29209
29210 2008-06-29 Robert Millan <rmh@aybabtu.com>
29211
29212 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29213 block to disk block.
29214 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29215 Patch from Niels Böhm <bitbucket@arcor.de>
29216
29217 2008-06-29 Robert Millan <rmh@aybabtu.com>
29218
29219 * util/update-grub_lib.in (font_path): Search for fonts in
29220 /boot/grub first, which is more likely to be readable (we aren't
29221 deciding where fonts live, just looking for them).
29222
29223 2008-06-26 Pavel Roskin <proski@gnu.org>
29224
29225 * util/biosdisk.c (read_device_map): Don't leave dead map
29226 entries for devices failing stat() check.
29227
29228 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29229 core_path_dev for the core.img path on the target device.
29230
29231 2008-06-26 Robert Millan <rmh@aybabtu.com>
29232
29233 * disk/fs_uuid.c: New file.
29234 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29235 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29236 (fs_uuid_mod_LDFLAGS): New variables.
29237 * include/grub/disk.h (grub_disk_dev_id): Add
29238 `GRUB_DISK_DEVICE_UUID_ID'.
29239 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29240 implement iterate().
29241
29242 2008-06-26 Robert Millan <rmh@aybabtu.com>
29243
29244 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29245 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29246 Linux image includes no initrd.
29247
29248 2008-06-21 Javier Martín <lordhabbit@gmail.com>
29249
29250 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29251 call to resolve the core image location that effectively appended the
29252 name twice.
29253
29254 2008-06-21 Robert Millan <rmh@aybabtu.com>
29255
29256 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29257 call from here ...
29258
29259 * util/grub.d/10_hurd.in: ... to here ...
29260 * util/grub.d/10_linux.in: ... and here.
29261
29262 2008-06-19 Robert Millan <rmh@aybabtu.com>
29263
29264 * kern/main.c (grub_main): Export `prefix' variable immediately
29265 after it has been set by grub_machine_set_prefix().
29266
29267 2008-06-19 Robert Millan <rmh@aybabtu.com>
29268
29269 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29270 search result when not saving to variable, not the other way around.
29271 When saving to variable, abort iteration as soon as a match is found.
29272
29273 2008-06-19 Robert Millan <rmh@aybabtu.com>
29274
29275 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29276 check for partition that provides /boot/grub. Its logic is flawed,
29277 as it prevents prepare_grub_to_access_device() from being called
29278 multiple times.
29279
29280 2008-06-19 Robert Millan <rmh@aybabtu.com>
29281
29282 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29283 "insmod" command directly when abstraction modules are needed,
29284 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
29285 since it had already been processed).
29286
29287 2008-06-19 Pavel Roskin <proski@gnu.org>
29288
29289 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29290 changed. This is needed in case GRUB_LIBDIR changes.
29291 * conf/i386-ieee1275.rmk: Likewise.
29292 * conf/i386-linuxbios.rmk: Likewise.
29293 * conf/i386-pc.rmk: Likewise.
29294 * conf/powerpc-ieee1275.rmk: Likewise.
29295
29296 2008-06-18 Pavel Roskin <proski@gnu.org>
29297
29298 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29299 kernel_elf_symlist.c to symlist.c for consistency with other
29300 architectures. Update all users.
29301 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29302
29303 2008-06-18 Robert Millan <rmh@aybabtu.com>
29304
29305 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29306 it in prefix.
29307
29308 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29309 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29310 a RAID device, run setup() for all members independently on whether
29311 LVM abstraction is being used.
29312 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29313 If grub-mkimage has set `*install_dos_part == -2', don't override this
29314 value.
29315 Perform *install_dos_part adjustments independently on whether
29316 we're embedding or not.
29317 Clarify error message when image is too big for embedding.
29318 Remove duplicate *install_dos_part stanza.
29319
29320 2008-06-17 Robert Millan <rmh@aybabtu.com>
29321
29322 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29323 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29324 variables.
29325 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29326 values in grub_ofconsole_normal_color and
29327 grub_ofconsole_highlight_color (they're not directly related to
29328 background and foreground).
29329 (grub_ofconsole_setcolorstate): Extract background and foreground
29330 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29331
29332 2008-06-17 Robert Millan <rmh@aybabtu.com>
29333
29334 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29335 /boot/grub for the check in last commit, not /boot (they could be
29336 different partitions).
29337
29338 2008-06-16 Robert Millan <rmh@aybabtu.com>
29339
29340 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29341 asked to setup access for the same partition that provides /boot,
29342 don't bother using UUIDs since our root already has the value we
29343 want.
29344
29345 2008-06-16 Robert Millan <rmh@aybabtu.com>
29346
29347 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29348 I2O devices.
29349 Patch from Sven Mueller <sven@debian.org>.
29350
29351 2008-06-16 Robert Millan <rmh@aybabtu.com>
29352
29353 * util/update-grub.in: Check for $EUID instead of $UID.
29354 Reported by Vincent Zweije.
29355
29356 2008-06-16 Bean <bean123ch@gmail.com>
29357
29358 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
29359 (grub_ext2_read_block): Likewise.
29360 (grub_ext2_read_inode): Likewise.
29361 (grub_ext2_mount): Likewise.
29362 (grub_ext2_close): Likewise.
29363 (grub_ext3_get_journal): Removed.
29364
29365 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
29366 (grub_reiserfs_read_symlink): Likewise.
29367 (grub_reiserfs_mount): Likewise.
29368 (grub_reiserfs_open): Likewise.
29369 (grub_reiserfs_read): Likewise.
29370 (grub_reiserfs_close): Likewise.
29371 (grub_reiserfs_get_journal): Removed.
29372
29373 * fs/fshelp.c (grub_fshelp_read): Removed.
29374 (grub_fshelp_map_block): Likewise.
29375
29376 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29377 (grub_fshelp_journal): Likewise.
29378 (grub_fshelp_read): Likewise.
29379 (grub_fshelp_map_block): Likewise.
29380
29381 2008-06-16 Pavel Roskin <proski@gnu.org>
29382
29383 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29384 floating point anymore.
29385 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29386
29387 2008-06-15 Pavel Roskin <proski@gnu.org>
29388
29389 * commands/ls.c (grub_ls_list_files): Use integer calculations
29390 for human readable format, avoid floating point use.
29391 * kern/misc.c (grub_ftoa): Remove.
29392 (grub_vsprintf): Remove floating point support.
29393
29394 2008-06-15 Robert Millan <rmh@aybabtu.com>
29395
29396 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
29397 devices.
29398 Reported by Max Vozeler.
29399
29400 2008-06-15 Robert Millan <rmh@aybabtu.com>
29401
29402 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29403 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29404 skipped later.
29405 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29406 the beginning of the prefix.
29407
29408 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29409 It is assumed that if we have a memdisk, grub-mkimage has set
29410 grub_prefix to include the "(memdisk)" drive in it.
29411
29412 2008-06-15 Robert Millan <rmh@aybabtu.com>
29413
29414 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29415 Initialize keyboard controller after registering the terminal, so that
29416 grub_printf() can be called from grub_keyboard_controller_init().
29417
29418 2008-06-15 Robert Millan <rmh@aybabtu.com>
29419
29420 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29421 extent-btree which is written as big endian on disk.
29422 Reported by Alain Greppin <al@chilibi.org>.
29423
29424 2008-06-14 Robert Millan <rmh@aybabtu.com>
29425
29426 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29427 * util/i386/pc/grub-install.in (modules): Likewise.
29428
29429 2008-06-13 Pavel Roskin <proski@gnu.org>
29430
29431 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29432
29433 2008-06-13 Bean <bean123ch@gmail.com>
29434
29435 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29436
29437 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29438
29439 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29440 to indicate sparse block.
29441
29442 2008-06-12 Pavel Roskin <proski@gnu.org>
29443
29444 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29445 number, grub_fshelp_read() does it for us.
29446
29447 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29448 linear disk read with journal translation.
29449 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29450 * include/grub/fshelp.h: Declare grub_fshelp_read().
29451
29452 2008-06-09 Pavel Roskin <proski@gnu.org>
29453
29454 * fs/minix.c (grub_minix_mount): Handle error reading
29455 superblock.
29456
29457 2008-06-08 Robert Millan <rmh@aybabtu.com>
29458
29459 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29460 don't append the RAID prefix afterwards.
29461 Reported by Clint Adams.
29462
29463 2008-06-08 Robert Millan <rmh@aybabtu.com>
29464
29465 Based on description from Pavel:
29466 * kern/disk.c (grub_disk_check_range): Rename to ...
29467 (grub_disk_adjust_range): ... this. Add a comment explaining the
29468 tasks performed by this function.
29469
29470 2008-06-08 Robert Millan <rmh@aybabtu.com>
29471
29472 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29473 `num_serial' (for consistency with other variables).
29474 (struct grub_ntfs_data): Add `uuid' member.
29475 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29476 (grub_ntfs_uuid): New function.
29477 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29478
29479 2008-06-07 Pavel Roskin <proski@gnu.org>
29480
29481 * util/biosdisk.c (open_device): Revert last change to the
29482 function, it broke installation. The sector needs to be
29483 different dependent on which device is opened.
29484
29485 2008-06-06 Robert Millan <rmh@aybabtu.com>
29486
29487 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29488 rest of GRUB, and breakage doesn't happen if its value were modified.
29489
29490 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29491 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29492 a constant (same value).
29493 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29494 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29495
29496 2008-06-06 Robert Millan <rmh@aybabtu.com>
29497
29498 * util/biosdisk.c (open_device): Do not modify sector offset when
29499 accessing a partition. kern/disk.c already handles this for us.
29500
29501 2008-06-06 Robert Millan <rmh@aybabtu.com>
29502
29503 * util/grub-emu.c (grub_machine_init): Move code in this function from
29504 here ...
29505 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29506 segfault in case grub_printf() is called).
29507
29508 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29509 grub_probe. Update all users not to explicitly add it again.
29510 (grub_device): New variable; contains corresponding device for grubdir.
29511 (fs_module, partmap_module, devabstraction_module): Pass
29512 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29513 every time.
29514
29515 2008-06-05 Robert Millan <rmh@aybabtu.com>
29516
29517 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29518 is found, print it (same layout as with labels).
29519
29520 2008-06-04 Robert Millan <rmh@aybabtu.com>
29521
29522 * util/biosdisk.c (get_drive): Rename to ...
29523 (find_grub_drive): ... this. Update all users.
29524
29525 (get_os_disk): Rename to ...
29526 (convert_system_partition_to_system_disk): ... this. Update all users.
29527
29528 (find_drive): Rename to ...
29529 (find_system_device): ... this. Update all users.
29530
29531 2008-06-04 Robert Millan <rmh@aybabtu.com>
29532
29533 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29534 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29535 (make_device_map): Likewise.
29536
29537 2008-06-01 Robert Millan <rmh@aybabtu.com>
29538
29539 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29540 before dereferencing it.
29541
29542 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29543 union with fat12/fat16-specific ones. Add some new fields, including
29544 `num_serial' for both versions.
29545 (struct grub_fat_data): Add `uuid' member.
29546 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29547 names. Initialize `data->uuid' using `num_serial'.
29548 (grub_fat_uuid): New function.
29549 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29550
29551 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29552 (grub_reiserfs_uuid): New function.
29553 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29554 member.
29555
29556 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29557 (grub_xfs_uuid): New function.
29558 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29559
29560 2008-06-01 Robert Millan <rmh@aybabtu.com>
29561
29562 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29563 code that is backward compatible with pre-uuid search command.
29564
29565 2008-05-31 Robert Millan <rmh@aybabtu.com>
29566
29567 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29568 floppies after everything else, to ensure floppy drive isn't accessed
29569 unnecessarily (patch from Bean).
29570
29571 2008-05-31 Robert Millan <rmh@aybabtu.com>
29572
29573 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29574 not print device names when we were asked to set a variable.
29575
29576 2008-05-31 Robert Millan <rmh@aybabtu.com>
29577
29578 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29579 using "cursor-on" and "cursor-off" commands (understood at least by
29580 the Open Firmware flavour on OLPC).
29581
29582 2008-05-31 Michael Gorven <michael@gorven.za.net>
29583
29584 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29585 on and off sequences.
29586
29587 2008-05-31 Robert Millan <rmh@aybabtu.com>
29588
29589 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29590 * util/update-grub.in: Likewise.
29591
29592 2008-05-30 Pavel Roskin <proski@gnu.org>
29593
29594 * util/biosdisk.c (linux_find_partition): Simplify logic and
29595 make the code more universal. Keep special processing for
29596 devfs, but use a simple rule for all other devices. If the
29597 device ends with a number, append 'p' and the partition number.
29598 Otherwise, append only the partition number.
29599
29600 2008-05-30 Robert Millan <rmh@aybabtu.com>
29601
29602 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29603 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29604 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29605 the `root' parameter to Linux.
29606
29607 2008-05-30 Robert Millan <rmh@aybabtu.com>
29608
29609 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29610 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29611 --fs_uuid with --fs-uuid.
29612 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29613 all filesystems support them).
29614
29615 2008-05-30 Robert Millan <rmh@aybabtu.com>
29616
29617 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
29618 grub_printf() flags, since we're printing in units of 2 bytes.
29619
29620 2008-05-30 Robert Millan <rmh@aybabtu.com>
29621
29622 * util/grub.d/00_header.in: Remove obsolete comment referencing
29623 convert_system_path_to_grub_path().
29624 * util/update-grub.in: Likewise.
29625 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29626 (convert_system_path_to_grub_path): Add a warning message explaining
29627 that this function is deprecated. Rely on is_path_readable_by_grub()
29628 for the readability checks.
29629 (font_path): Use is_path_readable_by_grub() for the readability
29630 check rather than convert_system_path_to_grub_path().
29631
29632 2008-05-30 Robert Millan <rmh@aybabtu.com>
29633
29634 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29635 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29636 converting it first.
29637 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29638 grub.cfg for access to font file, and afterwards call it again to set
29639 the root device.
29640
29641 2008-05-30 Robert Millan <rmh@aybabtu.com>
29642
29643 * commands/search.c (options): Add --fs_uuid option.
29644 (search_fs_uuid): New function.
29645 (grub_cmd_search): Fix --set argument passing.
29646 Use search_fs_uuid() when requested via --fs_uuid.
29647 (grub_search_init): Update help message.
29648 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29649 and redeclare it as an array of 16-bit words.
29650 (grub_ext2_uuid): New function.
29651 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29652 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29653 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29654 (GRUB_DEVICE_BOOT_UUID): New variables.
29655 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29656 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29657 whenever possible.
29658 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29659 just assume `root' variable has the right value.
29660 * util/grub.d/10_linux.in: Likewise.
29661 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29662 via PRINT_FS_UUID.
29663 (main): Recognise `-t fs_uuid' argument.
29664
29665 2008-05-30 Robert Millan <rmh@aybabtu.com>
29666
29667 * util/biosdisk.c (map): Redefine structure to hold information
29668 about GRUB drive name.
29669 (get_drive): Reimplement without assuming (and verifying) BIOS-like
29670 drive names.
29671 (call_hook): Remove.
29672 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29673 member. Assume drive has partitions.
29674 (grub_util_biosdisk_open): Access device names via `.device' struct
29675 member.
29676 (open_device): Likewise.
29677 (find_drive): Likewise.
29678 (read_device_map): Adjust map[] usage to match the new struct
29679 definition. Don't check for duplicates (still possible, but not cheap
29680 anymore).
29681 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
29682 (make_device_name): Remove assumption of BIOS-like drive names.
29683
29684 2008-05-30 Pavel Roskin <proski@gnu.org>
29685
29686 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
29687 compiling execute.c doesn't need grub_script.tab.h anymore.
29688 (normal/command.c_DEPENDENCIES): Likewise.
29689 (normal/function.c_DEPENDENCIES): Likewise.
29690 * conf/i386-ieee1275.rmk: Likewise.
29691 * conf/i386-linuxbios.rmk: Likewise.
29692 * conf/i386-pc.rmk: Likewise.
29693 * conf/powerpc-ieee1275.rmk: Likewise.
29694 * conf/sparc64-ieee1275.rmk: Likewise.
29695
29696 2008-05-29 Pavel Roskin <proski@gnu.org>
29697
29698 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
29699 when scanning metadata for volume group name.
29700
29701 * include/grub/script.h: Don't include grub_script.tab.h. It's
29702 a generated file, which may only be included from the files with
29703 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
29704 use union YYSTYPE, as the later allows forward declaration.
29705 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
29706
29707 2008-05-29 Robert Millan <rmh@aybabtu.com>
29708
29709 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
29710 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
29711 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
29712 (grub_console_checkkey): Add grub_dprintf() call to report unknown
29713 scan codes.
29714
29715 2008-05-29 Robert Millan <rmh@aybabtu.com>
29716
29717 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
29718 control key combinations.
29719
29720 2008-05-29 Robert Millan <rmh@aybabtu.com>
29721
29722 * util/powerpc/ieee1275/grub-install.in: Move from here ...
29723 * util/ieee1275/grub-install.in: ... to here.
29724 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
29725 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
29726 (grub_install_SOURCES): Likewise.
29727
29728 2008-05-29 Robert Millan <rmh@aybabtu.com>
29729
29730 * fs/affs.c: Update copyright year.
29731 * fs/ext2.c: Likewise.
29732 * fs/fshelp.c: Likewise.
29733 * fs/hfsplus.c: Likewise.
29734 * fs/ntfs.c: Likewise.
29735 * fs/xfs.c: Likewise.
29736 * include/grub/fshelp.h: Likewise.
29737 * util/grub-mkdevicemap.c: Likewise.
29738
29739 2008-05-28 Robert Millan <rmh@aybabtu.com>
29740
29741 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
29742 might need to be fatfs to support some firmware implementations
29743 (e.g. OFW or EFI).
29744
29745 2008-05-28 Robert Millan <rmh@aybabtu.com>
29746
29747 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
29748 devices.
29749 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29750 (make_device_map): Likewise.
29751
29752 2008-05-20 Bean <bean123ch@gmail.com>
29753
29754 * fs/fshelp.c (grub_fshelp_map_block): New function.
29755 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
29756 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
29757
29758 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
29759 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
29760 (grub_fshelp_journal): New structure.
29761 (grub_fshelp_map_block): New function prototype.
29762 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
29763 (grub_fshelp_map_block): Likewise.
29764
29765 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
29766 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
29767 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
29768 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
29769 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
29770 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
29771 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
29772 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
29773 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
29774 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
29775 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
29776 (grub_ext2_sblock): New members for journal support.
29777 (grub_ext3_journal_header): New structure.
29778 (grub_ext3_journal_revoke_header): Likewise.
29779 (grub_ext3_journal_block_tag): Likewise.
29780 (grub_ext3_journal_sblock): Likewise.
29781 (grub_fshelp_node): New members logfile and journal.
29782 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
29783 grub_fshelp_map_block to get real block number.
29784 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
29785 number.
29786 (grub_ext2_read_inode): Likewise.
29787 (grub_ext3_get_journal): New function.
29788 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
29789 (grub_ext2_close): Release memory used by journal.
29790
29791 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
29792 (REISERFS_MAGIC_DESC_BLOCK): New macro.
29793 (grub_reiserfs_transaction_header): Renamed to
29794 grub_reiserfs_description_block, replace field data with real_blocks.
29795 (grub_reiserfs_commit_block): New structure.
29796 (grub_reiserfs_data): New member journal.
29797 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
29798 number.
29799 (grub_reiserfs_read_symlink): Likewise.
29800 (grub_reiserfs_iterate_dir): Likewise.
29801 (grub_reiserfs_open): Likewise.
29802 (grub_reiserfs_read): Likewise.
29803 (grub_reiserfs_get_journal): New function.
29804 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
29805 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
29806 using grub_reiserfs_get_journal.
29807 (grub_reiserfs_close): Release memory used by journal.
29808
29809 * fs/affs.c (grub_affs_read_block): Change block type to
29810 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
29811
29812 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
29813
29814 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
29815
29816 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
29817
29818 * fs/udf.c (grub_udf_read_block): Change block type to
29819 grub_disk_addr_t. Use type cast to avoid warning.
29820
29821 * fs/xfs.c (grub_xfs_read_block): Likewise.
29822
29823 2008-05-16 Christian Franke <franke@computer.org>
29824
29825 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
29826 to ensure that break with ESC will always work.
29827 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
29828 Remove ESC from keyboard queue.
29829
29830 2008-05-16 Christian Franke <franke@computer.org>
29831
29832 * util/biosdisk.c: [__CYGWIN__] Add includes.
29833 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
29834 (get_os_disk): Move variable declarations to OS specific
29835 parts to avoid warning.
29836 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
29837 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
29838 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
29839 Cygwin.
29840 * util/getroot.c: [__CYGWIN__] Add includes.
29841 (strip_extra_slashes): Fix "/" case.
29842 [__CYGWIN__] (get_win32_path): New function.
29843 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
29844 [__CYGWIN__] (find_root_device): Disable.
29845 [__CYGWIN__] (get_bootsec_serial): New function.
29846 [__CYGWIN__] (find_cygwin_root_device): Likewise.
29847 [__linux__] (grub_guess_root_device): Add early returns to simplify
29848 structure.
29849 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
29850 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
29851 check for Linux only.
29852
29853 2008-05-15 Bean <bean123ch@gmail.com>
29854
29855 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
29856 keyboard hang problem in apple's intel mac.
29857
29858 2008-05-09 Robert Millan <rmh@aybabtu.com>
29859
29860 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
29861 devices.
29862 * util/grub-mkdevicemap.c (get_virtio_disk_name)
29863 (make_device_map): Likewise.
29864 Reported by Aurelien Jarno <aurel32@debian.org>
29865
29866 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
29867
29868 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
29869 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
29870 (make_device_map): Output entries for xvd type disks.
29871
29872 2008-05-07 Robert Millan <rmh@aybabtu.com>
29873
29874 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
29875 devices.
29876 * util/grub-mkdevicemap.c (get_cciss_disk_name)
29877 (make_device_map): Likewise.
29878 Reported by Roland Dreier <rdreier@cisco.com>
29879
29880 2008-05-07 Robert Millan <rmh@aybabtu.com>
29881
29882 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
29883 grub_strstr() call. Correct a few mistakes in failure path handling.
29884
29885 2008-05-06 Robert Millan <rmh@aybabtu.com>
29886
29887 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29888 Do not print a trailing slash (therefore, the root directory is an
29889 empty string).
29890 (convert_system_path_to_grub_path): Do not remove trailing slash
29891 from make_system_path_relative_to_its_root() output.
29892
29893 * util/i386/pc/grub-install.in: Add trailing slash to output from
29894 make_system_path_relative_to_its_root().
29895
29896 2008-05-06 Robert Millan <rmh@aybabtu.com>
29897
29898 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
29899 ensures that output lines aren't intermangled with those sent to
29900 stderr (via grub_util_info()).
29901 * util/grub-probe.c (grub_refresh): Likewise.
29902 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
29903
29904 2008-05-05 Christian Franke <franke@computer.org>
29905
29906 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
29907 Add Cygwin device names.
29908 (get_ide_disk_name) [__CYGWIN__]: Likewise.
29909 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
29910 (check_device): Return error instead of success on empty name.
29911 (make_device_map): Move label inside linux specific code to
29912 prevent compiler warning.
29913
29914 2008-04-30 Robert Millan <rmh@aybabtu.com>
29915
29916 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
29917 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
29918 first boot option.
29919 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
29920
29921 2008-04-29 Robert Millan <rmh@aybabtu.com>
29922
29923 * docs/grub.cfg: New file (example GRUB configuration).
29924
29925 2008-04-26 Robert Millan <rmh@aybabtu.com>
29926
29927 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
29928 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
29929 and `disk/ieee1275/nand.c'.
29930
29931 2008-04-25 Bean <bean123ch@gmail.com>
29932
29933 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
29934 i386-linuxbios.
29935
29936 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
29937 change the buffer size to 4096 for cdrom device.
29938
29939 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
29940 and nand.mod.
29941 (_linux_mod_SOURCES): New variable.
29942 (_linux_mod_CFLAGS): Likewise.
29943 (_linux_mod_LDFLAGS): Likewise.
29944 (linux_mod_SOURCES): Likewise.
29945 (linux_mod_CFLAGS): Likewise.
29946 (linux_mod_LDFLAGS): Likewise.
29947 (nand_mod_SOURCES): Likewise.
29948 (nand_mod_CFLAGS): Likewise.
29949 (nand_mod_LDFLAGS): Likewise.
29950
29951 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
29952 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
29953 type property. (nand device in olpc don't have this property)
29954
29955 * include/grub/disk.h (grub_disk_dev_id): New macro
29956 GRUB_DISK_DEVICE_NAND_ID.
29957
29958 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
29959 function prototype.
29960 (grub_rescue_cmd_initrd): Likewise.
29961
29962 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
29963 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
29964 ofw_cif_handler and ofw_idt, adjust padding number.
29965
29966 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
29967 GRUB_MACHINE_IEEE1275 is defined.
29968
29969 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
29970 Use NESTED_FUNC_ATTR attribute on the hook parameter.
29971
29972 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
29973 on nested function heap_init.
29974 (grub_upper_mem): New variable for i386-ieee1275.
29975 (grub_get_extended_memory): New function for i386-ieee1275.
29976 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
29977
29978 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
29979 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
29980 property.
29981
29982 * loader/i386/ieee1275/linux.c: New file.
29983
29984 * loader/i386/ieee1275/linux_normal.c: New file.
29985
29986 * disk/ieee1275/nand.c: New file.
29987
29988 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
29989
29990 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
29991 value.
29992 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
29993
29994 2008-04-18 Robert Millan <rmh@aybabtu.com>
29995
29996 Restructures early code path on ieee1275 to unify grub_main() as
29997 the first C function that is executed in every platform.
29998
29999 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
30000 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
30001 cmain().
30002 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
30003 * kern/ieee1275/cmain.c (cmain): Rename to ...
30004 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
30005 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
30006 at the beginning.
30007
30008 2008-04-18 Robert Millan <rmh@aybabtu.com>
30009
30010 * util/update-grub.in: Fix syntax error when setting
30011 `GRUB_PRELOAD_MODULES'.
30012 Reported by Stephane Chazelas <stephane@artesyncp.com>
30013
30014 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
30015
30016 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
30017 section into account, newer toolchains generate unique build ids
30018 * configure.ac: remove the test for --build-id=none acceptance,
30019 we want build ids to be preserved
30020 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
30021 far from other sections don't cause the raw binary images grow
30022 size
30023
30024 2008-04-15 Robert Millan <rmh@aybabtu.com>
30025
30026 * disk/lvm.c: Update copyright year.
30027 * kern/misc.c: Likewise.
30028
30029 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30030
30031 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
30032 there is no memory left for physical volume name.
30033
30034 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
30035
30036 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
30037 volume name mapping to support bigger than 9 character names properly.
30038
30039 2008-04-13 Robert Millan <rmh@aybabtu.com>
30040
30041 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
30042 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
30043
30044 2008-04-13 Christian Franke <franke@computer.org>
30045
30046 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
30047 to create a floppy emulation boot CD when non emulation mode
30048 does not work.
30049 Enable Joliet CD filesystem extension.
30050
30051 2008-04-13 Robert Millan <rmh@aybabtu.com>
30052
30053 * kern/misc.c (grub_strncat): Fix off-by-one error.
30054 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30055
30056 * kern/env.c (grub_env_context_close): Clear current context, not
30057 previous one.
30058 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30059
30060 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30061
30062 2008-04-13 Robert Millan <rmh@aybabtu.com>
30063
30064 Improve robustness when handling LVM.
30065
30066 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
30067 (and leave `*p' unmodified).
30068 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30069 through it.
30070 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30071 iterating through it.
30072 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30073 through it.
30074 (grub_lvm_scan_device): Check the return value (and fail gracefully
30075 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30076 Don't assume `vg->pvs != NULL' when iterating through it.
30077
30078 2008-04-13 Robert Millan <rmh@aybabtu.com>
30079
30080 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30081 * genmk.rb (partmap): New variable.
30082 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30083 (#{partmap}): New target rule.
30084 * genpartmaplist.sh: New file.
30085 * Makefile.in (pkglib_DATA): Add partmap.lst.
30086 (partmap.lst): New target rule.
30087 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30088 modules (including all partition maps), instead of preloading them.
30089
30090 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30091
30092 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30093 `linux-boot-prober' (if installed) to detect other operating
30094 systems which are installed on the computer and add them to
30095 the boot menu.
30096 * conf/common.rmk: Build and install 30_os-prober.
30097
30098 2008-04-12 Robert Millan <rmh@aybabtu.com>
30099
30100 * kern/powerpc/ieee1275/init.c: Move from here ...
30101 * kern/ieee1275/init.c: ... to here. Update all users.
30102
30103 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30104 * kern/ieee1275/cmain.c: ... to here. Update all users.
30105
30106 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30107 * kern/ieee1275/openfw.c: ... to here. Update all users.
30108
30109 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30110 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30111
30112 2008-04-10 Pavel Roskin <proski@gnu.org>
30113
30114 * configure.ac: Always use "_cv_" in cache variables for
30115 compatibility with Autoconf 2.62.
30116
30117 2008-04-07 Robert Millan <rmh@aybabtu.com>
30118
30119 Revert grub/machine/init.h addition by Pavel (since it breaks on
30120 i386-ieee1275 and others):
30121 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30122 * util/powerpc/ieee1275/misc.c: Likewise.
30123
30124 2008-04-07 Robert Millan <rmh@aybabtu.com>
30125
30126 * util/grub-probe.c (probe): Improve error message.
30127
30128 2008-04-07 Robert Millan <rmh@aybabtu.com>
30129
30130 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30131 (this prevents the presence of a bogus entry from ruining the whole
30132 thing).
30133
30134 2008-04-06 Pavel Roskin <proski@gnu.org>
30135
30136 * util/biosdisk.c: Include grub/util/biosdisk.h.
30137 * util/grub-fstest.c (execute_command): Make static.
30138 * util/grub-mkdevicemap.c (check_device): Likewise.
30139 * util/i386/pc/misc.c: Include grub/machine/init.h.
30140 * util/powerpc/ieee1275/misc.c: Likewise.
30141 * util/lvm.c: Include grub/util/lvm.h.
30142 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30143 grub/cache.h.
30144 * util/raid.c: Include grub/util/raid.h.
30145 (grub_util_getdiskname): Make static.
30146
30147 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30148 grub_hostfs_fini(), as they are called from grub_init_all() and
30149 grub_fini_all() respectively. This fixes an infinite loop in
30150 grub-fstest due to double registration of hostfs.
30151 Reported by Christian Franke <Christian.Franke@t-online.de>
30152
30153 2008-04-05 Pavel Roskin <proski@gnu.org>
30154
30155 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30156 all 8 functions. Otherwise, probe function 0 only.
30157
30158 2008-04-04 Pavel Roskin <proski@gnu.org>
30159
30160 * commands/lspci.c (grub_lspci_iter): Print the bus number
30161 correctly.
30162
30163 * commands/lspci.c (grub_pci_classes): Fix typos.
30164 (grub_lspci_iter): Don't print func twice. Print vendor ID
30165 before device ID, as it's normally done.
30166
30167 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30168 Fix signedness warnings.
30169 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30170 Likewise.
30171 * util/ieee1275/get_disk_name.c: Include config.h so that
30172 _GNU_SOURCE is defined and getline() is declared. Mark an
30173 unused argument as such. Fix a signedness warning.
30174
30175 2008-04-02 Pavel Roskin <proski@gnu.org>
30176
30177 * genkernsyms.sh.in: Use more robust assignments for CC and
30178 srcdir. Quote srcdir.
30179 * gensymlist.sh.in: Likewise. Assert at the compile time that
30180 the symbol table is not empty.
30181
30182 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30183 * fs/cpio.c (grub_cpio_read): Likewise.
30184
30185 2008-04-01 Pavel Roskin <proski@gnu.org>
30186
30187 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30188 * disk/host.c (grub_host_open): Likewise.
30189 * disk/loopback.c (grub_loopback_open): Likewise.
30190 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30191 disk->id as in disk/host.c, not a multi-character constant.
30192
30193 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30194 later is obsolete, potentially dangerous and sets a bad example.
30195 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30196 * util/misc.c (grub_util_get_image_size): Likewise.
30197
30198 * disk/loopback.c (options): Improve help for "--partitions".
30199
30200 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30201 options to align them with the short options, e.g. "echo -e".
30202
30203 2008-03-31 Bean <bean123ch@gmail.com>
30204
30205 * video/reader/png.c (grub_png_data): New member is_16bit and
30206 image_data.
30207 (grub_png_decode_image_header): Detect 16 bit png image.
30208 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30209 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30210 (grub_video_reader_png): Release memory occupied by image_data.
30211
30212 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30213 4096 bytes.
30214 (grub_nfs_mount): Skip the test for sector per cluster.
30215
30216 * include/grub/ntfs.h (MAX_SPC): Removed.
30217
30218 2008-03-31 Bean <bean123ch@gmail.com>
30219
30220 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30221 (grub_probe_SOURCES): Add fs/afs.c.
30222 (grub_fstest_SOURCES): Likewise.
30223 (afs_mod_SOURCES): New variable.
30224 (afs_mod_CFLAGS): Likewise.
30225 (afs_mod_LDFLAGS): Likewise.
30226
30227 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30228 (grub_emu_SOURCES): Likewise.
30229
30230 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30231
30232 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30233
30234 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30235
30236 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30237
30238 * fs/afs.c: New file.
30239
30240 2008-03-30 Pavel Roskin <proski@gnu.org>
30241
30242 * disk/host.c: Include grub/misc.h to fix a warning.
30243 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30244 warnings about implicit declarations.
30245
30246 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30247 variable.
30248 * include/grub/i386/loader.h: Change declaration of
30249 grub_linux_boot() to match what grub_loader_set() expects.
30250 * util/getroot.c (grub_guess_root_device): Return const char* to
30251 fix a warning.
30252 * util/grub-probe.c (probe): Fix a warning about uninitialized
30253 abstraction_name variable.
30254 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30255 second argument as unused to fix a warning.
30256
30257 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30258 missing grub_error() call.
30259
30260 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30261 2.60 and newer uses it to define datadir.
30262
30263 * commands/sleep.c: Fix warning about implicit declaration.
30264 * disk/memdisk.c: Likewise.
30265 * loader/aout.c: Likewise.
30266 * loader/i386/bsd_normal.c: Likewise.
30267 * util/grub-probe.c: Likewise.
30268
30269 * commands/i386/cpuid.c (has_longmode): Make static.
30270 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30271 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30272
30273 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30274 GDT. This is more robust, as %ds can change.
30275 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30276 calling real_to_prot().
30277 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30278
30279 2008-03-28 Pavel Roskin <proski@gnu.org>
30280
30281 * kern/i386/pc/startup.S: Assert that uncompressed functions
30282 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30283 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30284 code, as they push parts of the code (error handlers) beyond
30285 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30286 code as correctness and size.
30287
30288 2008-03-28 Pavel Roskin <proski@gnu.org>
30289
30290 * kern/i386/pc/startup.S
30291 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30292 data block address to the real mode, keep offset minimal. This
30293 works around a bug in AWARD BIOS on old Athlon systems, which
30294 makes CD detection hang.
30295
30296 2008-03-26 Pavel Roskin <proski@gnu.org>
30297
30298 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30299 const.
30300 * include/grub/normal.h: Add grub_parse_color_name_pair()
30301 declaration.
30302
30303 2008-03-24 Bean <bean123ch@gmail.com>
30304
30305 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30306 (cd_count): Removed.
30307 (cd_drive): New variable.
30308 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30309 (grub_biosdisk_call_hook): Likewise.
30310 (grub_biosdisk_iterate): Change cdrom detection method.
30311 (grub_biosdisk_open): Replace cd_start with cd_drive.
30312 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30313 detect cdrom device.
30314
30315 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30316 Removed.
30317 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30318 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30319 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30320 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30321 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30322 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30323 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30324 (grub_biosdisk_cdrp): New structure.
30325 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30326
30327 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30328
30329 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30330 device.
30331
30332 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30333 New function.
30334
30335 2008-03-20 Robert Millan <rmh@aybabtu.com>
30336
30337 Remove 2 TiB limit in ata.mod.
30338 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30339 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30340 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30341 grub_uint64_t instead of grub_uint32_t.
30342
30343 2008-03-05 Bean <bean123ch@gmail.com>
30344
30345 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30346 (grub_multiboot): Set boot device.
30347
30348 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30349
30350 2008-03-02 Bean <bean123ch@gmail.com>
30351
30352 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30353 symlink_buffer.
30354
30355 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30356
30357 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30358 texinfo.tex.
30359
30360 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30361 modified.
30362
30363 * docs/fdl.texi: New file.
30364
30365 * docs/mdate-sh: New file. Copied from gnulib.
30366 * docs/texinfo.tex: Likewise.
30367
30368 * config.guess: Updated from gnulib.
30369 * install-sh: Likewise.
30370
30371 2008-02-28 Robert Millan <rmh@aybabtu.com>
30372
30373 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30374 (aout_mod_SOURCES): New variable.
30375 (aout_mod_CFLAGS): Likewise.
30376 (aout_mod_LDFLAGS): Likewise.
30377
30378 * conf/i386-ieee1275.rmk: Likewise.
30379
30380 2008-02-28 Robert Millan <rmh@aybabtu.com>
30381
30382 * util/update-grub.in: Reorganise terminal validity check. Accept
30383 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30384 Based on suggestion by Franklin PIAT.
30385
30386 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30387
30388 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30389 function.
30390 * util/getroot.c (grub_util_check_block_device): New function that
30391 returns the given argument if it is a block device and returns NULL else.
30392 * util/grub-probe.c (argument_is_device): New variable.
30393 (probe): Promote device_name from a variable to an argument. Receive
30394 device_name from grub_util_check_block_device() if path is NULL and from
30395 grub_guess_root_device() else. Do not free() device_name anymore.
30396 (options): Introduce new parameter '-d, --device'.
30397 (main): Add description of the new parameter to the help screen.
30398 Rename path variable to argument. Set argument_is_device if the '-d'
30399 option is given. Pass argument to probe() depending on
30400 argument_is_device.
30401
30402 2008-02-24 Bean <bean123ch@gmail.com>
30403
30404 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30405 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30406 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30407 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30408 (GRUB_ISO9660_VOLDESC_END): Likewise.
30409 (grub_iso9660_primary_voldesc): New member escape.
30410 (grub_iso9660_data): New member joliet.
30411 (grub_iso9660_convert_string): New function.
30412 (grub_iso9660_mount): Detect joliet extension.
30413 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30414 (grub_iso9660_iso9660_label): Likewise.
30415
30416 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30417 (grub_setup_SOURCES): Add fs/udf.c.
30418 (grub_fstest_SOURCES): Likewise.
30419 (udf_mod_SOURCES): New variable.
30420 (udf_mod_CFLAGS): Likewise.
30421 (udf_mod_LDFLAGS): Likewise.
30422
30423 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30424 (grub_emu_SOURCES): Likewise.
30425
30426 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30427
30428 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30429
30430 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30431
30432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30433
30434 * fs/udf.c: New file.
30435
30436 2008-02-24 Robert Millan <rmh@aybabtu.com>
30437
30438 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30439 (normal/lexer.c_DEPENDENCIES): New variables.
30440 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30441 (normal/lexer.c_DEPENDENCIES): Likewise.
30442 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30443 (normal/lexer.c_DEPENDENCIES): Likewise.
30444 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30445 (normal/lexer.c_DEPENDENCIES): Likewise.
30446 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30447 (normal/lexer.c_DEPENDENCIES): Likewise.
30448 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30449 (normal/lexer.c_DEPENDENCIES): Likewise.
30450
30451 2008-02-23 Robert Millan <rmh@aybabtu.com>
30452
30453 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30454 since they were intended to be in hex. This didn't break previously
30455 because of a bug in gpt_partition_map_iterate() (see below).
30456
30457 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30458 when checking the validity of GPT header.
30459 Remove `partno', since it always provides the same information as `i'.
30460
30461 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30462
30463 * include/grub/efi/time.h: Fix a wrong comment.
30464
30465 2008-02-19 Pavel Roskin <proski@gnu.org>
30466
30467 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30468 message.
30469
30470 2008-02-19 Bean <bean123ch@gmail.com>
30471
30472 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30473 (aout_mod_SOURCES): New variable.
30474 (aout_mod_CFLAGS): Likewise.
30475 (aout_mod_LDFLAGS): Likewise.
30476 (_bsd_mod_SOURCES): New variable.
30477 (_bsd_mod_CFLAGS): Likewise.
30478 (_bsd_mod_LDFLAGS): Likewise.
30479 (bsd_mod_SOURCES): New variable.
30480 (bsd_mod_CFLAGS): Likewise.
30481 (bsd_mod_LDFLAGS): Likewise.
30482
30483 * include/grub/aout.h: New file.
30484
30485 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30486
30487 * include/grub/i386/bsd.h: New file.
30488
30489 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30490 to make it public.
30491
30492 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30493 function is called, so that it's possible to change it inside the hook.
30494 (grub_elf64_load): Likewise.
30495 (grub_elf_file): Don't close the file if elf header is not found.
30496 (grub_elf_close): Close the file if grub_elf_file fails (The new
30497 grub_elf_file won't close it).
30498 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30499 (grub_elf64_size): Likewise.
30500
30501 * kern/i386/loader.S (grub_unix_real_boot): New function.
30502
30503 * loader/aout.c: New file.
30504
30505 * loader/i386/bsd.c: New file.
30506
30507 * loader/i386/bsd_normal.c: New file.
30508
30509 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30510
30511 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
30512 can test other formats.
30513
30514 2008-02-19 Robert Millan <rmh@aybabtu.com>
30515
30516 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30517 (grub_gpt_partition_type_empty): Redefine with macro from
30518 `<grub/gpt_partition.h>'.
30519 (gpt_partition_map_iterate): Adjust partition type comparison.
30520
30521 Export `entry' as partmap-specific `part.data' struct.
30522 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30523
30524 * include/grub/gpt_partition.h (grub_gpt_header)
30525 (grub_gpt_partentry): ... to here (new file).
30526
30527 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30528
30529 (grub_gpt_partition_type_bios_boot): New const variable, defined
30530 with macro from `<grub/gpt_partition.h>'.
30531
30532 (setup): Replace `first_start' with `embed_region', which keeps
30533 track of the embed region (and is partmap-agnostic).
30534
30535 Replace find_first_partition_start() with find_usable_region(),
30536 which finds a usable region for embedding using partmap-specific
30537 knowledge (supports PC/MSDOS and GPT).
30538
30539 Fix all assumptions that the embed region start at sector 1, using
30540 `embed_region.start' from now on. Similarly, use `embed_region.end'
30541 rather than `first_start' to calculate available size.
30542
30543 In grub_util_info() message, replace "into after the MBR" with an
30544 indication of the specific sector our embed region starts at.
30545
30546 2008-02-19 Robert Millan <rmh@aybabtu.com>
30547
30548 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30549 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30550 `commands/reboot.c'.
30551 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30552 (halt_mod_SOURCES): Likewise.
30553 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30554 (halt_mod_SOURCES): Likewise.
30555
30556 2008-02-17 Christian Franke <franke@computer.org>
30557
30558 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30559
30560 2008-02-17 Robert Millan <rmh@aybabtu.com>
30561
30562 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30563 set `first_start' to 0 for non-PC/MSDOS partition maps.
30564
30565 2008-02-16 Robert Millan <rmh@aybabtu.com>
30566
30567 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30568 do not assume partition map is PC/MSDOS before performing checks that
30569 are specific to that layout.
30570
30571 2008-02-13 Robert Millan <rmh@aybabtu.com>
30572
30573 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30574 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30575 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30576
30577 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30578
30579 * configure.ac: Only a cosmetic change on the handling of
30580 -fno-stack-protector.
30581
30582 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
30583
30584 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30585 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30586 reboot.c.
30587 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30588 (halt_mod_SOURCES): New variable.
30589 (halt_mod_CFLAGS): Likewise.
30590 (halt_mod_LDFLAGS): Likewise.
30591 (reboot_mod_SOURCES): Likewise.
30592 (reboot_mod_CFLAGS): Likewise.
30593 (reboot_mod_LDFLAGS): Likewise.
30594
30595 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30596 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30597 reboot.c.
30598 (halt_mod_SOURCES): Likewise.
30599 (reboot_mod_SOURCES): Likewise.
30600
30601 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30602 commands/i386/pc/reboot.c by commands/reboot.c.
30603 (reboot_mod_SOURCES): Likewise.
30604
30605 * commands/i386/pc/reboot.c: merge this file ...
30606
30607 * commands/ieee1275/reboot.c: ... and this file ...
30608
30609 * commands/reboot.c: ... to this file.
30610 Add some precompiler directive to include the correct header for
30611 each machine.
30612
30613 * commands/ieee1275/halt.c: move this file ...
30614
30615 * commands/halt.c: ... to here.
30616 Add some precompiler directive to include the correct header for
30617 each machine.
30618
30619 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30620 (grub_halt): Likewise.
30621
30622 * kern/efi/efi.c (grub_reboot): New function.
30623 (grub_halt): Likewise.
30624
30625 2008-02-12 Robert Millan <rmh@aybabtu.com>
30626
30627 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30628 /dev (like it is done for /dev/mapper). This doesn't provide support
30629 for EVMS, but at least it is now easy to identify the problem when it
30630 arises.
30631
30632 2008-02-11 Robert Millan <rmh@aybabtu.com>
30633
30634 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30635 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30636 comparing it with -1, not 0.
30637
30638 2008-02-10 Robert Millan <rmh@aybabtu.com>
30639
30640 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30641 `disk/lvm.c'.
30642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30643 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30644
30645 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30646 `disk/lvm.c' to the end of the list.
30647 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30648 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30649
30650 2008-02-10 Robert Millan <rmh@aybabtu.com>
30651
30652 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30653 grub_print_error() instead. This will let user know why we're entering
30654 rescue mode.
30655 Based on suggestions from Sam Morris.
30656
30657 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
30658
30659 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30660 on remaining N args, instead of "--" arg N times.
30661
30662 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30663
30664 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30665 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30666 pattern for unknown glyphs.
30667
30668 2008-02-09 Robert Millan <rmh@aybabtu.com>
30669
30670 * configure.ac: Probe for `help2man'.
30671 * Makefile.in (builddir): New variable.
30672 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30673 or otherwise add a few flags/options to it.
30674 (install-local): For every executable utility or script that is
30675 installed, invoke $(HELP2MAN) to install a manpage based on --help
30676 output.
30677
30678 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
30679 that it doesn't prevent --help from working in build tree.
30680
30681 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
30682 with `bug-grub@gnu.org'.
30683 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
30684 * util/update-grub.in (usage): New function.
30685 Implement proper argument check, with support for --help and --version
30686 (as well as existing -y).
30687
30688 2008-02-09 Christian Franke <franke@computer.org>
30689
30690 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
30691 avoid overwriting previous output.
30692 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
30693
30694 2008-02-09 Robert Millan <rmh@aybabtu.com>
30695
30696 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
30697 drawing the menu.
30698
30699 2008-02-09 Robert Millan <rmh@aybabtu.com>
30700
30701 * commands/sleep.c: New file.
30702 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
30703 (sleep_mod_SOURCES): New variable.
30704 (sleep_mod_CFLAGS): Likewise.
30705 (sleep_mod_LDFLAGS): Likewise.
30706
30707 2008-02-09 Robert Millan <rmh@aybabtu.com>
30708
30709 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
30710 situations in which we can deduce the RAID size and the superblock
30711 doesn't match it.
30712
30713 2008-02-09 Robert Millan <rmh@aybabtu.com>
30714
30715 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
30716 and return a grub_diskmemberlist_t composed of LVM physical volumes.
30717 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
30718
30719 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
30720 and return a grub_diskmemberlist_t composed of physical array members.
30721 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
30722
30723 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
30724 prototype.
30725 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
30726 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
30727 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
30728
30729 * util/grub-probe.c (probe): Move partmap probing code from here ...
30730 (probe_partmap): ... to here.
30731 (probe): Use probe_partmap() once for the disk we're probing, and
30732 additionally, when such disk contains a memberlist() struct member,
30733 once for each disk that is contained in the structure returned by
30734 memberlist().
30735
30736 2008-02-09 Robert Millan <rmh@aybabtu.com>
30737
30738 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
30739 environment variable to 'all' in order to obtain debug output from
30740 non-util/ code.
30741 * util/i386/pc/grub-setup.c (main): Likewise.
30742
30743 2008-02-08 Robert Millan <rmh@aybabtu.com>
30744
30745 * disk/raid.c (grub_raid_scan_device): Check for
30746 `array->device[sb.this_disk.number]' rather than for
30747 `array->device[sb.this_disk.number]->name', since the latter is not
30748 guaranteed to be accessible.
30749
30750 2008-02-08 Robert Millan <rmh@aybabtu.com>
30751
30752 * disk/raid.c: Update copyright.
30753 * fs/cpio.c: Likewise.
30754 * include/grub/raid.h: Likewise.
30755 * loader/i386/pc/multiboot.c: Likewise.
30756 * util/hostfs.c: Likewise.
30757
30758 2008-02-08 Robert Millan <rmh@aybabtu.com>
30759
30760 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
30761 to a grub_disk_t array.
30762 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
30763 `device[x]'.
30764 (grub_raid_scan_device): Replace `device[x].name' accesses with
30765 `device[x]->name'. Simplify initialization of `array->device[x]'.
30766
30767 2008-02-08 Robert Millan <rmh@aybabtu.com>
30768
30769 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
30770 grub_dprintf() calls.
30771 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
30772 error message.
30773
30774 2008-02-07 Christian Franke <franke@computer.org>
30775
30776 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
30777 instead of fseek and ftell to support large files.
30778 (grub_hostfs_read): Likewise.
30779
30780 2008-02-07 Robert Millan <rmh@aybabtu.com>
30781
30782 Patch from Jeroen Dekkers.
30783 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
30784 failure, since successfully reading all array members might not be
30785 required.
30786
30787 2008-02-06 Robert Millan <rmh@aybabtu.com>
30788
30789 * util/grub-probe.c (probe): Simplify partmap probing (with the
30790 assumption that the first word up to the underscore equals to
30791 the module name).
30792
30793 2008-02-06 Christian Franke <franke@computer.org>
30794
30795 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
30796 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
30797 last block of a cpio or tar stream.
30798 Check for "TRAILER!!!" instead of any empty data
30799 block to detect last block of a cpio stream.
30800 (grub_cpio_dir): Fix constness of variable np.
30801 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
30802 cpio or tar trailer is detected. This fixes a crash
30803 on open of a non existing file.
30804
30805 2008-02-05 Bean <bean123ch@gmail.com>
30806
30807 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
30808 address of entry.
30809 (grub_multiboot_load_elf64): Likewise.
30810 (grub_multiboot): Initialize mbi structure.
30811
30812 * util/grub-fstest.c: Don't include unused header file script.h.
30813
30814 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
30815 of file.
30816 (grub_fstest_SOURCES): Likewise.
30817
30818 2008-02-05 Robert Millan <rmh@aybabtu.com>
30819
30820 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
30821 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
30822 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
30823 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
30824
30825 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
30826 (translation_table): Replace hardcoded values with macros
30827 provided by `<grub/term.h>'.
30828
30829 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
30830 (keyboard_map): Correct/add a few values, with macros provided
30831 by `<grub/term.h>'.
30832 (keyboard_map_shift): Zero values that don't differ from their
30833 `keyboard_map' equivalents.
30834 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
30835 Discard the second scan code that is always sent by Caps lock.
30836 Only use `keyboard_map_shift' when it provides a non-zero value,
30837 otherwise fallback to `keyboard_map'.
30838
30839 2008-02-04 Bean <bean123ch@gmail.com>
30840
30841 * Makefile.in (enable_grub_fstest): New variable.
30842
30843 * conf/common.rmk (grub_fstest_init.lst): New rule.
30844 (grub_fstest_init.h): Likewise.
30845 (grub_fstest_init.c): Likewise.
30846 (util/grub-fstest.c_DEPENDENCIES): New variable.
30847 (grub_fstest_SOURCES): Likewise.
30848
30849 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
30850
30851 * util/grub-fstest.c: New file.
30852
30853 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30854
30855 Make grub-setup handle a separate root device.
30856
30857 * util/i386/pc/grub-setup.c (setup): Always open the root device,
30858 so that the root device can be compared with the destination
30859 device.
30860 When embedding the core image, if the root and destination devices
30861 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
30862 0xFF.
30863 When not embedding, set ROOT_DRIVE to 0xFF.
30864
30865 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30866
30867 Add support for having a grub directory in a different drive. This
30868 is still only the data handling part.
30869
30870 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
30871 (codestart): Save %dh in GRUB_ROOT_DRIVE.
30872 (grub_root_drive): New variable.
30873
30874 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
30875 instead of GRUB_BOOT_DRIVE to construct a device name. Set
30876 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
30877 as it was.
30878
30879 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
30880
30881 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
30882 macro.
30883 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
30884
30885 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
30886 is bogus, because PXE booting does not specify any drive
30887 correctly.
30888
30889 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
30890 am not sure if this is really correct.
30891
30892 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
30893 is always identical to the boot drive when booting from a CD.
30894
30895 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
30896 longer.
30897 (root_drive): New variable.
30898 (real_start): Unconditionally set %dh to ROOT_DRIVE.
30899 (setup_sectors): Push %dx right after popping it, because %dh will
30900 be modified later.
30901 (copy_buffer): Restore %dx.
30902
30903 2008-02-03 Robert Millan <rmh@aybabtu.com>
30904
30905 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
30906 use `cdboot.img' for cdrom images.
30907
30908 2008-02-03 Robert Millan <rmh@aybabtu.com>
30909
30910 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
30911 only setup gfxterm when `font' command has succeeded.
30912
30913 2008-02-03 Robert Millan <rmh@aybabtu.com>
30914
30915 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
30916 (grub_rescue_cmd_multiboot_loader)
30917 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
30918
30919 2008-02-03 Pavel Roskin <proski@gnu.org>
30920
30921 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
30922 %edx and %esi from stack only after grub_gate_a20() is called.
30923 grub_gate_a20() clobbers %edx.
30924
30925 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30926
30927 * configure.ac (AC_INIT): Bumped to 1.96.
30928
30929 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
30930 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
30931 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
30932 video/readers/png.c.
30933
30934 2008-02-03 Bean <bean123ch@gmail.com>
30935
30936 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
30937 (cdboot_img_SOURCES): New variable.
30938 (cdboot_img_ASFLAGS): New variable.
30939 (cdboot_img_LDFLAGS): New variable.
30940
30941 * boot/i386/pc/cdboot.S: New file.
30942
30943 * disk/i386/pc/biosdisk.c (cd_start): New variable.
30944 (cd_count): Likewise.
30945 (grub_biosdisk_get_drive): Add support for cd device.
30946 (grub_biosdisk_call_hook): Likewise.
30947 (grub_biosdisk_iterate): Likewise.
30948 (grub_biosdisk_open): Likewise.
30949 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
30950 (grub_biosdisk_rw): Support reading from cd device.
30951 (GRUB_MOD_INIT): Iterate cd devices.
30952
30953 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
30954 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
30955 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
30956
30957 * kern/i386/pc/init.c (make_install_device): Check for cd device.
30958
30959 2008-02-02 Robert Millan <rmh@aybabtu.com>
30960
30961 * commands/read.c: New file.
30962 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
30963 (read_mod_SOURCES): New variable.
30964 (read_mod_CFLAGS): Likewise.
30965 (read_mod_LDFLAGS): Likewise.
30966
30967 2008-02-02 Robert Millan <rmh@aybabtu.com>
30968
30969 * normal/main.c (grub_normal_execute): Check for `menu->size' when
30970 determining whether menu has to be displayed.
30971
30972 2008-02-02 Marco Gerards <marco@gnu.org>
30973
30974 * bus/pci.c: New file.
30975
30976 * include/grub/pci.h: Likewise.
30977
30978 * include/grub/i386/pc/pci.h: Likewise.
30979
30980 * commands/lspci.c: Likewise.
30981
30982 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
30983 `lspci.mod'.
30984 (pci_mod_SOURCES): New variable.
30985 (pci_mod_CFLAGS): Likewise.
30986 (pci_mod_LDFLAGS): Likewise.
30987 (lspci_mod_SOURCES): Likewise.
30988 (lspci_mod_CFLAGS): Likewise.
30989 (lspci_mod_LDFLAGS): Likewise.
30990
30991 2008-02-02 Bean <bean123ch@gmail.com>
30992
30993 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
30994 (grub_ufs_get_file_block): Fix indirect block calculation problem.
30995
30996 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
30997 (grub_xfs_btree_node): New structure.
30998 (grub_xfs_btree_root): New structure.
30999 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
31000 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
31001 (GRUB_XFS_EXTENT_BLOCK): Likewise.
31002 (GRUB_XFS_EXTENT_SIZE): Likewise.
31003 (grub_xfs_read_block): Support btree format type.
31004 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
31005 Use directory block as basic unit.
31006
31007 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
31008
31009 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
31010 __attribute__ ((__regparm__ (1))).
31011
31012 2008-02-01 Robert Millan <rmh@aybabtu.com>
31013
31014 Correct a mistake in previous commit.
31015
31016 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
31017 top.
31018 (normal/command.c_DEPENDENCIES): New variable.
31019
31020 2008-02-01 Robert Millan <rmh@aybabtu.com>
31021
31022 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
31023 top.
31024 (normal/command.c_DEPENDENCIES): New variable.
31025 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
31026 * conf/i386-ieee1275.rmk: Likewise.
31027 * conf/i386-linuxbios.rmk: Likewise.
31028 * conf/i386-pc.rmk: Likewise.
31029 * conf/sparc64-ieee1275.rmk: Likewise.
31030 * conf/powerpc-ieee1275.rmk: Likewise.
31031 (grub_emu_SOURCES): Add `fs/fshelp.c'.
31032
31033 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
31034
31035 2008-02-01 Robert Millan <rmh@aybabtu.com>
31036
31037 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
31038 call at beginning of function.
31039
31040 2008-01-31 Pavel Roskin <proski@gnu.org>
31041
31042 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
31043 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
31044 (grub_mkrescue_SOURCES): Likewise.
31045 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
31046
31047 2008-01-30 Robert Millan <rmh@aybabtu.com>
31048
31049 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31050 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31051 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31052 (grub_probe_SOURCES): ... to here.
31053
31054 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31055 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31056 * conf/i386-ieee1275.rmk: Likewise.
31057 * conf/i386-linuxbios.rmk: Likewise.
31058 * conf/powerpc-ieee1275.rmk: Likewise.
31059
31060 2008-01-30 Tristan Gingold <gingold@free.fr>
31061
31062 * kern/rescue.c: Silently accept empty lines.
31063
31064 2008-01-29 Bean <bean123ch@gmail.com>
31065
31066 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31067 (real_code_2): Code cleanup and change comment style.
31068 (move_memory): Avoid using 32-bit address mode.
31069
31070 2008-01-29 Bean <bean123ch@gmail.com>
31071
31072 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31073 (png_mod_SOURCES): New variable.
31074 (png_mod_CFLAGS): Likewise.
31075 (png_mod_LDFLAGS): Likewise.
31076
31077 * video/readers/png.c: New file.
31078
31079 2008-01-28 Robert Millan <rmh@aybabtu.com>
31080
31081 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31082 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31083 `ifndef GRUB_MOD_GAP' hack.
31084 * util/elf/grub-mkimage.c (add_segments): Likewise.
31085
31086 2008-01-27 Robert Millan <rmh@aybabtu.com>
31087
31088 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31089 `GRUB_MOD_GAP' for platforms in which it's not defined.
31090 * util/elf/grub-mkimage.c (add_segments): Likewise.
31091
31092 2008-01-27 Robert Millan <rmh@aybabtu.com>
31093
31094 Get grub-emu to build again (including parallel builds).
31095
31096 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31097 Split into ...
31098 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31099 (normal/execute.c_DEPENDENCIES): ... this, ...
31100 (grub-emu_DEPENDENCIES): ... and this.
31101
31102 * conf/i386-efi.rmk: Likewise.
31103 * conf/i386-linuxbios.rmk: Likewise.
31104 * conf/i386-ieee1275.rmk: Likewise.
31105 * conf/powerpc-ieee1275.rmk: Likewise.
31106 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31107
31108 2008-01-27 Robert Millan <rmh@aybabtu.com>
31109
31110 * NEWS: Add a few items.
31111
31112 2008-01-27 Robert Millan <rmh@aybabtu.com>
31113
31114 Fix parallel builds with grub-emu. Based on earlier commit for
31115 grub-probe and grub-setup.
31116
31117 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31118 (util/grub-emu.c_DEPENDENCIES): ... this.
31119 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31120 (util/grub-emu.c_DEPENDENCIES): ... this.
31121 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31122 (util/grub-emu.c_DEPENDENCIES): ... this.
31123 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31124 (util/grub-emu.c_DEPENDENCIES): ... this.
31125 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31126 (util/grub-emu.c_DEPENDENCIES): ... this.
31127
31128 2008-01-27 Pavel Roskin <proski@gnu.org>
31129
31130 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31131 to create a gap between _end and the modules added to the image
31132 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31133 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31134 * util/elf/grub-mkimage.c (add_segments): Likewise.
31135
31136 2008-01-26 Pavel Roskin <proski@gnu.org>
31137
31138 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31139 just return an error.
31140
31141 2008-01-26 Bean <bean123ch@gmail.com>
31142
31143 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31144 (grub_reiserfs_get_item): Save offset of the next item.
31145 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31146
31147 2008-01-25 Robert Millan <rmh@aybabtu.com>
31148
31149 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31150 make all filesystem sources appear together (possibly fixing omissions
31151 while at it).
31152 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31153 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31154 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31156
31157 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31158 add `kern/file.c'.
31159 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31160 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31161 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31162 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31163
31164 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31165 (probe): Add a sanity check to make sure of our ability to read
31166 requested files when probing for filesystem type.
31167
31168 * genmk.rb: Update copyright year (2007).
31169
31170 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31171 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31172 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31173 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31174 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31175 : Remove function prototypes.
31176
31177 2008-01-25 Robert Millan <rmh@aybabtu.com>
31178
31179 Revert my previous commits (based on wrong assumption of how grub_errno
31180 works).
31181
31182 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
31183 * kern/file.c (grub_file_open): Likewise.
31184
31185 2008-01-24 Pavel Roskin <proski@gnu.org>
31186
31187 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31188 that hang if GRUB tries to setup colors.
31189 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31190 colors for firmwares that don't support it.
31191 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31192 Recognize Open Hack'Ware, set flags to work around its
31193 limitations.
31194
31195 2008-01-24 Robert Millan <rmh@aybabtu.com>
31196
31197 * kern/file.c (grub_file_open): Do not account previous failures of
31198 unrelated functions when grub_errno is checked for.
31199 Reported by Oleg Strikov.
31200
31201 2008-01-24 Bean <bean123ch@gmail.com>
31202
31203 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31204 (grub_ufs_sblock): New member volume name.
31205 (grub_ufs_find_file): Fix string copy bug.
31206 (grub_ufs_label): Implement this function properly.
31207
31208 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31209 (grub_hfs_iterate_records): Use the correct file number for extents
31210 and catalog file. Fix problem in next index calculation.
31211 (grub_hfs_find_node): Replace recursive function call with loop.
31212 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31213
31214 2008-01-23 Robert Millan <rmh@aybabtu.com>
31215
31216 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31217 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31218 (grub_multiboot2_real_boot): New function prototype.
31219
31220 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31221 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31222
31223 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31224 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31225
31226 2008-01-23 Robert Millan <rmh@aybabtu.com>
31227
31228 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31229 #ifdef'ed out grub_printf().
31230
31231 2008-01-23 Robert Millan <rmh@aybabtu.com>
31232
31233 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31234 grub_dprintf calls, since they make "debug=all" mode unusable.
31235 (grub_console_checkkey): Likewise.
31236
31237 2008-01-23 Robert Millan <rmh@aybabtu.com>
31238
31239 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31240 `term/i386/pc/at_keyboard.c'.
31241 (pkglib_MODULES): Add `serial.mod'.
31242 (serial_mod_SOURCES): New variable.
31243 (serial_mod_CFLAGS): Likewise.
31244 (serial_mod_LDFLAGS): Likewise.
31245
31246 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31247 `<grub/powerpc/ieee1275/console.h>'.
31248 (grub_keyboard_controller_init): New function prototype.
31249 (grub_console_checkkey): Likewise.
31250 (grub_console_getkey): Likewise.
31251
31252 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31253 keyboard on i386.
31254
31255 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31256 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31257
31258 2008-01-23 Robert Millan <rmh@aybabtu.com>
31259
31260 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31261 present, "(memdisk)/boot/grub" becomes the default prefix.
31262
31263 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31264 a memdisk tarball with all the modules. Add --overlay=DIR option that
31265 allows users to overlay additional files into the image.
31266
31267 2008-01-23 Robert Millan <rmh@aybabtu.com>
31268
31269 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31270 and `machine/memory.h'.
31271 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31272 (_multiboot_mod_SOURCES): New variable.
31273 (_multiboot_mod_CFLAGS): Likewise.
31274 (_multiboot_mod_LDFLAGS): Likewise.
31275 (multiboot_mod_SOURCES): Likewise.
31276 (multiboot_mod_CFLAGS): Likewise.
31277 (multiboot_mod_LDFLAGS): Likewise.
31278
31279 * include/grub/i386/ieee1275/loader.h: New file.
31280
31281 * include/grub/i386/ieee1275/machine.h: Likewise.
31282
31283 * include/grub/i386/ieee1275/memory.h: Likewise.
31284
31285 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31286 variable declaration.
31287 (grub_os_area_size): Likewise.
31288
31289 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31290 (grub_lower_mem, grub_upper_mem): New variables.
31291 (grub_stop_floppy): New function (just to make
31292 grub_multiboot2_real_boot() happy).
31293
31294 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31295 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31296 (grub_stop): New function.
31297 Include `"../realmode.S"' and `"../loader.S"'.
31298
31299 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31300 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31301
31302 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31303 rely on grub_multiboot2_real_boot() for final boot.
31304
31305 2008-01-22 Robert Millan <rmh@aybabtu.com>
31306
31307 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31308 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31309 device that doesn't look like an SD card.
31310 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31311 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31312 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31313 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31314 found.
31315
31316 2008-01-22 Robert Millan <rmh@aybabtu.com>
31317
31318 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31319 avoid claiming over our own code.
31320
31321 2008-01-22 Bean <bean123ch@gmail.com>
31322
31323 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31324 (jpeg_mod_SOURCES): New variable.
31325 (jpeg_mod_CFLAGS): Likewise.
31326 (jpeg_mod_LDFLAGS): Likewise.
31327
31328 * video/readers/jpeg.c : New file.
31329
31330 2008-01-22 Bean <bean123ch@gmail.com>
31331
31332 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31333 there are no more items.
31334
31335 2008-01-21 Robert Millan <rmh@aybabtu.com>
31336
31337 * kern/mm.c (grub_mm_init_region): Improve debug message.
31338
31339 2008-01-21 Robert Millan <rmh@aybabtu.com>
31340
31341 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31342 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31343 address.
31344 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31345 a C macro.
31346 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31347 Indicates start of upper memory.
31348 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31349 (generate_image): Abort when image size is big enough to corrupt
31350 upper memory.
31351
31352 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31353 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31354 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31355 instead of hardcoding 0xA0000.
31356 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31357 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31358 instead of hardcoding 0xA0000.
31359
31360 2008-01-21 Robert Millan <rmh@aybabtu.com>
31361
31362 * disk/memdisk.c (memdisk_size): New variable.
31363 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31364 `memdisk_size'.
31365 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31366 image to dynamic memory.
31367 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31368 `memdisk_size'. Free memdisk block.
31369
31370 2008-01-21 Robert Millan <rmh@aybabtu.com>
31371
31372 Fix detection of very small filesystems (like tar).
31373
31374 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31375 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31376 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31377 a problem with this disk).
31378
31379 2008-01-21 Robert Millan <rmh@aybabtu.com>
31380
31381 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31382 on grub_biosdisk_rw_standard() error.
31383
31384 2008-01-21 Robert Millan <rmh@aybabtu.com>
31385
31386 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31387 recent changes.
31388 * kern/elf.c: Likewise.
31389 * kern/ieee1275/ieee1275.c: Likewise.
31390 * kern/powerpc/ieee1275/openfw.c: Likewise.
31391 * term/ieee1275/ofconsole.c: Likewise.
31392
31393 2008-01-21 Robert Millan <rmh@aybabtu.com>
31394
31395 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31396
31397 * include/grub/kernel.h (grub_arch_memdisk_addr)
31398 (grub_arch_memdisk_size): Moved from here ...
31399
31400 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31401 (grub_arch_memdisk_size): ... to here.
31402
31403 2008-01-21 Robert Millan <rmh@aybabtu.com>
31404
31405 Mostly based on bugfix from Bean.
31406
31407 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31408 attribute with hook() parameter.
31409 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31410 declaration.
31411 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31412 attribute with hook() parameter.
31413 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31414 declaration.
31415
31416 2008-01-21 Robert Millan <rmh@aybabtu.com>
31417
31418 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31419 (pkglib_MODULES): Add `memdisk.mod'.
31420 (memdisk_mod_SOURCES): New variable.
31421 (memdisk_mod_CFLAGS): Likewise.
31422 (memdisk_mod_LDFLAGS): Likewise.
31423
31424 * disk/memdisk.c: New file.
31425
31426 * include/grub/disk.h (grub_disk_dev_id): Add
31427 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31428
31429 * include/grub/i386/pc/kernel.h
31430 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31431 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31432 (grub_kernel_image_size): New variable declaration.
31433 (grub_total_module_size): Likewise.
31434 (grub_memdisk_image_size): Likewise.
31435
31436 * include/grub/i386/pc/memory.h
31437 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31438
31439 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31440 (grub_arch_memdisk_addr): New variable declaration.
31441 (grub_arch_memdisk_size): Likewise.
31442
31443 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31444 (grub_arch_memdisk_size): Likewise.
31445
31446 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31447 (codestart): Replace hardcoded `0x100000' with
31448 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31449
31450 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31451 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31452 not NULL, append the contents of the file it refers to, at the end of
31453 the compressed kernel image. Initialize `grub_memdisk_image_size'
31454 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31455 (options): Add "memdisk"|'m' option.
31456 (main): Parse --memdisk|-m option, and pass user-provided path as
31457 parameter to generate_image().
31458
31459 2008-01-20 Robert Millan <rmh@aybabtu.com>
31460
31461 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31462 grub_dprintf() calls from here ...
31463 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31464
31465 2008-01-20 Robert Millan <rmh@aybabtu.com>
31466
31467 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31468
31469 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31470 declaration.
31471 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31472 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31473 `GRUB_IEEE1275_FLAG_REAL_MODE'.
31474 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
31475 property).
31476 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31477 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31478
31479 2008-01-19 Robert Millan <rmh@aybabtu.com>
31480
31481 Get rid of confusing function (superseded by
31482 `grub_ieee1275_get_integer_property')
31483 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31484 prototype.
31485 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31486 function.
31487 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31488 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
31489 in native endianness from grub_ieee1275_get_integer_property().
31490
31491 2008-01-19 Robert Millan <rmh@aybabtu.com>
31492
31493 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31494 command after "shut-down", since implementations differ on which
31495 the command for halt is.
31496
31497 2008-01-19 Robert Millan <rmh@aybabtu.com>
31498
31499 * include/grub/i386/linuxbios/console.h: Add header protection.
31500 (grub_keyboard_controller_init): New function prototype.
31501 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31502 (KEYBOARD_COMMAND_READ): Likewise.
31503 (KEYBOARD_COMMAND_WRITE): Likewise.
31504 (KEYBOARD_SCANCODE_SET1): Likewise.
31505 (grub_keyboard_controller_write): New function.
31506 (grub_keyboard_controller_read): Likewise.
31507 (grub_keyboard_controller_init): Likewise.
31508
31509 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31510 (grub_console_init): On coreboot/LinuxBIOS, call
31511 grub_keyboard_controller_init().
31512
31513 2008-01-19 Robert Millan <rmh@aybabtu.com>
31514
31515 PowerPC changes provided by Pavel Roskin.
31516
31517 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31518 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31519 don't rely on cmain() doing it.
31520 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31521 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31522
31523 2008-01-16 Robert Millan <rmh@aybabtu.com>
31524
31525 * include/grub/i386/linuxbios/memory.h
31526 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31527 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31528 receive `table_header' as argument. Instead, probe for it in the
31529 known memory ranges where it can be present.
31530 (grub_available_iterate): Do not pass a fixed `table_header' address
31531 to grub_linuxbios_table_iterate().
31532
31533 2008-01-15 Robert Millan <rmh@aybabtu.com>
31534
31535 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31536 * conf/i386-ieee1275.rmk: New file.
31537 * include/grub/i386/ieee1275/console.h: Likewise.
31538 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31539 * include/grub/i386/ieee1275/kernel.h: Likewise.
31540 * include/grub/i386/ieee1275/time.h: Likewise.
31541 * kern/i386/ieee1275/init.c: Likewise.
31542 * kern/i386/ieee1275/startup.S: Likewise.
31543
31544 2008-01-15 Robert Millan <rmh@aybabtu.com>
31545
31546 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31547 when pointers are 32-bit (but still do set it to one when they are
31548 64-bit).
31549
31550 2008-01-15 Robert Millan <rmh@aybabtu.com>
31551
31552 * include/grub/ieee1275/ieee1275.h
31553 (grub_ieee1275_get_integer_property): New function prototype.
31554
31555 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31556 (grub_ieee1275_get_integer_property): New function. Wraps around
31557 grub_ieee1275_get_property() to handle endianness.
31558
31559 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31560 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
31561 where appropriate.
31562 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31563 (grub_map): Likewise.
31564 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31565
31566 2008-01-15 Bean <bean123ch@gmail.com>
31567
31568 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31569 (grub_script_execute_cmdline): Reset grub_errno.
31570
31571 * normal/main.c (read_config_file): Reset grub_errno.
31572
31573 * normal/parse.y (script_init): New.
31574 (script): Move function and menuentry here.
31575 (delimiter): New.
31576 (command): Add delimiter at the end of command.
31577 (commands): Adjust to match the new command.
31578 (commandblock): Remove grub_script_lexer_record_start.
31579 (menuentry): Add grub_script_lexer_record_start, use the new commands.
31580 (if): Use the new commands.
31581
31582 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31583
31584 2008-01-15 Robert Millan <rmh@aybabtu.com>
31585
31586 * normal/menu.c (run_menu): Move timeout message from here ...
31587 (print_timeout): ... to here.
31588 (run_menu): Use print_timeout() once during initial draw to print
31589 the whole message, and again in every clock tick to update only
31590 the number of seconds.
31591
31592 2008-01-15 Robert Millan <rmh@aybabtu.com>
31593
31594 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31595 actual size of `available' from grub_ieee1275_get_property(), and
31596 restrict parsing to that bound.
31597
31598 2008-01-15 Christian Franke <franke@computer.org>
31599
31600 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31601 (argp_program_version): Remove variable.
31602 (argp_program_bug_address): Likewise.
31603 (options): Convert from struct argp_option to struct option.
31604 (struct arguments): Remove.
31605 (parse_opt): Remove.
31606 (usage): New function.
31607 (main): Replace struct args members by simple variables.
31608 Replace argp_parse() by getopt_long().
31609 Add switch to evaluate options.
31610 Add missing "(...)" around root_dev in prefix string.
31611
31612 2008-01-14 Robert Millan <rmh@aybabtu.com>
31613
31614 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31615 for grub_ieee1275_exit(), in order to improve portability.
31616
31617 2008-01-14 Robert Millan <rmh@aybabtu.com>
31618
31619 * util/grub.d/10_linux.in (prefix): Define.
31620 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31621
31622 2008-01-13 Pavel Roskin <proski@gnu.org>
31623
31624 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31625 grub_errno if no errors have been detected.
31626
31627 2008-01-12 Robert Millan <rmh@aybabtu.com>
31628
31629 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31630 (grub_util_get_dev_abstraction): New function prototype.
31631
31632 * util/getroot.c: Include `<grub/util/getroot.h>'
31633 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31634 (grub_util_get_dev_abstraction): ... here (new function).
31635
31636 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31637 `PRINT_ABSTRACTION'.
31638 (probe): Probe for abstraction type when requested.
31639 (main): Understand `--target=abstraction'.
31640
31641 * util/i386/efi/grub-install.in: Add abstraction module to core
31642 image when it is found to be necessary.
31643 * util/i386/pc/grub-install.in: Likewise.
31644 * util/powerpc/ieee1275/grub-install.in: Likewise.
31645
31646 * util/update-grub_lib.in (font_path): Return system path without
31647 converting to GRUB path.
31648 * util/update-grub.in: Convert system path returned by font_path()
31649 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31650 abstraction module is needed for loading fonts (if any). Export
31651 that as `GRUB_PRELOAD_MODULES'.
31652 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31653 insmod commands).
31654
31655 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31656
31657 Remove some unused code from reiserfs.
31658
31659 * fs/reiserfs.c (struct grub_reiserfs_key)
31660 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31661 (struct grub_reiserfs_node_body): Removed.
31662 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31663 Likewise.
31664 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31665 Likewise.
31666 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31667 Likewise.
31668 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31669 Likewise.
31670 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31671 Likewise.
31672 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31673 Likewise.
31674 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31675 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31676 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31677
31678 2008-01-10 Robert Millan <rmh@aybabtu.com>
31679
31680 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
31681 Determines if a file is garbage left by packaging systems, etc.
31682 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
31683 for processing /etc/grub.d scripts.
31684 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
31685 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
31686 as a condition for processing Linux images.
31687
31688 2008-01-10 Pavel Roskin <proski@gnu.org>
31689
31690 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
31691 to compile reiserfs.c on PowerPC.
31692
31693 2008-01-10 Robert Millan <rmh@aybabtu.com>
31694
31695 * kern/device.c (grub_device_iterate): Do not abort device iteration
31696 when one of the devices cannot be opened.
31697 * kern/disk.c (grub_disk_open): Do not account previous failures of
31698 unrelated functions when grub_errno is checked for.
31699
31700 2008-01-08 Robert Millan <rmh@aybabtu.com>
31701
31702 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
31703 `! grub_linux_is_bzimage', change order of address comparison to make
31704 it more intuitive, and improve "too big zImage" error message.
31705
31706 2008-01-08 Robert Millan <rmh@aybabtu.com>
31707
31708 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
31709 `$(update-grub_DATA)'.
31710 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
31711 targets.
31712
31713 2008-01-07 Robert Millan <rmh@aybabtu.com>
31714
31715 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
31716 which instruction is modified by grub-setup during installation
31717 (since it wasn't obvious by only looking at this file).
31718
31719 2008-01-07 Robert Millan <rmh@aybabtu.com>
31720
31721 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
31722 listing actual TODO items.
31723
31724 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31725
31726 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
31727 correctly.
31728 (grub_reiserfs_get_key_offset): Likewise.
31729 (grub_reiserfs_set_key_offset): Likewise.
31730 (grub_reiserfs_set_key_type): Likewise.
31731 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
31732
31733 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
31734 better to remove the bitfield version completely.
31735
31736 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31737
31738 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
31739 allocated from the heap, due to the fshelp implementation.
31740 (grub_reiserfs_dir): Free NODE, due to the same reason.
31741
31742 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31743
31744 Mostly from Vincent Pelletier:
31745
31746 * fs/reiserfs.c: New file.
31747
31748 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
31749 (reiserfs_mod_SOURCES): New variable.
31750 (reiserfs_mod_CFLAGS): Likewise.
31751 (reiserfs_mod_LDFLAGS): Likewise.
31752
31753 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
31754 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
31755 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
31756 normal/color.c.
31757
31758 2008-01-06 Robert Millan <rmh@aybabtu.com>
31759
31760 * normal/color.c: Remove `<grub/env.h>'.
31761
31762 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
31763
31764 * include/grub/normal.h: Include <grub/env.h>.
31765
31766 2008-01-05 Robert Millan <rmh@aybabtu.com>
31767
31768 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
31769 usage example with `(hd0,1)'.
31770 Reported by Samuel Thibault.
31771
31772 2008-01-05 Robert Millan <rmh@aybabtu.com>
31773
31774 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
31775 (grub_linux_boot_zimage): Rename to ...
31776 (grub_linux_boot): ... this.
31777 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
31778 (grub_linux_boot_zimage): Conditionalize zImage copy.
31779
31780 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
31781 (grub_linux_boot_bzimage): Remove prototype.
31782 (grub_linux_boot_zimage): Rename to ...
31783 (grub_linux_boot): ... this.
31784
31785 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
31786 (grub_linux_boot): Remove function.
31787
31788 2008-01-05 Robert Millan <rmh@aybabtu.com>
31789
31790 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
31791 (grub_env_write_color_highlight): Likewise.
31792 (grub_wait_after_message): Likewise.
31793
31794 * normal/color.c: New file.
31795
31796 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31797 (normal_mod_DEPENDENCIES): Likewise.
31798
31799 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31800 (normal_mod_DEPENDENCIES): Likewise.
31801
31802 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31803 (normal_mod_DEPENDENCIES): Likewise.
31804
31805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31806 (normal_mod_DEPENDENCIES): Likewise.
31807
31808 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
31809 for waiting after a message is printed.
31810 * normal/main.c (read_config_file): Likewise.
31811 (grub_normal_init): Register grub_env_write_color_normal() and
31812 grub_env_write_color_highlight() hooks. Mark `color_normal' and
31813 `color_highlight' variables as global.
31814
31815 * normal/menu.c (grub_wait_after_message): New function.
31816 (grub_color_menu_normal): New variable. Replaces ...
31817 (GRUB_COLOR_MENU_NORMAL): ... this macro.
31818 (grub_color_menu_highlight): New variable. Replaces ...
31819 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
31820 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
31821 `GRUB_TERM_COLOR_STANDARD'.
31822 (print_message): Use `grub_setcolorstate' to reload colors. Rename
31823 `normal_code' and `highlight_code' to `old_color_normal' and
31824 `old_color_highlight', respectively.
31825 (grub_menu_init_page): Update colors when drawing the menu, based on
31826 `menu_color_normal' and `menu_color_highlight' variables.
31827 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
31828 a message is printed.
31829
31830 2008-01-05 Robert Millan <rmh@aybabtu.com>
31831
31832 * kern/env.c (grub_env_context_open): Propagate hooks for global
31833 variables to new context.
31834
31835 * kern/main.c (grub_set_root_dev): Export `root' variable.
31836
31837 2008-01-05 Robert Millan <rmh@aybabtu.com>
31838
31839 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
31840 discs unconditionally, since udev and others have options to provide
31841 them.
31842
31843 2008-01-05 Robert Millan <rmh@aybabtu.com>
31844
31845 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
31846
31847 2008-01-04 Christian Franke <franke@computer.org>
31848
31849 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
31850 of eisa_mmap.
31851
31852 2008-01-03 Pavel Roskin <proski@gnu.org>
31853
31854 * kern/i386/linuxbios/init.c: Put "void" to all function
31855 declarations with no arguments.
31856 * kern/powerpc/ieee1275/init.c: Likewise.
31857 * term/i386/pc/at_keyboard.c: Likewise.
31858 * term/i386/pc/vga_text.c: Likewise.
31859 * util/grub-mkdevicemap.c: Likewise.
31860
31861 2008-01-02 Robert Millan <rmh@aybabtu.com>
31862
31863 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
31864 message when loaded image is out of bounds.
31865 (grub_multiboot_load_elf64): Likewise.
31866
31867 2008-01-02 Pavel Roskin <proski@gnu.org>
31868
31869 * util/grub.d/10_linux.in: Try version without ".old" when
31870 looking for initrd. It's better to use initrd from the newer
31871 kernel of the same version than no initrd at all.
31872
31873 2008-01-01 Robert Millan <rmh@aybabtu.com>
31874
31875 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
31876
31877 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
31878
31879 * include/grub/video.h: Added grub_video_unmap_color and
31880 grub_video_get_active_render_target.
31881 (grub_video_adapter): Added unmap_color and get_active_render_target.
31882
31883 * video/video.c: Added grub_video_unmap_color and
31884 grub_video_get_active_render_target.
31885 (grub_video_get_info): Changed method to accept NULL pointer as an
31886 argument to allow detection of active video adapter.
31887
31888 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
31889 grub_video_vbe_unmap_color_int.
31890 Added grub_video_vbe_unmap_color and
31891 grub_video_vbe_get_active_render_target.
31892 (grub_video_vbe_adapter): Added unmap_color and
31893 get_active_render_target.
31894
31895 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
31896 with grub_video_vbe_unmap_color_int.
31897
31898 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
31899 (DEFAULT_NORMAL_COLOR): Likewise.
31900 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
31901 (DEFAULT_FG_COLOR): Removed.
31902 (DEFAULT_BG_COLOR): Likewise.
31903 (DEFAULT_CURSOR_COLOR): Changed value.
31904 (grub_virtual_screen): Added standard_color_setting,
31905 normal_color_setting, highlight_color_setting and term_color.
31906 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
31907 (bitmap_width): Added.
31908 (bitmap_height): Likewise.
31909 (bitmap): Likewise.
31910 (set_term_color): Likewise.
31911 (grub_virtual_screen_setup): Changed to use new terminal coloring
31912 settings.
31913 (grub_gfxterm_init): Added init for bitmap.
31914 (grub_gfxterm_fini): Added destroy for bitmap.
31915 (redraw_screen_rect): Updated to use background bitmap and new
31916 terminal coloring.
31917 (scroll_up): Added optimization for case when there is no bitmap.
31918 (grub_gfxterm_cls): Fixed to use correct background color.
31919 (grub_virtual_screen_setcolorstate): Changed to use new terminal
31920 coloring.
31921 (grub_virtual_screen_setcolor): Likewise.
31922 (grub_virtual_screen_getcolor): Added.
31923 (grub_gfxterm_background_image_cmd): Likewise.
31924 (grub_video_term): Added setcolor and getcolor.
31925 (MOD_INIT): Added registration of background_image command.
31926 (MOD_TERM): Added unregistration for background_image command.
31927
31928 2007-12-30 Pavel Roskin <proski@gnu.org>
31929
31930 * loader/multiboot_loader.c: Fix multiboot command
31931 unregistration. Fix all typos in the word "multiboot".
31932
31933 2007-12-29 Pavel Roskin <proski@gnu.org>
31934
31935 * util/grub.d/10_linux.in: Refactor search for initrd. Add
31936 support for initrd names used in Fedora.
31937
31938 2007-12-26 Bean <bean123ch@gmail.com>
31939
31940 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
31941 (cpio_mod_SOURCES): New variable.
31942 (cpio_mod_CFLAGS): Likewise.
31943 (cpio_mod_LDFLAGS): Likewise.
31944
31945 * fs/cpio.c: New file.
31946
31947 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
31948
31949 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31950
31951 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31952
31953 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31954
31955 2007-12-25 Robert Millan <rmh@aybabtu.com>
31956
31957 * include/grub/term.h (struct grub_term): Add `getcolor' function.
31958 (grub_getcolor): New function.
31959
31960 * kern/term.c (grub_getcolor): New function.
31961 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
31962 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
31963 (print_entry): Set normal and highlight colors to
31964 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
31965 respectively, before printing and restore them to old
31966 values afterwards.
31967 (grub_menu_init_page): Likewise. Fill an additional colored space
31968 that would otherwise be left blank.
31969
31970 * term/efi/console.c (grub_console_getcolor): New function.
31971 (struct grub_console_term.getcolor): New variable.
31972 * term/i386/pc/console.c (grub_console_getcolor): New function.
31973 (struct grub_console_term.getcolor): New variable.
31974 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
31975 (struct grub_console_term.getcolor): New variable.
31976
31977 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
31978 (struct grub_console_term.setcolor): Remove variable.
31979 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
31980 (struct grub_console_term.setcolor): Remove variable.
31981 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
31982 (struct grub_console_term.setcolor): Remove variable.
31983 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
31984 (struct grub_console_term.setcolor): Remove variable.
31985
31986 2007-12-25 Robert Millan <rmh@aybabtu.com>
31987
31988 * configure.ac: Search for possible unifont.hex locations, and
31989 define UNIFONT_HEX if found.
31990
31991 * Makefile.in (UNIFONT_HEX): Define variable.
31992 (DATA): Rename to ...
31993 (PKGLIB): ... this. Update all users.
31994 (PKGDATA): New variable.
31995 (pkgdata_IMAGES): Rename to ...
31996 (pkglib_IMAGES): ... this. Update all users.
31997 (pkgdata_MODULES): Rename to ...
31998 (pkglib_MODULES): ... this. Update all users.
31999 (pkgdata_PROGRAMS): Rename to ...
32000 (pkglib_PROGRAMS): ... this. Update all users.
32001 (pkgdata_DATA): Rename to ...
32002 (pkglib_DATA): ... this. Update all users.
32003 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
32004 (unicode.pff, ascii.pff): New rules.
32005 (all-local): Add `$(PKGDATA)' dependency.
32006 (install-local): Process `$(PKGDATA)'.
32007
32008 * util/update-grub_lib.in (font_path): Search for *.pff files in
32009 a few more locations, including `${pkgdata}'.
32010
32011 2007-12-23 Robert Millan <rmh@aybabtu.com>
32012
32013 Patch from Bean <bean123ch@gmail.com>:
32014 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
32015 `size'.
32016
32017 2007-12-21 Bean <bean123ch@gmail.com>
32018
32019 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
32020 (ntfscomp_mod_SOURCES): New variable.
32021 (ntfscomp_mod_CFLAGS): Likewise.
32022 (ntfscomp_mod_LDFLAGS): Likewise.
32023
32024 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
32025 (grub_probe_SOURCES): Likewise.
32026 (grub_emu_SOURCES): Likewise.
32027
32028 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32029 (grub_emu_SOURCES): Likewise.
32030
32031 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32032 (grub_emu_SOURCES): Likewise.
32033
32034 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
32035 (grub_emu_SOURCES): Likewise.
32036
32037 * fs/ntfs.c (grub_ntfscomp_func): New variable.
32038 (read_run_list): Renamed to grub_ntfs_read_run_list.
32039 (decomp_nextvcn): Moved to ntfscomp.c.
32040 (decomp_getch): Likewise.
32041 (decomp_get16): Likewise.
32042 (decomp_block): Likewise.
32043 (read_block): Likewise.
32044 (read_data): Partially moved to ntfscomp.c.
32045 (fixup): Change unsigned to grub_uint16_t.
32046 (read_mft): Change unsigned long to grub_uint32_t.
32047 (read_attr): Likewise.
32048 (read_data): Likewise.
32049 (read_run_data): Likewise.
32050 (read_run_list): Likewise.
32051 (read_mft): Likewise.
32052
32053 * fs/ntfscomp.c: New file.
32054
32055 * include/grub/ntfs.h: New file.
32056
32057 2007-12-16 Robert Millan <rmh@aybabtu.com>
32058
32059 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32060 IDE disk check, since Linux is known to support 20 IDE disks.
32061 Reported by Colin Watson.
32062
32063 2007-12-15 Bean <bean123ch@gmail.com>
32064
32065 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32066 (lnxboot_img_SOURCES): New variable.
32067 (lnxboot_img_ASFLAGS): Likewise.
32068 (lnxboot_img_LDFLAGS): Likewise.
32069
32070 * boot/i386/pc/lnxboot.S: New file.
32071
32072 2007-11-24 Pavel Roskin <proski@gnu.org>
32073
32074 * configure.ac: Test if '--build-id=none' is supported by the
32075 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32076 objcopy to generate incorrect binary files (binutils
32077 2.17.50.0.18-1 as shipped by Fedora 8).
32078 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32079 linking, so that build ID doesn't break the test.
32080
32081 2007-11-24 Pavel Roskin <proski@gnu.org>
32082
32083 * include/grub/i386/time.h: use "void" in the argument list
32084 of grub_cpu_idle().
32085 * include/grub/powerpc/time.h: Likewise.
32086 * include/grub/sparc64/time.h: Likewise.
32087
32088 2007-11-18 Christian Franke <franke@computer.org>
32089
32090 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32091 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32092 This fixes the problem that function keys did not work in grub-emu.
32093
32094 2007-11-18 Christian Franke <franke@computer.org>
32095
32096 * disk/host.c (grub_host_open): Remove attribute unused from
32097 name parameter. Add check for "host". This fixes the problem
32098 that grub-emu does not find partitions.
32099
32100 2007-11-18 Christian Franke <franke@computer.org>
32101
32102 * util/hostfs.c (is_dir): New function.
32103 (grub_hostfs_dir): Handle missing dirent.d_type case.
32104 (grub_hostfs_read): Add missing fseek().
32105 (grub_hostfs_label): Clear label pointer. This fixes a crash
32106 of grub-emu on "ls (host)".
32107
32108 2007-11-18 Christian Franke <franke@computer.org>
32109
32110 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32111 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32112 to 64 bit boundary by default.
32113
32114 2007-11-18 Bean <bean123ch@gmail.com>
32115
32116 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32117 (hexdump_mod_SOURCES): New variable.
32118 (hexdump_mod_CFLAGS): Likewise.
32119 (hexdump_mod_LDFLAGS): Likewise.
32120
32121 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32122
32123 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32124
32125 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32126
32127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32128
32129 * include/grub/hexdump.h: New file.
32130
32131 * commands/hexdump.c: New file.
32132
32133 2007-11-10 Robert Millan <rmh@aybabtu.com>
32134
32135 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32136 in grub_outb() calls.
32137 (beep_on): Likewise.
32138
32139 2007-11-10 Christian Franke <franke@computer.org>
32140
32141 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32142 (grub_menu_run): Likewise.
32143
32144 2007-11-10 Robert Millan <rmh@aybabtu.com>
32145
32146 * include/grub/i386/efi/machine.h: New file.
32147 * include/grub/i386/linuxbios/machine.h: Likewise.
32148 * include/grub/i386/pc/machine.h: Likewise.
32149 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32150 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32151
32152 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32153 (serial_hw_io_addr): New variable.
32154 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32155 instead of `(unsigned short *) 0x400'.
32156
32157 2007-11-10 Bean <bean123ch@gmail.com>
32158
32159 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32160
32161 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32162
32163 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32164 (vga_mod_SOURCES): Added.
32165 (vga_mod_CFLAGS): Likewise.
32166 (vga_mod_LDFLAGS): Likewise.
32167
32168 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32169 grub_outb() calls.
32170 (set_map_mask): Likewise.
32171 (set_read_map): Likewise.
32172 (set_read_address): Likewise.
32173 (vga_font): Removed variable.
32174 (get_vga_glyph): Removed function.
32175 (invalidate_char): Likewise.
32176 (write_char): Changed to use grub_font_get_glyph() for font
32177 information.
32178 (grub_vga_putchar): Likewise.
32179 (grub_vga_getcharwidth): Likewise.
32180
32181 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32182
32183 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32184 flags.
32185 (pxeboot_img_LDFLAGS): Likewise.
32186 (diskboot_img_LDFLAGS): Likewise.
32187 (kernel_img_LDFLAGS): Likewise.
32188
32189 2007-11-06 Robert Millan <rmh@aybabtu.com>
32190
32191 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32192 in grub_outb() calls.
32193 (serial_hw_init): Likewise.
32194
32195 2007-11-05 Robert Millan <rmh@aybabtu.com>
32196
32197 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32198 spaces. Skip non-regular files.
32199
32200 2007-11-05 Robert Millan <rmh@aybabtu.com>
32201
32202 * kern/disk.c (grub_disk_firmware_fini)
32203 (grub_disk_firmware_is_tainted): New variables.
32204
32205 * include/grub/disk.h (grub_disk_firmware_fini)
32206 (grub_disk_firmware_is_tainted): Likewise.
32207
32208 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32209 (grub_disk_biosdisk_fini): ... to here.
32210 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32211 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32212 is set. Register grub_disk_biosdisk_fini() in
32213 `grub_disk_firmware_fini'.
32214
32215 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32216 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32217 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32218 to finish existing firmware disk interface.
32219
32220 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32221 (ata_mod_SOURCES): New variable.
32222 (ata_mod_CFLAGS): Likewise.
32223 (ata_mod_LDFLAGS): Likewise.
32224
32225 2007-11-05 Robert Millan <rmh@aybabtu.com>
32226
32227 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32228 (grub_ata_wait): Reimplement using grub_millisleep().
32229
32230 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32231 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32232
32233 2007-11-03 Marco Gerards <marco@gnu.org>
32234
32235 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32236 (CRTC_ADDR_PORT): New macro.
32237 (CRTC_DATA_PORT): Likewise.
32238 (CRTC_CURSOR): Likewise.
32239 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32240 (CRTC_CURSOR_ADDR_LOW): Likewise.
32241 (update_cursor): New function.
32242 (grub_console_real_putchar): Call `update_cursor'.
32243 (grub_console_gotoxy): Likewise.
32244 (grub_console_cls): Set the default color when clearing the
32245 screen.
32246 (grub_console_setcursor): Implemented.
32247
32248 2007-11-03 Marco Gerards <marco@gnu.org>
32249
32250 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32251 become activate.
32252 (grub_ata_pio_write): Likewise.
32253
32254 (grub_atapi_identify): Wait after issuing an ATA command.
32255 (grub_atapi_packet): Likewise.
32256 (grub_ata_identify): Likewise.
32257 (grub_ata_readwrite): Likewise.
32258
32259 2007-11-03 Marco Gerards <marco@gnu.org>
32260
32261 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32262 (grub_ata_pio_write): Likewise.
32263 (grub_ata_readwrite): Use `grub_error', instead of
32264 returning `grub_errno'.
32265
32266 2007-11-03 Marco Gerards <marco@gnu.org>
32267
32268 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32269 grub_ata_pio_write once for every single sector, instead of for
32270 multiple sectors.
32271
32272 2007-10-31 Robert Millan <rmh@aybabtu.com>
32273
32274 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32275
32276 * conf/i386-linuxbios.rmk: New file.
32277
32278 * kern/i386/pc/hardware.c: Likewise.
32279 * term/i386/pc/at_keyboard.c: Likewise.
32280 * term/i386/pc/vga_text.c: Likewise.
32281
32282 * include/grub/i386/linuxbios/boot.h: Likewise.
32283 * include/grub/i386/linuxbios/console.h: Likewise.
32284 * include/grub/i386/linuxbios/init.h: Likewise.
32285 * include/grub/i386/linuxbios/kernel.h: Likewise.
32286 * include/grub/i386/linuxbios/loader.h: Likewise.
32287 * include/grub/i386/linuxbios/memory.h: Likewise.
32288 * include/grub/i386/linuxbios/serial.h: Likewise.
32289 * include/grub/i386/linuxbios/time.h: Likewise.
32290
32291 * kern/i386/linuxbios/init.c: Likewise.
32292 * kern/i386/linuxbios/startup.S: Likewise.
32293 * kern/i386/linuxbios/table.c: Likewise.
32294
32295 2007-10-31 Marco Gerards <marco@gnu.org>
32296
32297 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32298 (ata_mod_SOURCES): New variable.
32299 (ata_mod_CFLAGS): Likewise.
32300 (ata_mod_LDFLAGS): Likewise.
32301
32302 * disk/ata.c: New file.
32303
32304 * include/grub/disk.h (grub_disk_dev_id): Add
32305 `GRUB_DISK_DEV_ATA_ID'.
32306
32307 2007-10-31 Robert Millan <rmh@aybabtu.com>
32308
32309 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32310 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32311
32312 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32313 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32314
32315 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32316 `<grub/types.h>'.
32317
32318 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32319
32320 2007-10-27 Robert Millan <rmh@aybabtu.com>
32321
32322 * include/grub/types.h (ULONG_MAX): Define macro.
32323
32324 2007-10-22 Robert Millan <rmh@aybabtu.com>
32325
32326 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32327 `"../realmode.S"'.
32328 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32329
32330 2007-10-22 Robert Millan <rmh@aybabtu.com>
32331
32332 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32333 (pkgdata_MODULES): Add `biosdisk.mod'.
32334 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32335 variables.
32336
32337 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32338 (grub_biosdisk_init): Replace with ...
32339 (GRUB_MOD_INIT(biosdisk)): ... this.
32340 (grub_biosdisk_fini): Replace with ...
32341 (GRUB_MOD_FINI(biosdisk)): ... this.
32342
32343 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32344 (grub_machine_init): Remove call to grub_biosdisk_init().
32345 (grub_machine_fini): Remove call to grub_machine_fini().
32346
32347 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32348
32349 2007-10-22 Robert Millan <rmh@aybabtu.com>
32350
32351 * include/grub/time.h: New file.
32352 * include/grub/i386/time.h: Likewise.
32353 * include/grub/powerpc/time.h: Likewise.
32354 * include/grub/sparc64/time.h: Likewise.
32355
32356 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32357 instances to ...
32358 (KERNEL_MACHINE_TIME_HEADER): ... this.
32359 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32360 instances to ...
32361 (KERNEL_MACHINE_TIME_HEADER): ... this.
32362 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32363 instances to ...
32364 (KERNEL_MACHINE_TIME_HEADER): ... this.
32365
32366 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32367 (grub_millisleep): New function.
32368 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32369 (grub_millisleep): New function.
32370 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32371 Remove `grub/machine/time.h' include.
32372 (grub_millisleep): New function.
32373 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32374 Remove `grub/machine/time.h' include.
32375 (grub_millisleep): New function.
32376
32377 * include/grub/misc.h (grub_div_roundup): New function.
32378
32379 * kern/misc.c: Include `<grub/time.h>'.
32380 (grub_millisleep_generic): New function.
32381
32382 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32383 Add `time.h'.
32384 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32385 Add `time.h'.
32386 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32387 `machine/time.h'. Add `time.h'.
32388 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32389
32390 2007-10-21 Robert Millan <rmh@aybabtu.com>
32391
32392 * include/grub/misc.h (grub_max): New function.
32393
32394 2007-10-21 Robert Millan <rmh@aybabtu.com>
32395
32396 * util/misc.c (grub_util_info): Call fflush() before returning.
32397
32398 2007-10-20 Robert Millan <rmh@aybabtu.com>
32399
32400 * genmk.rb (Image): Copy `extra_flags' from here ...
32401 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32402
32403 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32404 to `argc' and `args' arguments.
32405
32406 2007-10-17 Robert Millan <rmh@aybabtu.com>
32407
32408 * kern/i386/loader.S: New file.
32409
32410 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32411 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32412 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32413 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32414 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32415 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32416 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32417 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32418 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32419 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32420 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32421 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32422 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32423 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32424
32425 * kern/i386/realmode.S: New file.
32426
32427 * kern/i386/pc/startup.S (protstack): Moved from here ...
32428 * kern/i386/realmode.S (protstack)... to here.
32429 * kern/i386/pc/startup.S (gdt): Moved from here ...
32430 * kern/i386/realmode.S (gdt)... to here.
32431 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32432 * kern/i386/realmode.S (prot_to_real)... to here.
32433
32434 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32435 `kern/i386/realmode.S'.
32436
32437 2007-10-17 Robert Millan <rmh@aybabtu.com>
32438
32439 * include/grub/i386/loader.h: New file.
32440
32441 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32442 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32443 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32444 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32445 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32446 * include/grub/i386/loader.h (grub_linux_prot_size)
32447 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32448 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32449 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32450 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32451
32452 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32453
32454 2007-10-15 Robert Millan <rmh@aybabtu.com>
32455
32456 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32457 filesystem when dev->disk is unset.
32458 Do probe for filesystem even when dev->disk->has_partitions is set.
32459 In case a filesystem is found, always report it.
32460 In case it isn't, if dev->disk->has_partitions is set, report that
32461 a partition table was found instead of reporting that no filesystem
32462 could be identified.
32463
32464 2007-10-12 Robert Millan <rmh@aybabtu.com>
32465
32466 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32467 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32468
32469 * include/grub/types.h (grub_host_to_target16): New macro.
32470 (grub_host_to_target32): Likewise.
32471 (grub_host_to_target64): Likewise.
32472 (grub_target_to_host16): Likewise.
32473 (grub_target_to_host32): Likewise.
32474 (grub_target_to_host64): Likewise.
32475
32476 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32477 Renamed from to ...
32478 (GRUB_MOD_ALIGN): ...this. Update all users.
32479
32480 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32481 grub_host_to_target32.
32482 Replace grub_be_to_cpu32 with grub_target_to_host32.
32483 (load_modules): Likewise.
32484 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32485 Replace grub_be_to_cpu32 with grub_target_to_host32.
32486 Replace grub_cpu_to_be16 with grub_host_to_target16.
32487 Replace grub_cpu_to_be32 grub_host_to_target32.
32488
32489 2007-10-12 Robert Millan <rmh@aybabtu.com>
32490
32491 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32492 * util/elf/grub-mkimage.c: ... here.
32493
32494 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32495 `util/powerpc/ieee1275/grub-mkimage.c'.
32496
32497 2007-10-07 Robert Millan <rmh@aybabtu.com>
32498
32499 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32500 and make it easier to figure out.
32501 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32502 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32503 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32504 leave us with less than HEAP_MIN_SIZE total heap.
32505 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
32506
32507 2007-10-03 Robert Millan <rmh@aybabtu.com>
32508
32509 * include/grub/i386/io.h: New file.
32510 * commands/i386/pc/play.c (inb): Removed.
32511 (outb): Removed.
32512 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32513 with grub_outb().
32514 * term/i386/pc/serial.c (inb): Removed.
32515 (outb): Removed.
32516 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32517 with grub_outb().
32518 * term/i386/pc/vga.c (inb): Removed.
32519 (outb): Removed.
32520 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32521 with grub_outb().
32522
32523 2007-10-02 Robert Millan <rmh@aybabtu.com>
32524
32525 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32527 Reported by Marcin Kurek.
32528
32529 2007-09-07 Robert Millan <rmh@aybabtu.com>
32530
32531 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32532 SmartFirmware version updates (as released by Sven Luther), and avoid
32533 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32534 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32535 known broken.
32536
32537 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32538
32539 From Hitoshi Ozeki:
32540 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32541 when merging two regions.
32542
32543 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32544
32545 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32546 * normal/completion.c (grub_normal_do_completion): Likewise.
32547 Reported by Hitoshi Ozeki.
32548
32549 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32550
32551 Do not use devices at boot in chainloading.
32552
32553 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32554 (boot_part_addr): Likewise.
32555 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32556 with BOOT_DRIVE and BOOT_PART_ADDR.
32557 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32558 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32559
32560 2007-08-29 Robert Millan <rmh@aybabtu.com>
32561
32562 Patch from Simon Peter <dn.tlp@gmx.net>:
32563 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32564 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32565 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32566 util/i386/pc/grub-setup.c_DEPENDENCIES.
32567 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32568 util/grub-probe.c_DEPENDENCIES.
32569 * conf/powerpc-ieee1275.rmk: Likewise.
32570
32571 2007-08-28 Robert Millan <rmh@aybabtu.com>
32572
32573 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32574 to tell grub-mkdevicemap how to name devices.
32575 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32576 feature).
32577
32578 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32579 util/i386/get_disk_name.c.
32580 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32581 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32582 util/ieee1275/get_disk_name.c.
32583
32584 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32585
32586 * DISTLIST: Add util/i386/get_disk_name.c and
32587 util/ieee1275/get_disk_name.c.
32588
32589 * util/grub-mkdevicemap.c: Replace device naming logic with
32590 grub_util_get_disk_name() calls.
32591
32592 2007-08-20 Robert Millan <rmh@aybabtu.com>
32593
32594 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32595 (so that it works for both plural and singular quantities).
32596
32597 2007-08-05 Robert Millan <rmh@aybabtu.com>
32598
32599 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32600 so that [xz] isn't taken into account when determining order.
32601
32602 2007-08-02 Marco Gerards <marco@gnu.org>
32603
32604 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32605 `include/multiboot2.h', `include/grub/elfload.h',
32606 `include/multiboot.h', `include/grub/multiboot.h',
32607 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32608 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32609 `kern/elf.c', `loader/multiboot_loader.c',
32610 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32611 `loader/i386/pc/multiboot2.c',
32612 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32613 `util/i386/pc/grub-mkrescue.in'. Remove
32614 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32615 `include/grub/i386/pc/util/biosdisk.h' and
32616 `include/grub/powerpc/ieee1275/multiboot.h'.
32617
32618 2007-08-02 Bean <bean123ch@gmail.com>
32619
32620 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32621 (ntfs_mod_SOURCES): New variable.
32622 (ntfs_mod_CFLAGS): Likewise.
32623 (ntfs_mod_LDFLAGS): Likewise.
32624
32625 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32626 (grub_probe_SOURCES): Likewise.
32627 (grub_emu_SOURCES): Likewise.
32628
32629 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32630 (grub_emu_SOURCES): Likewise.
32631
32632 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32633 (grub_emu_SOURCES): Likewise.
32634
32635 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32636
32637 * fs/ntfs.c: New file.
32638
32639 2007-08-02 Bean <bean123ch@gmail.com>
32640
32641 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32642
32643 * file.h (grub_file): Likewise.
32644
32645 * fshelp.h (grub_fshelp_read_file): Likewise.
32646
32647 * util/i386/pc/grub-setup.c (setup): Likewise.
32648 (save_first_sector): Likewise.
32649 (save_blocklists): Likewise.
32650
32651 * fs/affs.c (grub_affs_read_file): Likewise.
32652
32653 * fs/ext2.c (grub_ext2_read_file): Likewise.
32654
32655 * fs/fat.c (grub_fat_read_data): Likewise.
32656
32657 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32658
32659 * fs/hfs.c (grub_hfs_read_file): Likewise.
32660
32661 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32662
32663 * fs/jfs.c (grub_jfs_read_file): Likewise.
32664
32665 * fs/minix.c (grub_minix_read_file): Likewise.
32666
32667 * fs/sfs.c (grub_sfs_read_file): Likewise.
32668
32669 * fs/ufs.c (grub_ufs_read_file): Likewise.
32670
32671 * fs/xfs.c (grub_xfs_read_file): Likewise.
32672
32673 * command/blocklist.c (read_blocklist): Likewise.
32674 (print_blocklist): Likewise.
32675
32676 2007-08-02 Marco Gerards <marco@gnu.org>
32677
32678 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
32679 `util/hostfs.c'.
32680
32681 * disk/host.c: New file.
32682
32683 * util/hostfs.c: Likewise.
32684
32685 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
32686 return `GRUB_ERR_BAD_FS'.
32687 * fs/sfs.c (grub_sfs_mount): Likewise.
32688 * fs/xfs.c (grub_xfs_mount): Likewise.
32689
32690 * include/grub/disk.h (enum grub_disk_dev_id): Add
32691 `GRUB_DISK_DEVICE_HOST_ID'.
32692
32693 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
32694
32695 2007-07-24 Jerone Young <jerone@gmail.com>
32696
32697 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
32698 modules for compilation.
32699 * conf/powerpc-ieee1275.rmk: Likewise.
32700
32701 * include/multiboot.h: Move multiboot definitions to one file. Rename
32702 many definitions to not get grub specific.
32703 * include/multiboot2.h: Create header with multiboot 2 definitions.
32704 * include/grub/multiboot.h: Header for grub specific function
32705 prototypes and definitions.
32706 * include/grub/multiboot2.h: Likewise.
32707 * include/grub/multiboot_loader.h: Likewise.
32708 * include/grub/i386/pc/multiboot.h: Removed.
32709 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
32710
32711 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
32712 and 2 to allow for one multiboot and module commands.
32713 * loader/multiboot2.c: Add multiboot2 functionality.
32714 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
32715 and definition names.
32716 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
32717 2 functions.
32718 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
32719 ieee1275 specific multiboot2 code.
32720
32721 * kern/i386/pc/startup.S: Change headers and definition names for
32722 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
32723
32724 2007-07-22 Robert Millan <rmh@aybabtu.com>
32725
32726 * geninitheader.sh: Process file specified in first parameter rather
32727 than hardcoding grub_modules_init.lst.
32728 * geninit.sh: Likewise. Also, construct header name dynamically rather
32729 than hardcoding grub_modules_init.h.
32730
32731 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
32732 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
32733 grub_probe_init.[ch] and grub_setup_init.[ch].
32734
32735 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
32736 grub_modules_init.h with grub_emu_init.h.
32737 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
32738 grub_probe_init.[ch] files.
32739 * conf/i386-efi.rmk: Likewise.
32740 * conf/i386-pc.rmk: Likewise.
32741 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
32742 grub_setup_init.[ch] files.
32743
32744 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
32745 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
32746 to initialize modules rather than a list of hardcoded functions.
32747 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
32748 grub_init_all() to initialize modules rather than a list of hardcoded
32749 functions.
32750
32751 2007-07-22 Robert Millan <rmh@aybabtu.com>
32752
32753 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
32754 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
32755
32756 2007-07-22 Robert Millan <rmh@aybabtu.com>
32757
32758 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32759 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
32760 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
32761 flag when running on SmartFirmware.
32762 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
32763 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
32764 was set.
32765
32766 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32767 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
32768 rather than decreasing it.
32769
32770 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
32771 there's not enough space to do it, fail in the same way as when it
32772 can't be done because there are no partitions.
32773
32774 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
32775 when nvsetenv failed.
32776
32777 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32778
32779 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
32780 because this rule is automatically generated.
32781 (grub-mkrescue): Removed for the same reason as above.
32782
32783 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32784
32785 Migrate to GNU General Public License Version 3.
32786
32787 * COPYING: Replaced with the plain text version of GPLv3.
32788
32789 * config.guess: Updated from gnulib.
32790 * config.sub: Likewise.
32791
32792 * geninit.sh: Output a GPLv3 copyright notice.
32793 * geninitheader.sh: Likewise.
32794 * genmodsrc.sh: Likewise.
32795 * gensymlist.sh.in: Likewise.
32796
32797 * boot/i386/pc/boot.S: Upgraded to GPLv3.
32798 * boot/i386/pc/diskboot.S: Likewise.
32799 * boot/i386/pc/pxeboot.S: Likewise.
32800 * commands/blocklist.c: Likewise.
32801 * commands/boot.c: Likewise.
32802 * commands/cat.c: Likewise.
32803 * commands/cmp.c: Likewise.
32804 * commands/configfile.c: Likewise.
32805 * commands/echo.c: Likewise.
32806 * commands/help.c: Likewise.
32807 * commands/ls.c: Likewise.
32808 * commands/search.c: Likewise.
32809 * commands/terminal.c: Likewise.
32810 * commands/test.c: Likewise.
32811 * commands/videotest.c: Likewise.
32812 * commands/i386/cpuid.c: Likewise.
32813 * commands/i386/pc/halt.c: Likewise.
32814 * commands/i386/pc/play.c: Likewise.
32815 * commands/i386/pc/reboot.c: Likewise.
32816 * commands/i386/pc/vbeinfo.c: Likewise.
32817 * commands/i386/pc/vbetest.c: Likewise.
32818 * commands/ieee1275/halt.c: Likewise.
32819 * commands/ieee1275/reboot.c: Likewise.
32820 * commands/ieee1275/suspend.c: Likewise.
32821 * disk/loopback.c: Likewise.
32822 * disk/lvm.c: Likewise.
32823 * disk/raid.c: Likewise.
32824 * disk/efi/efidisk.c: Likewise.
32825 * disk/i386/pc/biosdisk.c: Likewise.
32826 * disk/ieee1275/ofdisk.c: Likewise.
32827 * font/manager.c: Likewise.
32828 * fs/affs.c: Likewise.
32829 * fs/ext2.c: Likewise.
32830 * fs/fat.c: Likewise.
32831 * fs/fshelp.c: Likewise.
32832 * fs/hfs.c: Likewise.
32833 * fs/hfsplus.c: Likewise.
32834 * fs/iso9660.c: Likewise.
32835 * fs/jfs.c: Likewise.
32836 * fs/minix.c: Likewise.
32837 * fs/sfs.c: Likewise.
32838 * fs/ufs.c: Likewise.
32839 * fs/xfs.c: Likewise.
32840 * hello/hello.c: Likewise.
32841 * include/grub/acorn_filecore.h: Likewise.
32842 * include/grub/arg.h: Likewise.
32843 * include/grub/bitmap.h: Likewise.
32844 * include/grub/boot.h: Likewise.
32845 * include/grub/cache.h: Likewise.
32846 * include/grub/device.h: Likewise.
32847 * include/grub/disk.h: Likewise.
32848 * include/grub/dl.h: Likewise.
32849 * include/grub/elfload.h: Likewise.
32850 * include/grub/env.h: Likewise.
32851 * include/grub/err.h: Likewise.
32852 * include/grub/file.h: Likewise.
32853 * include/grub/font.h: Likewise.
32854 * include/grub/fs.h: Likewise.
32855 * include/grub/fshelp.h: Likewise.
32856 * include/grub/gzio.h: Likewise.
32857 * include/grub/hfs.h: Likewise.
32858 * include/grub/kernel.h: Likewise.
32859 * include/grub/loader.h: Likewise.
32860 * include/grub/lvm.h: Likewise.
32861 * include/grub/misc.h: Likewise.
32862 * include/grub/mm.h: Likewise.
32863 * include/grub/net.h: Likewise.
32864 * include/grub/normal.h: Likewise.
32865 * include/grub/parser.h: Likewise.
32866 * include/grub/partition.h: Likewise.
32867 * include/grub/pc_partition.h: Likewise.
32868 * include/grub/raid.h: Likewise.
32869 * include/grub/rescue.h: Likewise.
32870 * include/grub/script.h: Likewise.
32871 * include/grub/setjmp.h: Likewise.
32872 * include/grub/symbol.h: Likewise.
32873 * include/grub/term.h: Likewise.
32874 * include/grub/terminfo.h: Likewise.
32875 * include/grub/tparm.h: Likewise.
32876 * include/grub/types.h: Likewise.
32877 * include/grub/video.h: Likewise.
32878 * include/grub/efi/api.h: Likewise.
32879 * include/grub/efi/chainloader.h: Likewise.
32880 * include/grub/efi/console.h: Likewise.
32881 * include/grub/efi/console_control.h: Likewise.
32882 * include/grub/efi/disk.h: Likewise.
32883 * include/grub/efi/efi.h: Likewise.
32884 * include/grub/efi/pe32.h: Likewise.
32885 * include/grub/efi/time.h: Likewise.
32886 * include/grub/i386/linux.h: Likewise.
32887 * include/grub/i386/setjmp.h: Likewise.
32888 * include/grub/i386/types.h: Likewise.
32889 * include/grub/i386/efi/kernel.h: Likewise.
32890 * include/grub/i386/efi/loader.h: Likewise.
32891 * include/grub/i386/efi/time.h: Likewise.
32892 * include/grub/i386/pc/biosdisk.h: Likewise.
32893 * include/grub/i386/pc/boot.h: Likewise.
32894 * include/grub/i386/pc/chainloader.h: Likewise.
32895 * include/grub/i386/pc/console.h: Likewise.
32896 * include/grub/i386/pc/init.h: Likewise.
32897 * include/grub/i386/pc/kernel.h: Likewise.
32898 * include/grub/i386/pc/loader.h: Likewise.
32899 * include/grub/i386/pc/memory.h: Likewise.
32900 * include/grub/i386/pc/multiboot.h: Likewise.
32901 * include/grub/i386/pc/serial.h: Likewise.
32902 * include/grub/i386/pc/time.h: Likewise.
32903 * include/grub/i386/pc/vbe.h: Likewise.
32904 * include/grub/i386/pc/vbeblit.h: Likewise.
32905 * include/grub/i386/pc/vbefill.h: Likewise.
32906 * include/grub/i386/pc/vbeutil.h: Likewise.
32907 * include/grub/i386/pc/vga.h: Likewise.
32908 * include/grub/ieee1275/ieee1275.h: Likewise.
32909 * include/grub/ieee1275/ofdisk.h: Likewise.
32910 * include/grub/powerpc/libgcc.h: Likewise.
32911 * include/grub/powerpc/setjmp.h: Likewise.
32912 * include/grub/powerpc/types.h: Likewise.
32913 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
32914 * include/grub/powerpc/ieee1275/console.h: Likewise.
32915 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
32916 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32917 * include/grub/powerpc/ieee1275/loader.h: Likewise.
32918 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
32919 * include/grub/powerpc/ieee1275/time.h: Likewise.
32920 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
32921 * include/grub/sparc64/libgcc.h: Likewise.
32922 * include/grub/sparc64/setjmp.h: Likewise.
32923 * include/grub/sparc64/types.h: Likewise.
32924 * include/grub/sparc64/ieee1275/console.h: Likewise.
32925 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32926 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32927 * include/grub/sparc64/ieee1275/time.h: Likewise.
32928 * include/grub/util/biosdisk.h: Likewise.
32929 * include/grub/util/getroot.h: Likewise.
32930 * include/grub/util/lvm.h: Likewise.
32931 * include/grub/util/misc.h: Likewise.
32932 * include/grub/util/raid.h: Likewise.
32933 * include/grub/util/resolve.h: Likewise.
32934 * io/gzio.c: Likewise.
32935 * kern/device.c: Likewise.
32936 * kern/disk.c: Likewise.
32937 * kern/dl.c: Likewise.
32938 * kern/elf.c: Likewise.
32939 * kern/env.c: Likewise.
32940 * kern/err.c: Likewise.
32941 * kern/file.c: Likewise.
32942 * kern/fs.c: Likewise.
32943 * kern/loader.c: Likewise.
32944 * kern/main.c: Likewise.
32945 * kern/misc.c: Likewise.
32946 * kern/mm.c: Likewise.
32947 * kern/parser.c: Likewise.
32948 * kern/partition.c: Likewise.
32949 * kern/rescue.c: Likewise.
32950 * kern/term.c: Likewise.
32951 * kern/efi/efi.c: Likewise.
32952 * kern/efi/init.c: Likewise.
32953 * kern/efi/mm.c: Likewise.
32954 * kern/i386/dl.c: Likewise.
32955 * kern/i386/efi/init.c: Likewise.
32956 * kern/i386/efi/startup.S: Likewise.
32957 * kern/i386/pc/init.c: Likewise.
32958 * kern/i386/pc/lzo1x.S: Likewise.
32959 * kern/i386/pc/startup.S: Likewise.
32960 * kern/ieee1275/ieee1275.c: Likewise.
32961 * kern/powerpc/cache.S: Likewise.
32962 * kern/powerpc/dl.c: Likewise.
32963 * kern/powerpc/ieee1275/cmain.c: Likewise.
32964 * kern/powerpc/ieee1275/crt0.S: Likewise.
32965 * kern/powerpc/ieee1275/init.c: Likewise.
32966 * kern/powerpc/ieee1275/openfw.c: Likewise.
32967 * kern/sparc64/cache.S: Likewise.
32968 * kern/sparc64/dl.c: Likewise.
32969 * kern/sparc64/ieee1275/init.c: Likewise.
32970 * kern/sparc64/ieee1275/openfw.c: Likewise.
32971 * loader/efi/chainloader.c: Likewise.
32972 * loader/efi/chainloader_normal.c: Likewise.
32973 * loader/i386/efi/linux.c: Likewise.
32974 * loader/i386/efi/linux_normal.c: Likewise.
32975 * loader/i386/pc/chainloader.c: Likewise.
32976 * loader/i386/pc/chainloader_normal.c: Likewise.
32977 * loader/i386/pc/linux.c: Likewise.
32978 * loader/i386/pc/linux_normal.c: Likewise.
32979 * loader/i386/pc/multiboot.c: Likewise.
32980 * loader/i386/pc/multiboot_normal.c: Likewise.
32981 * loader/powerpc/ieee1275/linux.c: Likewise.
32982 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32983 * normal/arg.c: Likewise.
32984 * normal/cmdline.c: Likewise.
32985 * normal/command.c: Likewise.
32986 * normal/completion.c: Likewise.
32987 * normal/execute.c: Likewise.
32988 * normal/function.c: Likewise.
32989 * normal/lexer.c: Likewise.
32990 * normal/main.c: Likewise.
32991 * normal/menu.c: Likewise.
32992 * normal/menu_entry.c: Likewise.
32993 * normal/misc.c: Likewise.
32994 * normal/parser.y: Likewise.
32995 * normal/script.c: Likewise.
32996 * normal/i386/setjmp.S: Likewise.
32997 * normal/powerpc/setjmp.S: Likewise.
32998 * normal/sparc64/setjmp.S: Likewise.
32999 * partmap/acorn.c: Likewise.
33000 * partmap/amiga.c: Likewise.
33001 * partmap/apple.c: Likewise.
33002 * partmap/gpt.c: Likewise.
33003 * partmap/pc.c: Likewise.
33004 * partmap/sun.c: Likewise.
33005 * term/gfxterm.c: Likewise.
33006 * term/terminfo.c: Likewise.
33007 * term/efi/console.c: Likewise.
33008 * term/i386/pc/console.c: Likewise.
33009 * term/i386/pc/serial.c: Likewise.
33010 * term/i386/pc/vesafb.c: Likewise.
33011 * term/i386/pc/vga.c: Likewise.
33012 * term/ieee1275/ofconsole.c: Likewise.
33013 * util/biosdisk.c: Likewise.
33014 * util/console.c: Likewise.
33015 * util/genmoddep.c: Likewise.
33016 * util/getroot.c: Likewise.
33017 * util/grub-emu.c: Likewise.
33018 * util/grub-mkdevicemap.c: Likewise.
33019 * util/grub-probe.c: Likewise.
33020 * util/lvm.c: Likewise.
33021 * util/misc.c: Likewise.
33022 * util/raid.c: Likewise.
33023 * util/resolve.c: Likewise.
33024 * util/update-grub.in: Likewise.
33025 * util/update-grub_lib.in: Likewise.
33026 * util/grub.d/00_header.in: Likewise.
33027 * util/grub.d/10_hurd.in: Likewise.
33028 * util/grub.d/10_linux.in: Likewise.
33029 * util/i386/efi/grub-install.in: Likewise.
33030 * util/i386/efi/grub-mkimage.c: Likewise.
33031 * util/i386/pc/grub-install.in: Likewise.
33032 * util/i386/pc/grub-mkimage.c: Likewise.
33033 * util/i386/pc/grub-mkrescue.in: Likewise.
33034 * util/i386/pc/grub-setup.c: Likewise.
33035 * util/i386/pc/misc.c: Likewise.
33036 * util/powerpc/ieee1275/grub-install.in: Likewise.
33037 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
33038 * util/powerpc/ieee1275/misc.c: Likewise.
33039 * video/bitmap.c: Likewise.
33040 * video/video.c: Likewise.
33041 * video/i386/pc/vbe.c: Likewise.
33042 * video/i386/pc/vbeblit.c: Likewise.
33043 * video/i386/pc/vbefill.c: Likewise.
33044 * video/i386/pc/vbeutil.c: Likewise.
33045 * video/readers/tga.c: Likewise.
33046
33047 2007-07-02 Robert Millan <rmh@aybabtu.com>
33048
33049 * conf/i386-efi.rmk: Replace obsolete reference to
33050 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33051 with util/getroot.c.
33052 * conf/powerpc-ieee1275.rmk: Likewise.
33053 * conf/sparc64-ieee1275.rmk: Likewise.
33054
33055 * util/grub-emu.c (main): Fix unchecked pointer handling.
33056
33057 2007-07-02 Robert Millan <rmh@aybabtu.com>
33058
33059 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33060 invocation to fail, in order to support partition-less media.
33061
33062 * util/i386/pc/grub-install.in: Likewise.
33063
33064 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33065 which fs or partmap modules are needed (akin to its sister scripts).
33066
33067 Also use grub-probe to get rid of unportable /proc/mounts check.
33068
33069 Print the same informational message that the other scripts do, before
33070 exiting.
33071
33072 2007-06-23 Robert Millan <rmh@aybabtu.com>
33073
33074 * util/update-grub_lib.in (font_path): New function. Determine whether
33075 a font file can be found and, if so, echo the GRUB path to it.
33076
33077 * util/update-grub.in: Handle multiple terminals depending on user
33078 input, platform availability and font file presence. Propagate
33079 variables of our findings to /etc/grub.d/ children.
33080
33081 * util/grub.d/00_header.in: Handle multiple terminals, based on
33082 environment setup by update-grub.
33083
33084 2007-06-23 Robert Millan <rmh@aybabtu.com>
33085
33086 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
33087
33088 2007-06-21 Robert Millan <rmh@aybabtu.com>
33089
33090 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33091 indicate end of data section in kernel image.
33092 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33093 GRUB_KERNEL_MACHINE_DATA_END.
33094
33095 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33096 space for it.
33097 * kern/i386/efi/startup.S: Likewise.
33098
33099 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33100 during image generation. Implement --prefix option to override this
33101 patch.
33102 * util/i386/efi/grub-mkimage.c: Likewise.
33103
33104 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33105 code to make path relative to its root into a separate function.
33106
33107 * util/i386/pc/grub-install.in: Use newly provided
33108 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33109 pass the result to grub-install --prefix.
33110
33111 2007-06-13 Robert Millan <rmh@aybabtu.com>
33112
33113 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33114 DEFAULT_DEVICE_MAP.
33115 * util/grub-emu.c: Use above definitions from misc.h instead of
33116 defining them.
33117 * util/grub-mkdevicemap.c: Likewise.
33118 * util/i386/pc/grub-setup.c: Likewise.
33119 * util/grub-probe.c: Likewise.
33120 (probe): Abort with grub_util_error() when either
33121 grub_guess_root_device or grub_util_get_grub_dev fails.
33122
33123 2007-06-12 Robert Millan <rmh@aybabtu.com>
33124
33125 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33126 "pager" assignment.
33127 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33128 "pcdata".
33129 * util/grub-probe.c (probe): Likewise for "drive_name".
33130
33131 2007-06-11 Robert Millan <rmh@aybabtu.com>
33132
33133 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33134 not just the cdrom one.
33135
33136 2007-06-11 Robert Millan <rmh@aybabtu.com>
33137
33138 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33139 Add --pkglibdir=DIR option to override pkglibdir.
33140 Mention --image-type=TYPE in help output.
33141 Fix --grub-mkimage (it was a no-op).
33142 Abort gracefully when no parameter is given.
33143
33144 2007-06-11 Robert Millan <rmh@aybabtu.com>
33145
33146 * util/i386/pc/grub-mkrescue.in: New file.
33147 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33148 * Makefile.in: Handle bin_SCRIPTS.
33149
33150 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33151
33152 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33153 list of video modes.
33154
33155 2007-06-06 Robert Millan <rmh@aybabtu.com>
33156
33157 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33158 file doesn't exist, or if it is in a filesystem grub can't read.
33159
33160 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33161 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33162 header comment to fit in 80 columns when the variables are resolved.
33163
33164 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33165 could be identified by update-grub. Remove redundant check for
33166 unifont.pff existence (since convert_system_path_to_grub_path now
33167 handles that).
33168
33169 2007-06-04 Robert Millan <rmh@aybabtu.com>
33170
33171 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33172
33173 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33174
33175 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33176
33177 2007-06-04 Robert Millan <rmh@aybabtu.com>
33178
33179 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33180
33181 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33182 grub_apple_partition_map_fini.
33183
33184 * util/biosdisk.c
33185 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33186 to access >2 TiB disks).
33187
33188 Print disk->total_sectors with %llu instead of %lu, since this
33189 variable is always 64-bit (prevents wrong disk size from being displayed
33190 on either >2 TiB disk or big-endian CPU).
33191
33192 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33193 into a generic case that supports all (sane) partition maps.
33194
33195 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33196 breaks big-endian.
33197
33198 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33199 and grub_apple_partition_map_fini() after that.
33200
33201 2007-06-01 Robert Millan <rmh@aybabtu.com>
33202
33203 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33204
33205 * util/grub.d/00_header.in: Only enable gfxterm when
33206 convert_system_path_to_grub_path() succeeds.
33207
33208 2007-05-20 Robert Millan <rmh@aybabtu.com>
33209
33210 * util/update-grub_lib.in: New file.
33211 * DISTLIST: Add update-grub_lib.in.
33212 * conf/common.rmk: Generate update-grub_lib and install it in
33213 $(lib_DATA).
33214 * Makefile.in: Add install routine for $(lib_DATA).
33215
33216 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33217 function provided by update-grub_lib to support arbitrary paths of
33218 unifont.pff.
33219 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33220 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33221
33222 2007-05-19 Robert Millan <rmh@aybabtu.com>
33223
33224 * commands/i386/cpuid.c: New module.
33225 * DISTLIST: Add it.
33226 * conf/i386-efi.rmk: Enable cpuid.mod.
33227 * conf/i386-pc.rmk: Likewise.
33228
33229 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33230
33231 * kern/disk.c (grub_disk_read): Check return value of
33232 grub_realloc().
33233
33234 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33235
33236 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33237 arrays.
33238 * disk/raid.c (grub_raid_open): Likewise.
33239
33240 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33241
33242 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33243 stack instead of on the heap.
33244
33245 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33246 before doing a read on it.
33247
33248 * configure.ac: Only use -fno-stack-protector for the target
33249 environment.
33250
33251 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33252
33253 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33254 __attribute_ ((unused)) to mode_type argument.
33255
33256 * util/getroot.c (grub_guess_root_device): Fix #endif.
33257
33258 * kern/misc.c (memcmp): Fix prototype.
33259
33260 * include/grub/partition.h [GRUB_UTIL]
33261 (grub_gpt_partition_map_init): Add prototype.
33262 (grub_gpt_partition_map_fini): Likewise.
33263
33264 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33265 at the right place.
33266
33267 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33268 (grub_fat_read_data): Likewise.
33269 (grub_fat_find_dir): Likewise.
33270
33271 * font/manager.c (find_glyph): Make table a const.
33272 (grub_font_get_glyph): Remove bitmap from if statement.
33273
33274 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33275
33276 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33277 code, first search for device in /dev/mapper, then in /dev.
33278 (grub_util_get_grub_dev): New function.
33279 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33280 prototype.
33281 * util/grub-probe.c (probe): Remove check for RAID, call
33282 grub_util_get_grub_dev() instead of
33283 grub_util_biosdisk_get_grub_dev().
33284 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33285 grub_util_biosdisk_get_grub_dev().
33286 * util/i386/pc/grub-setup.c (main): Likewise.
33287
33288 2007-05-16 Robert Millan <rmh@aybabtu.com>
33289
33290 * DISTLIST: Update for the latest changes.
33291 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33292 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33293 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33294 grub/util/biosdisk.h.
33295 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33296 grub/util/biosdisk.h.
33297
33298 2007-05-16 Robert Millan <rmh@aybabtu.com>
33299
33300 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33301
33302 2007-05-16 Robert Millan <rmh@aybabtu.com>
33303
33304 * util/i386/efi/grub-install.in: New.
33305 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33306 newly added grub-install.
33307 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33308 include.
33309 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33310 grub/util/biosdisk.h.
33311 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33312 grub/util/biosdisk.h.
33313
33314 2007-05-16 Robert Millan <rmh@aybabtu.com>
33315
33316 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33317 * include/grub/util/biosdisk.h: ... here.
33318 * util/i386/pc/biosdisk.c: Moved to ...
33319 * util/biosdisk.c: ... here.
33320 * util/i386/pc/getroot.c: Moved to ...
33321 * util/getroot.c: ... here.
33322 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33323 * util/grub-mkdevicemap.c: ... here.
33324 * util/i386/pc/grub-probe.c: Moved to ...
33325 * util/grub-probe.c: ... here.
33326
33327 2007-05-15 Robert Millan <rmh@aybabtu.com>
33328
33329 * util/update-grub.in: Remove duplicated line in grub.cfg header
33330 message.
33331
33332 2007-05-13 Robert Millan <rmh@aybabtu.com>
33333
33334 * util/update-grub.in: Fix a few assumptions about the devices holding
33335 /, /boot and /boot/grub being the same.
33336 * util/grub.d/00_header.in: Likewise.
33337 * util/grub.d/10_hurd.in: Likewise.
33338 * util/grub.d/10_linux.in: Likewise.
33339
33340 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33341 patterns. Use that to define the `.old' suffix as older than `'.
33342
33343 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33344
33345 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33346 the grub.cfg header message.
33347
33348 2007-05-11 Robert Millan <rmh@aybabtu.com>
33349
33350 * util/update-grub.in: Create device.map if it doesn't already exist,
33351 before attempting to run grub-probe.
33352 Check for grub-probe and grub-mkdevicemap with the same code
33353 grub-install is using.
33354 Remove test mode.
33355
33356 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33357
33358 * Makefile.in: Add the datarootdir autoconf variable.
33359
33360 2007-05-09 Robert Millan <rmh@aybabtu.com>
33361
33362 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
33363 fail gracefully if dev->disk->partition == NULL.
33364
33365 2007-05-07 Robert Millan <rmh@aybabtu.com>
33366
33367 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33368 determine partition map module.
33369 * util/i386/pc/grub-install.in: Use this feature to decide which
33370 partition module to load, instead of hardcoding pc and gpt.
33371
33372 2007-05-07 Robert Millan <rmh@aybabtu.com>
33373
33374 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33375 source directory differs from build directory.
33376
33377 2007-05-05 Robert Millan <rmh@aybabtu.com>
33378
33379 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33380 initialisation.
33381
33382 2007-05-05 Robert Millan <rmh@aybabtu.com>
33383
33384 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33385
33386 2007-05-05 Robert Millan <rmh@aybabtu.com>
33387
33388 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33389 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33390
33391 2007-05-05 Robert Millan <rmh@aybabtu.com>
33392
33393 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33394 (grub_probe_SOURCES): Likewise.
33395 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33396 GPT and initialize dos_part and bsd_part accordingly.
33397 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33398 install_bsd_part.
33399 (main): Activate gpt module for use during partition identification,
33400 and deactivate it afterwards.
33401 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33402 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33403 partition identification, and deactivate it afterwards.
33404
33405 2007-05-05 Robert Millan <rmh@aybabtu.com>
33406
33407 * term/i386/pc/console.c (grub_console_fini): Call
33408 grub_term_set_current() before grub_term_unregister().
33409
33410 2007-05-04 Robert Millan <rmh@aybabtu.com>
33411
33412 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33413 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33414 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33415 and update-grub_DATA.
33416 * conf/common.rmk: Build and install update-grub components.
33417 * conf/common.mk: Regenerate.
33418 * util/update-grub.in: New. Core of update-grub.
33419 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33420 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33421 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33422 * util/grub.d/README: New. Document grub.d directory layout.
33423
33424 2007-05-01 Robert Millan <rmh@aybabtu.com>
33425
33426 * util/grub-emu.c: Move initialization functions
33427 grub_util_biosdisk_init() and grub_init_all() before
33428 grub_util_biosdisk_get_grub_dev(), which relies on them.
33429
33430 2007-04-19 Robert Millan <rmh@aybabtu.com>
33431
33432 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33433 it is used later.
33434
33435 2007-04-18 Jerone Young <jerone@gmail.com>
33436
33437 * kernel/elf.c: Add missing parenthesis for conditional statement
33438 stanza.
33439
33440 2007-04-10 Jerone Young <jerone@gmail.com>
33441
33442 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33443 continue on and look for device node with real device name.
33444
33445 2007-04-10 Jerone Young <jerone@gmail.com>
33446
33447 * configure.ac: Add argument for autoconf to use transformation
33448 ability.
33449 * Makefile.in: Add autoconf package transformation code.
33450 * util/i386/pc/grub-install.in: Likewise.
33451 * util/powerpc/ieee1275/grub-install.in: Likewise.
33452
33453 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33454
33455 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33456 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33457 (EXT2_REVISION): Likewise.
33458 (EXT2_INODE_SIZE): Likewise.
33459 (struct grub_ext2_block_group): Added a missing member
33460 "used_dirs".
33461 (grub_ext2_read_inode): Divide by the inode size in a superblock
33462 instead of 128 to obtain INODES_PER_BLOCK.
33463 Use the macro EXT2_INODE_SIZE instead of directly using
33464 SBLOCK->INODE_SIZE.
33465
33466 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33467
33468 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33469 superblock instead of the structure size to compute an
33470 offset. This fixes the problem that GRUB could not read a
33471 filesystem when inode size is different from 128-byte.
33472
33473 2007-03-05 Marco Gerards <marco@gnu.org>
33474
33475 * normal/main.c (read_config_file): When "menu" is not set, create
33476 an initial context.
33477
33478 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33479
33480 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33481 (HEAP_LIMIT): New macro.
33482 (grub_claim_heap): Claim memory up to `heaplimit'.
33483
33484 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33485
33486 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33487 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33488 (_start): Likewise.
33489 (grub_arch_modules_addr): Return address after `_end'.
33490 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33491 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33492 (add_segments): Calculate `_end' from phdr size and location.
33493 (ALIGN_UP): Moved to ...
33494 * include/grub/misc.h: here.
33495 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33496 New macro.
33497 (GRUB_IEEE1275_MODULE_BASE): Removed.
33498
33499 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33500
33501 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33502 loop boundary.
33503
33504 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33505
33506 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33507 All users updated.
33508 (grub_elf64_load_hook_t): Likewise.
33509 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33510 debug output.
33511
33512 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33513
33514 * kern/mm.c: Update copyright.
33515 (grub_mm_debug): Correct syntax error.
33516 (grub_mm_dump_free): New function.
33517 (grub_debug_free): Call `grub_free'.
33518 * include/grub/mm.h: Update copyright.
33519 (grub_mm_dump_free): Add declaration.
33520
33521 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33522
33523 * include/grub/ieee1275/ieee1275.h: Update copyright.
33524 * kern/powerpc/ieee1275/init.c: Likewise.
33525 * kern/powerpc/ieee1275/openfw.c: Likewise.
33526
33527 * loader/powerpc/ieee1275/linux.c: Likewise.
33528 * include/grub/elfload.h: Likewise.
33529 * kern/elf.c: Likewise.
33530 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33531 callers.
33532 (grub_elf64_load): Likewise.
33533 (grub_elf32_load_segment): Move to a nested function.
33534 (grub_elf64_load_segment): Likewise.
33535
33536 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33537
33538 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33539 prototype.
33540 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33541 (grub_heap_len): Likewise.
33542 (HEAP_SIZE): New macro.
33543 (grub_claim_heap): New function.
33544 (grub_machine_init): Don't claim heap directly. Call
33545 `grub_claim_heap'.
33546 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33547 (grub_available_iterate): New function.
33548
33549 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33550
33551 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33552 * configure.ac: Use it for testing the HOST and TARGET compilers.
33553
33554 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33555
33556 * Makefile.in (enable_grub_emu): New variable.
33557 * configure.ac (--enable-grub-emu): New option.
33558 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33559 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33560 * conf/i386-pc.rmk: Likewise.
33561 * conf/powerpc-ieee1275.rmk: Likewise.
33562 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33563
33564 2006-12-12 Marco Gerards <marco@gnu.org>
33565
33566 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33567
33568 * kern/env.c (grub_env_unset): Don't free the member `value' when
33569 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33570 pointer.
33571
33572 * normal/main.c (current_menu): Removed.
33573 (free_menu): Unset the `menu' environment variable.
33574 (grub_normal_menu_addentry): Make use of the environment variable
33575 `menu', instead of using the global `current_menu'. Allocate
33576 memory for the sourcecode of this entry.
33577 (read_config_file): New argument `nested', changed all callers.
33578 Only in the case of a new context, initialize a new menu. Set the
33579 `menu' environment variable.
33580 (grub_normal_execute): Don't set and unset the environment
33581 variable `menu' here anymore. Only free the menu when leaving the
33582 context.
33583
33584 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33585 leak.
33586
33587 2006-12-11 Marco Gerards <marco@gnu.org>
33588
33589 * normal/menu_entry.c (run): Fix off by one bug so the last line
33590 is executed. Move the loader check to outside the loop.
33591
33592 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33593
33594 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33595
33596 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33597
33598 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33599 the number of sectors. Reported by Andrey Shuvikov
33600 <mr_hyro@yahoo.com>.
33601
33602 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33603
33604 * kern/disk.c (grub_disk_read): When there is a read error, always
33605 try to read only the necessary data.
33606
33607 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33608 disk/raid.c.
33609 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33610 prototype.
33611 [GRUB_UTIL] (grub_raid_fini): Likewise.
33612 [GRUB_UTIL] (grub_lvm_init): Likewise.
33613 [GRUB_UTIL] (grub_lvm_fini): Likewise.
33614 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33615 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33616 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33617 and grub_raid_fini().
33618
33619 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33620
33621 * include/grub/types.h (__unused): Rename to UNUSED.
33622 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33623 (grub_elf64_size): Likewise.
33624
33625 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33626
33627 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33628 grub_error_push and grub_error_pop in the error-handling path.
33629 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33630 length.
33631
33632 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33633
33634 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33635 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33637 (kernel_elf_SOURCES): Likewise.
33638 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33639 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33640 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33641 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33642 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33643 (elf_mod_SOURCES): New variable.
33644 (elf_mod_CFLAGS): Likewise.
33645 (elf_mod_LDFLAGS): Likewise.
33646 * include/grub/types.h (__unused): New macro.
33647 * include/grub/elfload.h: New file.
33648 * kern/elf.c: Likewise.
33649 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33650 (ELF32_LOADMASK): New macro.
33651 (ELF64_LOADMASK): Likewise.
33652 (vmlinux): Removed.
33653 (grub_linux_load32): New function.
33654 (grub_linux_load64): Likewise.
33655 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33656 Use grub_elf_t instead of grub_file_t.
33657
33658 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33659
33660 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33661 `catch_result' to struct set_color_args.
33662
33663 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33664
33665 * normal/menu.c: Include grub/script.h.
33666 * normal/menu_entry.c: Likewise.
33667 * include/grub/normal.h: Do not include grub/script.h.
33668
33669 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33670
33671 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33672
33673 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33674
33675 * kern/disk.c (grub_disk_open): Print debug messages when opening a
33676 disk.
33677 (grub_disk_close): Print debug messages when closing a disk.
33678 (grub_disk_read): Print debug messages when disk read fails.
33679 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
33680 filesystem type.
33681 * kern/partition.c: Include misc.h.
33682 (grub_partition_iterate): Print debug messages when detecting
33683 partition type.
33684
33685 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33686
33687 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
33688 is negative.
33689 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
33690
33691 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
33692
33693 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33694 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
33695
33696 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
33697
33698 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
33699 instead of sizeof(lv). Patch by Michael Guntsche.
33700
33701 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
33702
33703 * disk/lvm.c: Rename VGS to VG_LIST.
33704 (grub_lvm_iterate): Change VGS->LV to VG-LV.
33705 (grub_lvm_open): Likewise.
33706 Thanks to Michael Guntsche for finding this bug.
33707
33708 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33709
33710 * configure.ac (AC_INIT): Bumped to 1.95.
33711
33712 2006-10-14 Robert Millan <rmh@aybabtu.com>
33713
33714 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
33715 with "/dev/.static/dev/md".
33716
33717 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33718
33719 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
33720 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
33721 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
33722 DRIVE_NAME are always freed.
33723
33724 * util/i386/pc/biosdisk.c (make_device_name): Add one into
33725 DOS_PART, as a DOS partition is counted from one instead of zero
33726 now. Reported by Robert Millan.
33727
33728 2006-10-14 Robert Millan <rmh@aybabtu.com>
33729
33730 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
33731 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
33732 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
33733 string returned by grub_guess_root_device.
33734 * util/i386/pc/grub-setup.c: Likewise.
33735 * util/i386/pc/grub-probefs.c: Likewise.
33736
33737 * util/i386/pc/grub-probefs.c: Rename to ...
33738 * util/i386/pc/grub-probe.c: ... this.
33739 * DISTLIST: Remove grub-probefs, add grub-probe.
33740 * conf/i386-efi.rmk: Likewise.
33741 * conf/i386-pc.rmk: Likewise.
33742 * util/i386/pc/grub-install.in: Likewise.
33743
33744 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
33745 choose which information we want to print.
33746
33747 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33748
33749 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
33750 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
33751 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
33752 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
33753 video/readers/tga.c and video/i386/pc/vbeutil.c.
33754
33755 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
33756
33757 Added support for RAID and LVM.
33758
33759 * disk/lvm.c: New file.
33760 * disk/raid.c: Likewise.
33761 * include/grub/lvm.h: Likewise.
33762 * include/grub/raid.h: Likewise.
33763 * include/grub/util/lvm.h: Likewise.
33764 * include/grub/util/raid.h: Likewise.
33765 * util/lvm.c: Likewise.
33766 * util/raid.c: Likewise.
33767
33768 * include/grub/disk.h (grub_disk_dev_id): Add
33769 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
33770 (grub_disk_get_size): New prototype.
33771 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
33772 returns a partition.
33773 (grub_disk_get_size): New function.
33774
33775 * kern/i386/pc/init.c (make_install_device): Copy the prefix
33776 verbatim if grub_install_dos_part is -2.
33777
33778 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
33779 and LVM devices.
33780
33781 * util/i386/pc/grub-setup.c (setup): New argument
33782 MUST_EMBED. Force embedding of GRUB when the argument is
33783 true. Close FILE before returning.
33784 (main): Add support for RAID and LVM.
33785
33786 * conf/common.rmk: Add RAID and LVM modules.
33787 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
33788 util/lvm.c.
33789 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
33790
33791 * kern/misc.c (grub_strstr): New function.
33792 * include/grub/misc.h (grub_strstr): New prototype.
33793
33794 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
33795
33796 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
33797
33798 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
33799
33800 * kern/misc.c (grub_strtoull): Guess the base only if not
33801 specified.
33802
33803 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33804
33805 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
33806 PowerMac support.
33807
33808 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33809
33810 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
33811
33812 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
33813 Remove `flags' argument. All callers changed.
33814 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
33815 (IEEE1275_IHANDLE_INVALID): New variable.
33816 (IEEE1275_CELL_INVALID): New variable.
33817 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33818 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
33819 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
33820 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
33821 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
33822 codes from Open Firmware. All callers updated.
33823 (grub_ieee1275_next_property): Directly return Open Firmware return
33824 code.
33825 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33826 Standardize error checking from `grub_ieee1275_get_property'.
33827 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
33828 `devalias' to `aliases'. Correct comments. Consolidate error paths.
33829
33830 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
33831
33832 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
33833 `instance_to_package_args' to `instance_to_path_args'.
33834
33835 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
33836 `grub_ieee1275_chosen'.
33837
33838 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
33839 `grub_ieee1275_interpret'.
33840
33841 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
33842
33843 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
33844
33845 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
33846
33847 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
33848 (__cmpdi): Likewise.
33849
33850 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
33851 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
33852 `grub_ssize_t'.
33853
33854 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
33855
33856 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
33857 to type `grub_ssize_t'.
33858 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
33859
33860 2006-09-22 Marco Gerards <marco@gnu.org>
33861
33862 * normal/script.c (grub_script_create_cmdmenu): Skip leading
33863 newlines.
33864
33865 2006-09-22 Marco Gerards <marco@gnu.org>
33866
33867 * commands/echo.c: New file.
33868
33869 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
33870
33871 * conf/common.rmk (echo_mod_SOURCES): New variable.
33872 (echo_mod_CFLAGS): Likewise.
33873 (echo_mod_LDFLAGS): Likewise.
33874
33875 2006-09-22 Marco Gerards <marco@gnu.org>
33876
33877 * normal/main.c (get_line): Malloc memory instead of using
33878 preallocated memory. Removed the arguments `cmdline' and
33879 `max_len'. Updated all callers.
33880
33881 2006-09-22 Marco Gerards <marco@gnu.org>
33882
33883 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
33884 (normal_mod_DEPENDENCIES): Likewise.
33885
33886 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
33887 (normal_mod_DEPENDENCIES): Likewise.
33888
33889 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
33890
33891 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
33892
33893 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
33894 programs.
33895 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
33896 (normal_mod_DEPENDENCIES): Likewise.
33897 * conf/i386-pc.mk: Regenerate.
33898 * conf/i386-efi.mk: Likewise
33899 * conf/common.mk: Likewise.
33900 * conf/powerpc-ieee1275.mk: Likewise.
33901 * conf/sparc64-ieee1275.mk: Likewise.
33902
33903 2006-09-22 Robert Millan <rmh@aybabtu.com>
33904
33905 Sync with i386 version.
33906 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
33907 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
33908
33909 2006-09-21 Robert Millan <rmh@aybabtu.com>
33910
33911 Import from GRUB Legacy (lib/device.c):
33912 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
33913 (init_device_map) [__linux__]: Add support for I2O devices.
33914
33915 2006-09-14 Marco Gerards <marco@gnu.org>
33916
33917 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
33918 `-melf_i386'.
33919
33920 2006-09-14 Robert Millan <rmh@aybabtu.com>
33921
33922 * util/i386/pc/grub-install.in: Skip menu.lst when removing
33923 /boot/grub/*.lst.
33924
33925 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
33926
33927 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
33928 before adding it to device.map.
33929
33930 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
33931
33932 * genmk.rb: Let GCC generate dependencies the first time it
33933 compiles a file; using the -MD option.
33934 * conf/common.mk: Regenerate.
33935 * conf/i386-pc.mk: Likewise.
33936 * conf/i386-efi.mk: Likewise.
33937 * conf/powerpc-ieee1275.mk: Likewise.
33938 * conf/sparc64-ieee1275.mk: Likewise.
33939
33940 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
33941
33942 Move the prototypes of grub_setjmp and grub_longjmp to
33943 cpu/setjmp.h, so that each architecture may specify different
33944 attributes.
33945
33946 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
33947 (grub_longjmp): Likewise.
33948 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
33949 (grub_longjmp): Likewise.
33950 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
33951 (grub_longjmp): Likewise.
33952
33953 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
33954 [!GRUB_UTIL] (grub_longjmp): Removed.
33955
33956 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
33957
33958 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
33959 "color!" method does not return any value.
33960
33961 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33962
33963 * include/grub/bitmap.h: New file.
33964
33965 * include/grub/i386/pc/vbeutil.h: Likewise.
33966
33967 * video/bitmap.c: Likewise.
33968
33969 * video/readers/tga.c: Likewise.
33970
33971 * video/i386/pc/vbeutil.c: Likewise.
33972
33973 * commands/videotest.c: Code cleanup and updated to reflect to new
33974 video API.
33975
33976 * term/gfxterm.c: Likewise.
33977
33978 * video/video.c: Likewise.
33979
33980 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
33981 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
33982 (bitmap_mod_SOURCES): New entry.
33983 (bitmap_mod_CFLAGS): Likewise.
33984 (bitmap_mod_LDFLAGS): Likewise.
33985 (tga_mod_SOURCES): Likewise.
33986 (tga_mod_CFLAGS): Likewise.
33987 (tga_mod_LDFLAGS): Likewise.
33988
33989 * include/grub/video.h (grub_video_blit_operators): New enum type.
33990 (grub_video_render_target): Changed as forward declaration and moved
33991 actual definition to be video driver specific.
33992 (grub_video_adapter.blit_bitmap): Added blitting operator.
33993 (grub_video_adapter.blit_render_target): Likewise.
33994 (grub_video_blit_bitmap): Likewise.
33995 (grub_video_blit_render_target): Likewise.
33996
33997 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
33998 driver specific render target definition.
33999 (grub_video_vbe_map_rgba): Added driver internal helper.
34000 (grub_video_vbe_unmap_color): Updated to use
34001 grub_video_i386_vbeblit_info.
34002 (grub_video_vbe_get_video_ptr): Likewise.
34003
34004 * include/grub/i386/pc/vbeblit.h
34005 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
34006 grub_video_i386_vbeblit_info.
34007 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34008 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34009 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34010 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34011 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34012 (grub_video_i386_vbeblit_index_index): Likewise.
34013 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
34014 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34015 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34016 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
34017 operator.
34018 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
34019 operator.
34020
34021 * video/i386/pc/vbeblit.c: Updated to reflect changes on
34022 include/grub/i386/pc/vbeblit.h.
34023
34024 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
34025 Updated to use grub_video_i386_vbeblit_info.
34026 (grub_video_i386_vbefill_R8G8B8): Likewise.
34027 (grub_video_i386_vbefill_index): Likewise.
34028 (grub_video_i386_vbefill): Added generic filler.
34029
34030 * video/i386/pc/vbefill.c: Updated to reflect changes on
34031 include/grub/i386/pc/vbefill.h.
34032
34033 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
34034 grub_video_i386_vbeblit_info.
34035 (grub_video_vbe_unmap_color): Likewise.
34036 (grub_video_vbe_blit_glyph): Likewise.
34037 (grub_video_vbe_scroll): Likewise.
34038 (grub_video_vbe_draw_pixel): Removed function.
34039 (grub_video_vbe_get_pixel): Likewise.
34040 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
34041 updated code to use it.
34042 (common_blitter): Added common blitter for render target and bitmap.
34043 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
34044 (grub_video_vbe_blit_render_target): Likewise.
34045
34046 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
34047
34048 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34049 is in text mode if there is no console control protocol instance
34050 available.
34051
34052 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34053
34054 * include/grub/video.h: Code cleanup.
34055
34056 * include/grub/i386/pc/vbe.h: Likewise.
34057
34058 * video/i386/pc/vbe.c: Likewise.
34059
34060 * video/i386/pc/vbeblit.c: Likewise.
34061
34062 * video/i386/pc/vbefill.c: Likewise.
34063
34064 * video/video.c: Likewise. Also added more comments.
34065
34066 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34067
34068 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34069 (struct grub_biosdisk_dap): Likewise.
34070
34071 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34072 linkage settings for all functions.
34073
34074 2006-07-12 Marco Gerards <marco@gnu.org>
34075
34076 * configure.ac (--enable-mm-debug): Fix typo.
34077
34078 * genkernsyms.sh.in: Use proper quoting for `CC'.
34079
34080 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34081
34082 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34083 (normal_mod_ASFLAGS): Remove "-m32".
34084
34085 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34086
34087 * util/misc.c: Include config.h.
34088 [!HAVE_MEMALIGN]: Do not include malloc.h.
34089 (grub_memalign): Use posix_memalign, if present. Then, use
34090 memalign, if present. Otherwise, emit an error.
34091
34092 * util/grub-emu.c: Do not include malloc.h.
34093
34094 * include/grub/util/misc.h: Include unistd.h. This is required for
34095 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34096 D. Eades III <hde@foobar-qux.org>.
34097
34098 * configure.ac (AC_GNU_SOURCE): Added.
34099 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34100 type.
34101
34102 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34103
34104 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34105 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34106
34107 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34108
34109 * include/grub/types.h (grub_host_addr_t): Rename to
34110 grub_target_addr_t.
34111 (grub_host_off_t): Rename to grub_target_off_t.
34112 (grub_host_size_t): Rename to grub_target_size_t.
34113 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34114 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34115
34116 * include/grub/kernel.h (struct grub_module_header): Change type
34117 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34118 (grub_module_info): Likewise.
34119
34120 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34121
34122 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34123 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34124 Velazquez <jesus.velazquez@gmail.com>.
34125
34126 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34127
34128 Count partitions from 1 instead of 0 in the string representation
34129 of partitions. Still use 0-based internally.
34130
34131 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34132 (sun_partition_map_iterate): Use grub_partition_t instead of
34133 struct grub_partition *. Cast DESC->START_CYLINDER to
34134 grub_uint64_t after converting the endian.
34135 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34136 (sun_partition_map_get_name): Add 1 to P->INDEX.
34137
34138 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34139 PCDATA->DOS_PART.
34140 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34141
34142 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34143 zero instead of one.
34144 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34145 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34146
34147 * partmap/apple.c (apple_partition_map_iterate): Change the type
34148 of POS to unsigned.
34149 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34150 (apple_partition_map_get_name): Add 1 into P->INDEX.
34151
34152 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34153 of POS to unsigned.
34154 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34155 calculate the offset of a partition.
34156 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34157 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34158
34159 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34160 SECTOR to grub_disk_addr_t.
34161 (acorn_partition_map_iterate): Likewise.
34162 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34163 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34164 top.
34165 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34166
34167 * kern/i386/pc/init.c (make_install_device): Add 1 into
34168 GRUB_INSTALL_DOS_PART.
34169
34170 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34171 conditional.
34172
34173 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34174
34175 Clean up the code to support 64-bit addressing in disks and
34176 files. This change is not enough for filesystems yet.
34177
34178 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34179 type of "start" to grub_uint64_t.
34180 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34181 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34182 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34183 convert addresses.
34184
34185 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34186 to grub_disk_addr_t.
34187
34188 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34189 string.
34190
34191 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34192
34193 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34194 to char *.
34195
34196 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34197
34198 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34199
34200 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34201
34202 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34203 to grub_off_t, to detect an error from grub_file_seek.
34204 (grub_multiboot_load_elf32): Likewise.
34205
34206 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34207 maximum unsigned long value when an overflow is detected.
34208 (grub_strtoull): New function.
34209 (grub_divmod64): Likewise.
34210 (grub_lltoa): use grub_divmod64.
34211
34212 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34213 grub_disk_addr_t.
34214 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34215 the pointer to next character. Use grub_strtoull instead of
34216 grub_strtoul.
34217 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34218 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34219 respectively.
34220
34221 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
34222 return value is signed.
34223 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34224 test if OFFSET is less than zero, as OFFSET is unsigned now.
34225
34226 * kern/disk.c (struct grub_disk_cache): Change the type of
34227 "sector" to grub_disk_addr_t.
34228 (grub_disk_cache_get_index): Change the type of SECTOR to
34229 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34230 unsigned after shifting.
34231 (grub_disk_cache_invalidate): Change the type of SECTOR to
34232 grub_disk_addr_t.
34233 (grub_disk_cache_unlock): Likewise.
34234 (grub_disk_cache_store): Likewise.
34235 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34236 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34237 grub_disk_addr_t and grub_uint64_t, respectively.
34238 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34239 body, as the value of OFFSET is tweaked by
34240 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34241 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34242 respectively.
34243 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34244 body, as the value of OFFSET is tweaked by
34245 grub_disk_check_range. Change the types of LEN and N to
34246 grub_size_t.
34247
34248 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34249 and "saved_offset" to grub_off_t.
34250 (test_header): Cast BUF to char *.
34251 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34252 to char *.
34253 (grub_gzio_read): Change the types of OFFSET and SIZE to
34254 grub_off_t and grub_size_t, respectively.
34255
34256 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34257 Removed.
34258 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34259 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34260 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34261 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34262 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34263
34264 * include/grub/types.h (grub_off_t): Unconditionally set to
34265 grub_uint64_t.
34266 (grub_disk_addr_t): Changed to grub_uint64_t.
34267
34268 * include/grub/partition.h (struct grub_partition): Change the
34269 types of "start", "len" and "offset" to grub_disk_addr_t,
34270 grub_uint64_t and grub_disk_addr_t, respectively.
34271 (grub_partition_get_start): Return grub_disk_addr_t.
34272 (grub_partition_get_len): Return grub_uint64_t.
34273
34274 * include/grub/misc.h (grub_strtoull): New prototype.
34275 (grub_divmod64): Likewise.
34276
34277 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34278 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34279 grub_off_t, respectively.
34280 All callers and references changed.
34281
34282 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34283 grub_size_t in "read".
34284 All callers and references changed.
34285
34286 * include/grub/file.h (struct grub_file): Change the types of
34287 "offset" and "size" to grub_off_t and grub_off_t,
34288 respectively. Change the type of SECTOR to grub_disk_addr_t in
34289 "read_hook".
34290 (grub_file_read): Change the type of LEN to grub_size_t.
34291 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34292 grub_off_t.
34293 (grub_file_size): Return grub_off_t.
34294 (grub_file_tell): Likewise.
34295 All callers and references changed.
34296
34297 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34298 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34299 "write".
34300 (struct grub_disk): Change the type of "total_sectors" to
34301 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
34302 "read_hook".
34303 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34304 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34305 (grub_disk_write): Likewise.
34306 All callers and references changed.
34307
34308 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34309 char * for grub_strncmp to silence gcc.
34310 (grub_iso9660_mount): Likewise.
34311 (grub_iso9660_mount): Likewise.
34312 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34313 return statement.
34314 (grub_iso9660_iterate_dir): Likewise.
34315 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34316
34317 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34318 LEN to grub_disk_addr_t and grub_size_t, respectively.
34319
34320 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34321
34322 * fs/jfs.c (grub_jfs_read_file): Likewise.
34323
34324 * fs/minix.c (grub_jfs_read_file): Likewise.
34325
34326 * fs/sfs.c (grub_jfs_read_file): Likewise.
34327
34328 * fs/ufs.c (grub_jfs_read_file): Likewise.
34329
34330 * fs/xfs.c (grub_jfs_read_file): Likewise.
34331
34332 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34333 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34334 respectively.
34335
34336 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34337 BLKNR to -1 instead of returning GRUB_ERRNO.
34338 (grub_ext2_read_file): Change the types of SECTOR and
34339 LEN to grub_disk_addr_t and grub_size_t, respectively.
34340
34341 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34342 LEN to grub_disk_addr_t and grub_size_t, respectively.
34343
34344 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34345 grub_file_read.
34346
34347 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34348 string. Do not cast SECTOR explicitly.
34349
34350 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34351 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34352 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34353 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34354 over 2TB and LBA mode is not supported, raise an error.
34355 (get_safe_sectors): New function.
34356 (grub_biosdisk_read): Use get_safe_sectors.
34357 (grub_biosdisk_write): Likewise.
34358
34359 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34360 (grub_efidisk_write): Likewise.
34361
34362 * disk/loopback.c (delete_loopback): Cosmetic changes.
34363 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34364 correctly.
34365 (grub_loopback_open): Likewise.
34366 (grub_loopback_read): Likewise. Also, change the type of POS to
34367 grub_off_t, and fix the usage of grub_memset.
34368
34369 * commands/i386/pc/play.c: Include grub/machine/time.h.
34370
34371 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34372 print FILE->SIZE.
34373
34374 * commands/configfile.c: Include grub/env.h.
34375
34376 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34377 GRUB_ERRNO directly instead. Change the type of POS to
34378 grub_off_t. Follow the coding standard.
34379
34380 * commands/blocklist.c: Include grub/partition.h.
34381 (grub_cmd_blocklist): Return an error if the underlying device is
34382 not a disk. Take the starting sector of a partition into account,
34383 if a partition is used.
34384
34385 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34386 a length field.
34387 (lba_mode): Support 64-bit addresses.
34388 (chs_mode): Likewise.
34389 (copy_buffer): Adapted to the new offsets of a length field and a
34390 segment field.
34391 (blocklist_default_start): Allocate 64-bit space.
34392
34393 * boot/i386/pc/boot.S (force_lba): Removed.
34394 (boot_drive): Moved to under KERNEL_SECTOR.
34395 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
34396 space.
34397 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34398 is useless.
34399 (lba_mode): Refactored to support a 64-bit address. More size
34400 optimization.
34401 (setup_sectors): Likewise.
34402
34403 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34404
34405 * DISTLIST: Added include/grub/i386/linux.h. Removed
34406 include/grub/i386/pc/linux.h
34407
34408 * configure.ac (AC_INIT): Bumped to 1.94.
34409
34410 * config.guess: Updated from gnulib.
34411 * config.sub: Likewise.
34412 * install-sh: Likewise.
34413 * mkinstalldirs: Likewise.
34414
34415 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34416
34417 * conf/common.rmk (grub_modules_init.lst): Depended on
34418 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34419 MODSRCFILES.
34420
34421 * genmk.rb (PModule::rule): Reverted the previous change.
34422
34423 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34424
34425 * conf/common.rmk (grub_modules_init.lst): Depends on
34426 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34427 that the target does not exist before producing.
34428 (grub_modules_init.h): Remove the target before generating.
34429 (grub_emu_init.c): Likewise.
34430
34431 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34432
34433 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34434
34435 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34436 for the target-specific tests. Make sure that we also have the
34437 up-to-date target variables for those tests.
34438
34439 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34440
34441 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34442 (PModule::rule): Likewise.
34443
34444 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34445
34446 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34447 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34448 target-specific flags should be prefixed.
34449 (PModule::rule): Likewise.
34450
34451 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34452
34453 * configure.ac (CMP): Check if cmp is available explicitly.
34454
34455 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34456
34457 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34458 (target_cpu): New variable.
34459 (pkglibdir): Use target_cpu instead of host_cpu.
34460
34461 * util/i386/pc/grub-install.in (host_cpu): Removed.
34462 (target_cpu): New variable.
34463 (pkglibdir): Use target_cpu instead of host_cpu.
34464
34465 * util/genmoddep.c: Removed.
34466
34467 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34468 instead of GRUB_HOST_SIZEOF_VOID_P.
34469 * kern/dl.c: Likewise.
34470
34471 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34472 ...
34473 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34474 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34475 (GRUB_TARGET_SIZEOF_LONG): ... this.
34476 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34477 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34478 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34479 to ...
34480 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34481 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34482 (GRUB_TARGET_SIZEOF_LONG): ... this.
34483 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34484 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34485 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34486 to ...
34487 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34488 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34489 (GRUB_TARGET_SIZEOF_LONG): ... this.
34490 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34491 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34492
34493 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34494 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34495 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34496 instead of GRUB_HOST_SIZEOF_LONG.
34497 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34498 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34499 GRUB_CPU_WORDS_BIGENDIAN.
34500 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34501 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34502 grub_host_ssize_t.
34503
34504 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34505 (genmoddep_SOURCES): Likewise.
34506 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34507 (genmoddep_SOURCES): Likewise.
34508 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34509 (genmoddep_SOURCES): Likewise.
34510 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34511 Likewise.
34512 (genmoddep_SOURCES): Likewise.
34513
34514 * genmoddep.awk: New file.
34515
34516 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34517 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34518 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34519 (PModule::rule): Likewise.
34520 (Program::rule): Likewise.
34521 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34522 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34523 respectively.
34524
34525 * configure.ac: Rewritten intensively to use host and target
34526 instead of build and host, respectively.
34527
34528 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34529 (host_cpu): Removed.
34530 (target_cpu): New variable.
34531 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34532 (BUILD_CC): Removed.
34533 (BUILD_CFLAGS): Likewise.
34534 (BUILD_CPPFLAGS): Likewise.
34535 (TARGET_CC): New variable.
34536 (TARGET_CFLAGS): Likewise.
34537 (TARGET_CPPFLAGS): Likewise.
34538 (TARGET_LDFLAGS): Likewise.
34539 (AWK): Likewise.
34540 (include): Use target_cpu instead of host_cpu.
34541 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
34542
34543 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34544
34545 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34546
34547 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34548 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34549 field 'false' to 'exec_on_false'.
34550 (grub_script_create_cmdif): Renamed argument names to reflect above
34551 changes.
34552
34553 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34554
34555 * normal/script.c (grub_script_create_cmdif): Likewise.
34556
34557 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34558
34559 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34560 top.
34561 (grub_hfsplus_btree_recptr): Likewise.
34562 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34563 FILEBLOCK both to pass a block number and store next block
34564 number.
34565 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34566 overflow file correctly. Specify errors appropriately, because
34567 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34568 grub_hfsplus_btree_recptr to get the pointer to a found key.
34569 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34570 is found.
34571
34572 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34573 linux.mod.
34574 (_linux_mod_SOURCES): New variable.
34575 (_linux_mod_CFLAGS): Likewise.
34576 (_linux_mod_LDFLAGS): Likewise.
34577 (linux_mod_SOURCES): Likewise.
34578 (linux_mod_CFLAGS): Likewise.
34579 (linux_mod_LDFLAGS): Likewise.
34580
34581 * DISTLIST: Added loader/i386/efi/linux.c,
34582 loader/i386/efi/linux_normal.c and
34583 include/grub/i386/efi/loader.h.
34584
34585 * loader/i386/efi/linux.c: New file.
34586 * loader/i386/efi/linux_normal.c: Likewise.
34587 * include/grub/i386/efi/loader.h: Likewise.
34588
34589 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34590
34591 * commands/blocklist.c: New file.
34592
34593 * DISTLIST: Added commands/blocklist.c.
34594
34595 * term/efi/console.c (grub_console_highlight_color): Use a lighter
34596 color for the background, and a darker color for the foreground.
34597 (grub_console_checkkey): Return READ_KEY.
34598 (grub_console_cls): Set the background to
34599 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34600
34601 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34602
34603 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34604 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34605
34606 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34607 prototype.
34608
34609 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34610 BG. The spec is wrong again.
34611
34612 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34613 prototype.
34614 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34615
34616 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34617 commands/blocklist.c.
34618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34619
34620 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34621 (blocklist_mod_SOURCES): New variable.
34622 (blocklist_mod_CFLAGS): Likewise.
34623 (blocklist_mod_LDFLAGS): Likewise.
34624
34625 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34626
34627 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34628 duplication.
34629 (lba_mode): Use %eax more intensively to reduce the code size.
34630
34631 2006-05-20 Marco Gerards <marco@gnu.org>
34632
34633 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34634
34635 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34636 for `menuentry'.
34637 (script): Accept leading newlines.
34638 (newlines): New rule to describe 0 or more newlines.
34639 (commands): Accept `command' with trailing newline. Fixed the
34640 order in which arguments were passed to `grub_script_add_cmd'.
34641 Accept commands separated by newlines.
34642 (function): Changed to accept newlines.
34643 (menuentry) Rewritten.
34644
34645 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34646 front of the list, instead of to the end.
34647
34648 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34649
34650 * util/i386/pc/grub-install.in (bindir): New variable.
34651 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34652 Shaver <lbgwjl@gmail.com>.
34653
34654 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34655
34656 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34657 grub/machine/linux.h
34658 * loader/i386/pc/linux.c: Likewise.
34659
34660 * include/grub/i386/pc/linux.h: Moved to ...
34661 * include/grub/i386/linux.h: ... here.
34662
34663 * include/grub/i386/linux.h (struct linux_kernel_params): New
34664 struct.
34665
34666 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34667
34668 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34669 checking.
34670 (grub_video_vbe_blit_glyph): Likewise.
34671 (grub_video_vbe_blit_bitmap): Likewise.
34672 (grub_video_vbe_blit_render_target): Likewise.
34673
34674 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
34675
34676 * configure.ac (--with-platform): Properly quote the square
34677 brackets.
34678
34679 2006-05-08 Marco Gerards <marco@gnu.org>
34680
34681 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
34682 this...
34683 (kernel_elf_HEADERS): ...to this. Updated all users.
34684 (grubof_symlist.c): Renamed from this...
34685 (kernel_elf_symlist.c): ...to this. Updated all users.
34686 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34687 (grubof_SOURCES): Renamed from this...
34688 (kernel_elf_SOURCES): ...to this.
34689 (grubof_HEADERS): Renamed from this...
34690 (kernel_elf_HEADERS): ...to this.
34691 (grubof_CFLAGS): Renamed from this...
34692 (kernel_elf_CFLAGS): ...to this.
34693 (grubof_ASFLAGS): Renamed from this...
34694 (kernel_elf_ASFLAGS): ...to this.
34695 (grubof_LDFLAGS): Renamed from this...
34696 (kernel_elf_LDFLAGS): ...to this.
34697
34698 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
34699 this...
34700 (kernel_elf_HEADERS): ...to this. Updated all users.
34701 (grubof_symlist.c): Renamed from this...
34702 (kernel_elf_symlist.c): ...to this. Updated all users.
34703 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34704 (grubof_SOURCES): Renamed from this...
34705 (kernel_elf_SOURCES): ...to this.
34706 (grubof_HEADERS): Renamed from this...
34707 (kernel_elf_HEADERS): ...to this.
34708 (grubof_CFLAGS): Renamed from this...
34709 (kernel_elf_CFLAGS): ...to this.
34710 (grubof_ASFLAGS): Renamed from this...
34711 (kernel_elf_ASFLAGS): ...to this.
34712 (grubof_LDFLAGS): Renamed from this...
34713 (kernel_elf_LDFLAGS): ...to this.
34714
34715 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
34716 `kernel.elf' instead of `grubof'.
34717
34718 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
34719
34720 Add --with-platform to configure. Use pkglibdir instead of
34721 pkgdatadir. This is reported by Roger Leigh.
34722
34723 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
34724 (host_vendor): Likewise.
34725 (host_os): Likewise.
34726 (pkgdatadir): Likewise.
34727 (platform): New variable.
34728 (pkglibdir): Likewise.
34729 Use PKGLIBDIR instead of PKGDATADIR.
34730
34731 * util/i386/pc/grub-install.in (datadir): Removed.
34732 (host_vendor): Likewise.
34733 (host_os): Likewise.
34734 (pkgdatadir): Likewise.
34735 (platform): New variable.
34736 (pkglibdir): Likewise.
34737 Use PKGLIBDIR instead of PKGDATADIR.
34738
34739 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
34740 instead of GRUB_DATADIR.
34741 (main): Likewise.
34742 * util/i386/pc/grub-mkimage.c (usage): Likewise.
34743 (main): Likewise.
34744 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34745 (main): Likewise.
34746
34747 * configure.ac (--with-platform): New option.
34748 Use PLATFORM instead of HOST_VENDOR to specify a platform.
34749
34750 * Makefile.in: Include a makefile based on PLATFORM instead of
34751 HOST_VENDOR.
34752 (pkgdatadir): Not appended by the machine type.
34753 (pkglibdir): Appended by the machine type.
34754 (host_vendor): Removed.
34755 (platform): New variable.
34756 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
34757 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
34758 (uninstall): Likewise.
34759
34760 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
34761
34762 Use the environment context in the menu. Remove the commands
34763 "default" and "timeout", and use variables instead.
34764
34765 * normal/menu.c: Include grub/env.h.
34766 (print_entry): Cast TITLE to silence gcc.
34767 (get_timeout): New function.
34768 (set_timeout): Likewise.
34769 (get_entry_number): Likewise.
34770 (run_menu): Use a default entry, a fallback entry and a timeout
34771 in the environment variables "default", "fallback" and
34772 "timeout". Also, tweak the default entry if it is not within the
34773 current menu entries.
34774 (grub_menu_run): Use a fallback entry in the environment variable
34775 "fallback".
34776
34777 * normal/main.c (read_config_file): Do not initialize
34778 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
34779 NEWMENU->TIMEOUT.
34780 (grub_normal_execute): Use a data slot to store the menu.
34781
34782 * include/grub/normal.h (struct grub_menu): Removed default_entry,
34783 fallback_entry and timeout.
34784 (struct grub_menu_list): Removed.
34785 (grub_menu_list_t): Likewise.
34786 (struct grub_context): Likewise.
34787 (grub_context_t): Likewise.
34788 (grub_context_get): Likewise.
34789 (grub_context_get_current_menu): Likewise.
34790 (grub_context_push_menu): Likewise.
34791 (grub_context_pop_menu): Likewise.
34792 (grub_default_init): Likewise.
34793 (grub_default_fini): Likewise.
34794 (grub_timeout_init): Likewise.
34795 (grub_timeout_fini): Likewise.
34796
34797 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
34798 and timeout.mod.
34799 (normal_mod_SOURCES): Removed normal/context.c.
34800
34801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
34802 commands/default.c, commands/timeout.c and normal/context.c.
34803 (normal_mod_SOURCES): Removed normal/context.c.
34804
34805 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
34806 commands/timeout.c and normal/context.c.
34807 (normal_mod_SOURCES): Removed normal/context.c.
34808
34809 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
34810 commands/default.c, commands/timeout.c and normal/context.c.
34811 (normal_mod_SOURCES): Removed normal/context.c.
34812
34813 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
34814 timeout.mod.
34815 (default_mod_SOURCES): Removed.
34816 (default_mod_CFLAGS): Likewise.
34817 (default_mod_LDFLAGS): Likewise.
34818 (timeout_mod_SOURCES): Removed.
34819 (timeout_mod_CFLAGS): Likewise.
34820 (timeout_mod_LDFLAGS): Likewise.
34821
34822 * DISTLIST: Removed commands/default.c, commands/timeout.c and
34823 normal/context.c.
34824
34825 * commands/default.c: Removed.
34826 * commands/timeout.c: Likewise.
34827 * normal/context.c: Likewise.
34828
34829 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
34830
34831 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
34832
34833 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
34834
34835 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
34836 "next" to "prev" for readability.
34837 (struct grub_env_sorted_var): New struct.
34838 (grub_env_context): Renamed to ...
34839 (initial_context): ... this.
34840 (grub_env_var_context): Renamed to ...
34841 (current_context): ... this.
34842 (grub_env_find): Look only at CURRENT_CONTEXT.
34843 (grub_env_context_open): Rewritten to copy exported variables from
34844 previous context.
34845 (grub_env_context_close): Rewritten according to the new
34846 scheme. Also, add an assertion to prevent the initial context from
34847 removed.
34848 (grub_env_insert): Removed the code for the sorted list.
34849 (grub_env_remove): Likewise.
34850 (grub_env_export): Simply mark the variable with
34851 GRUB_ENV_VAR_GLOBAL.
34852 (grub_env_set): A cosmetic change for naming consistency.
34853 (grub_env_get): Likewise.
34854 (grub_env_unset): Likewise.
34855 (grub_env_iterate): Rewritten to sort variables within this
34856 function.
34857 (grub_register_variable_hook): Fixed for naming consistency. Call
34858 grub_env_find again, only if NAME is not found at the first time.
34859 (mangle_data_slot_name): New function.
34860 (grub_env_set_data_slot): Likewise.
34861 (grub_env_get_data_slot): Likewise.
34862 (grub_env_unset_data_slot): Likewise.
34863
34864 * include/grub/env.h (grub_env_var_type): New enum.
34865 (GRUB_ENV_VAR_LOCAL): New constant.
34866 (GRUB_ENV_VAR_GLOBAL): Likewise.
34867 (GRUB_ENV_VAR_DATA): Likewise.
34868 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
34869 "type".
34870 (grub_env_set): Replace VAR with NAME for consistency.
34871 (grub_register_variable_hook): Likewise.
34872 (grub_env_export): Specify the name of the argument.
34873 (grub_env_set_data_slot): New prototype.
34874 (grub_env_get_data_slot): Likewise.
34875 (grub_env_unset_data_slot): Likewise.
34876
34877 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34878
34879 Extend the loader so that GRUB can accept a loader which comes
34880 back to GRUB when a loaded image exits. Also, this change adds
34881 support for a chainloader on EFI.
34882
34883 * term/efi/console.c: Include grub/misc.h.
34884 (grub_console_checkkey): Display a scan code on the top for
34885 debugging. This will be removed once the EFI port gets stable.
34886 Correct the scan code mapping.
34887
34888 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
34889 allocate memory from larger regions, in order to reduce the number
34890 of allocated regions. Otherwise, the MacOSX loader panics.
34891 (filter_memory_map): Avoid less than 1MB for compatibility with
34892 other loaders.
34893 (add_memory_regions): Allocate from the tail of a region, if
34894 possible, to avoid allocating a region near to 1MB, for the MacOSX
34895 loader.
34896
34897 * kern/efi/init.c (grub_efi_set_prefix): Specify
34898 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
34899
34900 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
34901 argument IMAGE_HANDLE and specify it to get a loaded image.
34902 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
34903 grub_efi_get_loaded_image.
34904 (grub_efi_get_filename): Divide the length by the size of
34905 grub_efi_char16_t.
34906 (grub_efi_get_device_path): New function.
34907 (grub_efi_print_device_path): Print End Device Path nodes. Divide
34908 the length by the size of grub_efi_char16_t for a file path device
34909 path node.
34910
34911 * kern/loader.c (grub_loader_noreturn): New variable.
34912 (grub_loader_set): Accept a new argument NORETURN. Set
34913 GRUB_LOADER_NORETURN to NORETURN.
34914 All callers changed.
34915 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
34916 grub_machine_fini.
34917
34918 * include/grub/efi/efi.h (grub_efi_get_device_path): New
34919 prototype.
34920 (grub_efi_get_loaded_image): Take an argument to specify an image
34921 handle.
34922
34923 * include/grub/loader.h (grub_loader_set): Added one more argument
34924 NORETURN.
34925
34926 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
34927 instead of grub_efi_open_protocol.
34928 (grub_efidisk_get_device_name): Likewise.
34929 (grub_efidisk_close): Print a newline.
34930 (grub_efidisk_get_device_handle): Fixed to use
34931 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
34932 GRUB_EFI_DEVICE_PATH_TYPE.
34933
34934 * disk/efi/efidisk.c (device_path_guid): Moved to ...
34935 * kern/efi/efi.c (device_path_guid): ... here.
34936
34937 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
34938 chain.mod.
34939 (kernel_mod_HEADERS): Added efi/disk.h.
34940 (_chain_mod_SOURCES): New variable.
34941 (_chain_mod_CFLAGS): Likewise.
34942 (_chain_mod_LDFLAGS): Likewise.
34943 (chain_mod_SOURCES): Likewise.
34944 (chain_mod_CFLAGS): Likewise.
34945 (chain_mod_LDFLAGS): Likewise.
34946
34947 * DISTLIST: Added include/grub/efi/chainloader.h,
34948 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
34949
34950 * include/grub/efi/chainloader.h: New file.
34951 * loader/efi/chainloader.c: Likewise.
34952 * loader/efi/chainloader_normal.c: Likewise.
34953
34954 2006-04-30 Marco Gerards <marco@gnu.org>
34955
34956 * commands/configfile.c (grub_cmd_source): New function.
34957 (GRUB_MOD_INIT): Register the commands `source' and `.'.
34958 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
34959
34960 2006-04-30 Marco Gerards <marco@gnu.org>
34961
34962 * normal/execute.c (grub_script_execute_cmd): Change the return
34963 type to `grub_err_t'. Correctly return the error.
34964 (grub_script_execute_cmdline): In case a command line is not a
34965 command or a function, try to interpret it as an assignment.
34966
34967 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34968
34969 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
34970 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
34971 skip a node whose name is obviously invalid as UTF-16,
34972 i.e. contains a NUL character. Stop the iteration when the last
34973 directory entry is found. Instead of using the return value of
34974 grub_hfsplus_btree_iterate_node, store the value in RET and use
34975 it, because the iterator can be stopped by the last directory
34976 entry.
34977
34978 2006-04-30 Marco Gerards <marco@gnu.org>
34979
34980 * include/grub/env.h (grub_env_export): New prototype. Reported
34981 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
34982
34983 2006-04-30 Marco Gerards <marco@gnu.org>
34984
34985 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
34986 size of the extents in a catalog file record.
34987
34988 2006-04-29 Marco Gerards <marco@gnu.org>
34989
34990 * commands/configfile.c (grub_cmd_configfile): Execute the
34991 configfile within its own context.
34992
34993 * include/grub/env.h (grub_env_context_open): New prototype.
34994 (grub_env_context_close): Likewise.
34995
34996 * kern/env.c (grub_env): Removed.
34997 (grub_env_sorted): Likewise.
34998 (grub_env_context): New variable.
34999 (grub_env_var_context): Likewise.
35000 (grub_env_find): Search both the active context and the global
35001 context.
35002 (grub_env_context_open): New function.
35003 (grub_env_context_close): Likewise.
35004 (grub_env_insert): Likewise.
35005 (grub_env_remove): Likewise.
35006 (grub_env_export): Likewise.
35007 (grub_env_set): Changed to use helper functions to avoid code
35008 duplication.
35009 (grub_env_iterate): Rewritten so both the current context and the
35010 global context are being used.
35011
35012 * normal/command.c (export_command): New function.
35013 (grub_command_init): Register the `export' function.
35014
35015 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
35016
35017 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
35018 explicitly to suppress gcc's warnings.
35019 * fs/fat.c (grub_fat_find_dir): Likewise.
35020 (grub_fat_label): Likewise.
35021 * fs/xfs.c (grub_xfs_read_inode): Likewise.
35022 (grub_xfs_mount): Likewise.
35023 (grub_xfs_label): Likewise.
35024 * fs/affs.c (grub_affs_mount): Likewise.
35025 (grub_affs_label): Likewise.
35026 (grub_affs_iterate_dir): Likewise.
35027 * fs/sfs.c (grub_sfs_mount): Likewise.
35028 (grub_sfs_iterate_dir): Likewise.
35029 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
35030 * fs/hfs.c (grub_hfs_mount): Likewise.
35031 (grub_hfs_cmp_catkeys): Likewise.
35032 (grub_hfs_find_dir): Likewise.
35033 (grub_hfs_dir): Likewise.
35034 (grub_hfs_label): Likewise.
35035 * fs/jfs.c (grub_jfs_mount): Likewise.
35036 (grub_jfs_opendir): Likewise.
35037 (grub_jfs_getent): Likewise.
35038 (grub_jfs_lookup_symlink): Likewise.
35039 (grub_jfs_label): Likewise.
35040 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
35041 (grub_hfsplus_iterate_dir): Likewise.
35042 (grub_hfsplus_btree_iterate_node): Made static.
35043
35044 * util/grub-emu.c (prefix): New variable.
35045 (grub_machine_set_prefix): New function.
35046 (main): Do not set the environment variable "prefix" here. Only
35047 set PREFIX, which is used later by grub_machine_set_prefix.
35048
35049 * include/grub/video.h: Do not include grub/symbol.h.
35050 (grub_video_register): Not exported. This symbol is not defined in
35051 the kernel.
35052 (grub_video_unregister): Likewise.
35053 (grub_video_iterate): Likewise.
35054 (grub_video_setup): Likewise.
35055 (grub_video_restore): Likewise.
35056 (grub_video_get_info): Likewise.
35057 (grub_video_get_blit_format): Likewise.
35058 (grub_video_set_palette): Likewise.
35059 (grub_video_get_palette): Likewise.
35060 (grub_video_set_viewport): Likewise.
35061 (grub_video_get_viewport): Likewise.
35062 (grub_video_map_color): Likewise.
35063 (grub_video_map_rgb): Likewise.
35064 (grub_video_map_rgba): Likewise.
35065 (grub_video_fill_rect): Likewise.
35066 (grub_video_blit_glyph): Likewise.
35067 (grub_video_blit_bitmap): Likewise.
35068 (grub_video_blit_render_target): Likewise.
35069 (grub_video_scroll): Likewise.
35070 (grub_video_swap_buffers): Likewise.
35071 (grub_video_create_render_target): Likewise.
35072 (grub_video_delete_render_target): Likewise.
35073 (grub_video_set_active_render_target): Likewise.
35074
35075 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35076 Undefined.
35077 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35078
35079 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35080 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35081 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35082 instead of $(srcdir)/genkernsyms.sh.
35083
35084 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35085 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35086 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35087 instead of $(srcdir)/genkernsyms.sh.
35088
35089 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35090 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35091 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35092 instead of $(srcdir)/genkernsyms.sh.
35093
35094 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35095 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35096 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35097 instead of $(srcdir)/genkernsyms.sh.
35098
35099 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35100 genkernsyms.sh.
35101
35102 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35103 genkernsyms.sh.
35104 (gensymlist.sh): New target.
35105 (genkernsyms.sh): Likewise.
35106
35107 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35108 genkernsyms.sh.in and gensymlist.sh.in.
35109
35110 * genkernsyms.sh: Removed.
35111 * gensymlist.sh: Likewise.
35112
35113 * genkernsyms.sh.in: New file.
35114 * gensymlist.sh.in: Likewise.
35115
35116 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35117
35118 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35119 clobber "prefix", since we may have already set it manually.
35120
35121 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35122
35123 * kern/misc.c (abort): New alias for grub_abort.
35124
35125 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35126
35127 A new machine-specific function "grub_machine_set_prefix" is
35128 defined. This is called after loading modules, so that a prefix
35129 initialization can use modules. Also, this change adds an
35130 intensive debugging feature for the memory manager via the
35131 configure option "--enable-mm-debug".
35132
35133 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35134 PART.LEN.
35135
35136 * kern/sparc64/ieee1275/init.c (abort): Removed.
35137 (grub_stop): Likewise.
35138 (grub_exit): New function.
35139 (grub_set_prefix): Renamed to ...
35140 (grub_machine_set_prefix): ... this.
35141 (grub_machine_init): Do not call grub_set_prefix.
35142
35143 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35144 (grub_machine_set_prefix): ... this.
35145 (grub_machine_init): Do not call grub_set_prefix.
35146
35147 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35148 (grub_machine_init): Do not set the prefix here.
35149
35150 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35151
35152 * kern/efi/init.c: Include grub/mm.h.
35153 (grub_efi_set_prefix): New function.
35154
35155 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35156 (grub_efi_get_filename): New function.
35157 (grub_print_device_path): Renamed to ...
35158 (grub_efi_print_device_path): ... this.
35159
35160 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35161 [MM_DEBUG] (grub_realloc): Likewise.
35162 [MM_DEBUG] (grub_free): Likewise.
35163 [MM_DEBUG] (grub_memalign): Likewise.
35164 [MM_DEBUG] (grub_mm_debug): New variable.
35165 [MM_DEBUG] (grub_debug_malloc): New function.
35166 [MM_DEBUG] (grub_debug_free): New function.
35167 [MM_DEBUG] (grub_debug_realloc): New function.
35168 [MM_DEBUG] (grub_debug_memalign): New function.
35169
35170 * kern/misc.c (grub_abort): Print a newline to distinguish
35171 the message.
35172
35173 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35174 grub_set_root_dev after loading modules. This is necessary when
35175 setting a prefix depends on modules.
35176
35177 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35178 (grub_efi_print_device_path): ... this.
35179 (grub_efi_get_filename): New prototype.
35180 (grub_efi_set_prefix): Likewise.
35181
35182 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35183 and grub/disk.h.
35184 (grub_efidisk_get_device_handle): New prototype.
35185 (grub_efidisk_get_device_name): Likewise.
35186
35187 * include/grub/mm.h: Include config.h.
35188 (MM_DEBUG): Removed.
35189 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35190 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35191 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35192 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35193 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35194 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35195 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35196 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35197 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35198
35199 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35200
35201 * disk/efi/efidisk.c: Include grub/partition.h.
35202 (iterate_child_devices): New function.
35203 (add_device): First, compare only last device path nodes, so that
35204 devices are sorted by the types.
35205 (grub_efidisk_get_device_handle): New function.
35206 (grub_efidisk_get_device_name): Likewise.
35207
35208 * configure.ac (--enable-mm-debug): New option to enable the
35209 memory manager debugging feature. This makes the binary much
35210 bigger, so is disabled by default.
35211
35212 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35213
35214 Use grub_abort instead of grub_stop, and grub_exit must be
35215 define in each architecture now. Also, this change adds support
35216 for EFI disks.
35217
35218 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35219 (grub_getkey): New function.
35220 (grub_term_get_current): Likewise.
35221
35222 * util/i386/pc/grub-setup.c: Include grub/term.h.
35223 (grub_getkey): New function.
35224 (grub_term_get_current): Likewise.
35225
35226 * util/misc.c (grub_stop): Renamed to ...
35227 (grub_exit): ... this.
35228
35229 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35230 (grub_exit): ... this.
35231 (grub_machine_init): Use grub_abort instead of abort.
35232 (grub_stop): Removed.
35233
35234 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35235 abort.
35236
35237 * kern/i386/pc/startup.S (grub_exit): New function.
35238 (cold_reboot): New label.
35239
35240 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35241 (grub_efi_init): Call grub_efidisk_init.
35242 (grub_efi_fini): Call grub_efidisk_fini.
35243
35244 * kern/efi/efi.c: Include grub/mm.h.
35245 (grub_efi_console_control_guid): Renamed to ...
35246 (console_control_guid): ... this.
35247 (grub_efi_loaded_image_guid): Renamed to ...
35248 (loaded_image_guid): ... this.
35249 (grub_efi_locate_handle): New function.
35250 (grub_efi_open_protocol): Likewise.
35251 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35252 GRUB_EFI_CONSOLE_CONTROL_GUID.
35253 (grub_efi_exit): Removed.
35254 (grub_stop): Likewise.
35255 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35256 (grub_exit): New function.
35257 (grub_print_device_path): Likewise.
35258
35259 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35260 (grub_enter_rescue_mode): Register "exit".
35261
35262 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35263 (grub_abort): New function.
35264
35265 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35266
35267 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35268
35269 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35270
35271 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35272 (grub_print_device_path): New prototype.
35273 (grub_efi_locate_handle): Likewise.
35274 (grub_efi_open_protocol): Likewise.
35275
35276 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35277 * disk/efi/efidisk.c: Likewise.
35278
35279 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35280
35281 * include/grub/efi/console_control.h
35282 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35283
35284 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35285 last 8 bytes as an array.
35286 (GRUB_EFI_DISK_IO_GUID): New macro.
35287 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35288 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35289 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35290 grub_uint8_t.
35291 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35292 (struct grub_efi_device_path): Rename the member "sub_type" to
35293 "subtype".
35294 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35295 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35296 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35297 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35298 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35299 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35300 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35301 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35302 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35303 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35304 (struct grub_efi_pci_device_path): New structure.
35305 (grub_efi_pci_device_path_t): New type.
35306 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35307 (struct grub_efi_pccard_device_path): New structure.
35308 (grub_efi_pccard_device_path_t): New type.
35309 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35310 (struct grub_efi_memory_mapped_device_path): New structure.
35311 (grub_efi_memory_mapped_device_path_t): New type.
35312 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35313 (struct grub_efi_vendor_device_path): New structure.
35314 (grub_efi_vendor_device_path_t): New type.
35315 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35316 (struct grub_efi_controller_device_path): New structure.
35317 (grub_efi_controller_device_path_t): New type.
35318 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35319 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35320 (struct grub_efi_acpi_device_path): New structure.
35321 (grub_efi_acpi_device_path_t): New type.
35322 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35323 (struct grub_efi_expanded_acpi_device_path): New structure.
35324 (grub_efi_expanded_acpi_device_path_t): New type.
35325 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35326 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35327 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35328 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35329 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35330 (struct grub_efi_atapi_device_path): New structure.
35331 (grub_efi_atapi_device_path_t): New type.
35332 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35333 (struct grub_efi_fibre_channel_device_path): New structure.
35334 (grub_efi_fibre_channel_device_path_t): New type.
35335 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35336 (struct grub_efi_1394_device_path): New structure.
35337 (grub_efi_1394_device_path_t): New type.
35338 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35339 (struct grub_efi_usb_device_path): New structure.
35340 (grub_efi_usb_device_path_t): New type.
35341 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35342 (struct grub_efi_usb_class_device_path): New structure.
35343 (grub_efi_usb_class_device_path_t): New type.
35344 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35345 (struct grub_efi_i2o_device_path): New structure.
35346 (grub_efi_i2o_device_path_t): New type.
35347 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35348 (struct grub_efi_mac_address_device_path): New structure.
35349 (grub_efi_mac_address_device_path_t): New type.
35350 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35351 (struct grub_efi_ipv4_device_path): New structure.
35352 (grub_efi_ipv4_device_path_t): New type.
35353 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35354 (struct grub_efi_ipv6_device_path): New structure.
35355 (grub_efi_ipv6_device_path_t): New type.
35356 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35357 (struct grub_efi_infiniband_device_path): New structure.
35358 (grub_efi_infiniband_device_path_t): New type.
35359 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35360 (struct grub_efi_uart_device_path): New structure.
35361 (grub_efi_uart_device_path_t): New type.
35362 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35363 (struct grub_efi_vendor_messaging_device_path): New structure.
35364 (grub_efi_vendor_messaging_device_path_t): New type.
35365 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35366 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35367 (struct grub_efi_hard_drive_device_path): New structure.
35368 (grub_efi_hard_drive_device_path_t): New type.
35369 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35370 (struct grub_efi_cdrom_device_path): New structure.
35371 (grub_efi_cdrom_device_path_t): New type.
35372 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35373 (struct grub_efi_vendor_media_device_path): New structure.
35374 (grub_efi_vendor_media_device_path_t): New type.
35375 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35376 (struct grub_efi_file_path_device_path): New structure.
35377 (grub_efi_file_path_device_path_t): New type.
35378 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35379 (struct grub_efi_protocol_device_path): New structure.
35380 (grub_efi_protocol_device_path_t): New type.
35381 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35382 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35383 (struct grub_efi_bios_device_path): New structure.
35384 (grub_efi_bios_device_path_t): New type.
35385 (struct grub_efi_disk_io): New structure.
35386 (grub_efi_disk_io_t): New type.
35387 (struct grub_efi_block_io_media): New structure.
35388 (grub_efi_block_io_media_t): New type.
35389 (struct grub_efi_block_io): New structure.
35390 (grub_efi_block_io_t): New type.
35391
35392 * include/grub/misc.h (grub_stop): Removed.
35393 (grub_exit): New prototype.
35394 (grub_abort): Likewise.
35395
35396 * include/grub/disk.h (enum grub_disk_dev_id): Added
35397 GRUB_DISK_DEVICE_EFIDISK_ID.
35398
35399 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35400 disk/efi/efidisk.c.
35401 (kernel_syms.lst): Remove the target if an error occurs.
35402
35403 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35404
35405 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35406 as it was simply too buggy.
35407
35408 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35409
35410 * kern/misc.c (grub_lltoa): New function.
35411 (grub_vsprintf): Added support for the long long suffix,
35412 i.e. "ll".
35413
35414 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35415
35416 * Makefile.in (LDFLAGS): Add variable.
35417 (LD): Remove variable.
35418 * configure.ac: Add -m32 to LDFLAGS.
35419 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35420 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35421 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35422 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35423 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35424 variables.
35425 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35426 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35427 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35428
35429 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35430
35431 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35432 length for unknown glyph.
35433
35434 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35435
35436 Add support for pre-loaded modules into the EFI port.
35437
35438 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35439 completely. Accept one more argument DIR. The caller has changed.
35440
35441 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35442
35443 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35444 (grub_efi_loaded_image_guid): New variable.
35445 (grub_efi_get_loaded_image): New function.
35446 (grub_arch_modules_addr): Likewise.
35447
35448 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35449 prototype.
35450
35451 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35452 (struct grub_efi_loaded_image): New structure.
35453 (grub_efi_loaded_image_t): New type.
35454
35455 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35456
35457 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35458 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35459 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35460
35461 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35462
35463 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35464
35465 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35466
35467 * DISTLIST: Added include/grub/efi/console.h,
35468 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35469 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35470
35471 * include/grub/efi/console.h: New file.
35472 * include/grub/efi/time.h: Likewise.
35473 * include/grub/i386/efi/kernel.h: Likewise.
35474 * kern/efi/init.c: Likewise.
35475 * kern/efi/mm.c: Likewise.
35476 * term/efi/console.c: Likewise.
35477
35478 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35479 (grub_stop): Removed.
35480 (grub_get_rtc): Likewise.
35481 (grub_machine_init): Simply call grub_efi_init.
35482 (grub_machine_fini): Call grub_efi_fini.
35483
35484 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35485 (grub_efi_output_string): Removed.
35486 (grub_efi_stall): New function.
35487 (grub_stop): Likewise.
35488 (grub_get_rtc): Likewise.
35489
35490 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35491 (grub_efi_stall): New prototype.
35492 (grub_efi_allocate_pages): Likewise.
35493 (grub_efi_free_pages): Likewise.
35494 (grub_efi_get_memory_map): Likewise.
35495 (grub_efi_mm_init): Likewise.
35496 (grub_efi_mm_fini): Likewise.
35497 (grub_efi_init): Likewise.
35498 (grub_efi_fini): Likewise.
35499
35500 * include/grub/i386/efi/time.h: Do not include
35501 grub/symbol.h. Include grub/efi/time.h.
35502 (GRUB_TICKS_PER_SECOND): Removed.
35503 (grub_get_rtc): Likewise.
35504
35505 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35506 Added padding. The EFI spec is buggy.
35507 (GRUB_EFI_BLACK): New macro.
35508 (GRUB_EFI_BLUE): Likewise.
35509 (GRUB_EFI_GREEN): Likewise.
35510 (GRUB_EFI_CYAN): Likewise.
35511 (GRUB_EFI_RED): Likewise.
35512 (GRUB_EFI_MAGENTA): Likewise.
35513 (GRUB_EFI_BROWN): Likewise.
35514 (GRUB_EFI_LIGHTGRAY): Likewise.
35515 (GRUB_EFI_BRIGHT): Likewise.
35516 (GRUB_EFI_DARKGRAY): Likewise.
35517 (GRUB_EFI_LIGHTBLUE): Likewise.
35518 (GRUB_EFI_LIGHTGREEN): Likewise.
35519 (GRUB_EFI_LIGHTCYAN): Likewise.
35520 (GRUB_EFI_LIGHTRED): Likewise.
35521 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35522 (GRUB_EFI_YELLOW): Likewise.
35523 (GRUB_EFI_WHITE): Likewise.
35524 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35525 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35526 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35527 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35528 (GRUB_EFI_BACKGROUND_RED): Likewise.
35529 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35530 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35531 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35532 (GRUB_EFI_TEXT_ATTR): Likewise.
35533
35534 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35535 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35536 (kernel_mod_HEADERS): Added efi/time.h.
35537
35538 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35539
35540 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35541 include/grub/efi/api.h, include/grub/efi/console_control.h,
35542 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35543 include/grub/i386/efi/time.h, kern/efi/efi.c,
35544 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35545 and util/i386/efi/grub-mkimage.c.
35546
35547 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35548
35549 * genmk.rb (PModule#rule): Do not export symbols if
35550 #{prefix}_EXPORTS is set to "no".
35551
35552 * conf/i386-efi.mk: New file.
35553 * conf/i386-efi.rmk: Likewise.
35554 * include/grub/efi/api.h: Likewise.
35555 * include/grub/efi/console_control.h: Likewise.
35556 * include/grub/efi/efi.h: Likewise.
35557 * include/grub/efi/pe32.h: Likewise.
35558 * include/grub/i386/efi/time.h: Likewise.
35559 * kern/efi/efi.c: Likewise.
35560 * kern/i386/efi/init.c: Likewise.
35561 * kern/i386/efi/startup.S: Likewise.
35562 * util/i386/efi/grub-mkimage.c: Likewise.
35563
35564 2006-04-17 Marco Gerards <marco@gnu.org>
35565
35566 * include/grub/script.h: Include <grub/parser.h> and
35567 "grub_script.tab.h".
35568 (struct grub_lexer_param): New struct.
35569 (struct grub_parser_param): Likewise.
35570 (grub_script_create_arglist): Pass the state in an argument.
35571 (grub_script_add_arglist): Likewise.
35572 (grub_script_create_cmdline): Likewise.
35573 (grub_script_create_cmdblock): Likewise.
35574 (grub_script_create_cmdif): Likewise.
35575 (grub_script_create_cmdmenu): Likewise.
35576 (grub_script_add_cmd): Likewise.
35577 (grub_script_arg_add): Likewise.
35578 (grub_script_lexer_ref): Likewise.
35579 (grub_script_lexer_deref): Likewise.
35580 (grub_script_lexer_record_start): Likewise.
35581 (grub_script_lexer_record_stop): Likewise.
35582 (grub_script_mem_record): Likewise.
35583 (grub_script_mem_record_stop): Likewise.
35584 (grub_script_malloc): Likewise.
35585 (grub_script_yylex): Likewise.
35586 (grub_script_yyparse): Likewise.
35587 (grub_script_yyerror): Likewise.
35588 (grub_script_yylex): Likewise.
35589 (grub_script_lexer_init): Return the state.
35590
35591 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35592 (grub_script_lexer_done): Likewise.
35593 (grub_script_lexer_getline): Likewise.
35594 (grub_script_lexer_refs): Likewise.
35595 (script): Likewise.
35596 (newscript): Likewise.
35597 (record): Likewise.
35598 (recording): Likewise.
35599 (recordpos): Likewise.
35600 (recordlen): Likewise.
35601 (grub_script_lexer_init): Return the state instead of setting
35602 global variables.
35603 (grub_script_lexer_ref): Use the newly added argument for state
35604 instead of globals.
35605 (grub_script_lexer_deref): Likewise.
35606 (grub_script_lexer_record_start): Likewise.
35607 (grub_script_lexer_record_stop): Likewise.
35608 (recordchar): Likewise.
35609 (nextchar): Likewise.
35610 (grub_script_yylex2): Likewise.
35611 (grub_script_yylex): Likewise.
35612 (grub_script_yyerror): Likewise.
35613
35614 * normal/parser.y (func_mem): Removed variable.
35615 (menu_entry): Likewise.
35616 (err): Likewise.
35617 (%lex-param): New parser option.
35618 (%parse-param): Likewise.
35619 (script): Always return the AST.
35620 (argument): Pass the state around.
35621 (arguments): Likewise.
35622 (grubcmd): Likewise.
35623 (commands): Likewise.
35624 (function): Likewise.
35625 (menuentry): Likewise.
35626 (if_statement): Likewise.
35627 (if): Likewise.
35628
35629 * normal/script.c (grub_script_memused): Removed variable.
35630 (grub_script_parsed): Likewise.
35631 (grub_script_malloc): Added a state argument. Use that instead of
35632 global variables.
35633 (grub_script_mem_record): Likewise.
35634 (grub_script_mem_record_stop): Likewise.
35635 (grub_script_arg_add): Likewise.
35636 (grub_script_add_arglist): Likewise.
35637 (grub_script_create_cmdline): Likewise.
35638 (grub_script_create_cmdif): Likewise.
35639 (grub_script_create_cmdmenu): Likewise.
35640 (grub_script_add_cmd): Likewise.
35641 (grub_script_parse): Setup the state before calling the parser.
35642
35643 2006-04-16 Marco Gerards <marco@gnu.org>
35644
35645 * normal/command.c (grub_command_init): Remove the title command.
35646
35647 * normal/lexer.c (grub_script_yylex): Renamed from this...
35648 (grub_script_yylex2): ... to this.
35649 (grub_script_yylex): New function. Temporary
35650 introduced to filter some tokens.
35651 (grub_script_yyerror): Print a newline.
35652
35653 * normal/main.c (read_config_file): Output information about the
35654 lines that contain errors. Wait for a key after all lines have
35655 been processed. Don't return an empty menu.
35656
35657 * normal/parser.y (func_mem): Don't initialize.
35658 (menu_entry): Likewise.
35659 (err): New variable.
35660 (script): Don't return anything when an error was encountered.
35661 (ws, returns): Removed rules.
35662 (argument): Disabled concatenated variable support.
35663 (arguments): Remove explicit separators.
35664 (grubcmd): Likewise.
35665 (function): Likewise.
35666 (menuentry): Likewise.
35667 (if): Likewise.
35668 (commands): Likewise. Add error handling.
35669
35670 * normal/script.c (grub_script_create_cmdline): If
35671 `grub_script_parsed' is 0, assume the parser encountered an error.
35672
35673 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35674
35675 * configure.ac: Add support for EFI. Fix the typo
35676 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
35677
35678 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35679
35680 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
35681 foreign multibyte characters should be shown correctly.
35682
35683 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35684
35685 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
35686 calculation.
35687 (read_config_file): Made it to close file before returning.
35688
35689 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
35690
35691 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
35692 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
35693 video/i386/pc/vbefill.c.
35694
35695 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
35696 video/i386/pc/vbefill.c.
35697
35698 * include/grub/video.h (grub_video_blit_format): New enum.
35699 (grub_video_mode_info): Added new member blit_format.
35700 (grub_video_get_blit_format): New function prototype.
35701
35702 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
35703 function prototype.
35704 (grub_video_vbe_map_rgb): Likewise.
35705 (grub_video_vbe_unmap_color): Likewise.
35706
35707 * include/grub/i386/pc/vbeblit.h: New file.
35708
35709 * include/grub/i386/pc/vbefill.h: New file.
35710
35711 * video/video.c (grub_video_get_blit_format): New function.
35712 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
35713 (grub_video_vbe_map_rgb): Likewise.
35714 (grub_video_vbe_unmap_color): Likewise.
35715
35716 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
35717 optimized fills.
35718 (grub_video_vbe_blit_render_target): Changed to use more optimized
35719 blits.
35720 (grub_video_vbe_setup): Added detection for optimized settings.
35721 (grub_video_vbe_create_render_target): Likewise.
35722
35723 * video/i386/pc/vbeblit.c: New file.
35724
35725 * video/i386/pc/vbefill.c: New file.
35726
35727 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
35728
35729 * font/manager.c (grub_font_get_glyph): Removed font fixup from
35730 here...
35731
35732 * util/unifont2pff.rb: ... and moved it to here. Improved argument
35733 parsing to support both hex and dec ranges. If filename was missing
35734 show usage information.
35735
35736 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
35737
35738 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
35739 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
35740
35741 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
35742 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
35743 (video_mod_SOURCES): Added.
35744 (video_mod_CFLAGS): Likewise.
35745 (video_mod_LDFLAGS): Likewise.
35746 (gfxterm_mod_SOURCES): Likewise.
35747 (gfxterm_mod_CFLAGS): Likewise.
35748 (gfxterm_mod_LDFLAGS): Likewise.
35749 (videotest_mod_SOURCES): Likewise.
35750 (videotest_mod_CFLAGS): Likewise.
35751 (videotest_mod_LDFLAGS): Likewise.
35752 (vesafb_mod_SOURCES): Removed.
35753 (vesafb_mod_CFLAGS): Likewise.
35754 (vesafb_mod_LDFLAGS): Likewise.
35755 (vga_mod_SOURCES): Likewise.
35756 (vga_mod_CFLAGS): Likewise.
35757 (vga_mod_LDFLAGS): Likewise.
35758
35759 * commands/videotest.c: New file.
35760
35761 * font/manager.c (fill_with_default_glyph): Modified to use
35762 grub_font_glyph.
35763 (grub_font_get_glyph): Likewise.
35764 (fontmanager): Renamed from this...
35765 (font_manager): ... to this.
35766
35767 * include/grub/font.h (grub_font_glyph): Added new structure.
35768 (grub_font_get_glyph): Modified to use grub_font_glyph.
35769
35770 * include/grub/misc.h (grub_abs): Added as inline function.
35771
35772 * include/grub/video.h: New file.
35773
35774 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
35775 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
35776 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
35777 (grub_vbe_get_controller_info): Renamed from this...
35778 (grub_vbe_bios_get_controller_info): ... to this.
35779 (grub_vbe_get_mode_info): Renamed from this...
35780 (grub_vbe_bios_get_mode_info): ... to this.
35781 (grub_vbe_set_mode): Renamed from this...
35782 (grub_vbe_bios_set_mode): ... to this.
35783 (grub_vbe_get_mode): Renamed from this...
35784 (grub_vbe_bios_get_mode): ... to this.
35785 (grub_vbe_set_memory_window): Renamed from this...
35786 (grub_vbe_bios_set_memory_window): ... to this.
35787 (grub_vbe_get_memory_window): Renamed from this...
35788 (grub_vbe_bios_get_memory_window): ... to this.
35789 (grub_vbe_set_scanline_length): Renamed from this...
35790 (grub_vbe_set_scanline_length): ... to this.
35791 (grub_vbe_get_scanline_length): Renamed from this...
35792 (grub_vbe_bios_get_scanline_length): ... to this.
35793 (grub_vbe_set_display_start): Renamed from this...
35794 (grub_vbe_bios_set_display_start): ... to this.
35795 (grub_vbe_get_display_start): Renamed from this...
35796 (grub_vbe_bios_get_display_start): ... to this.
35797 (grub_vbe_set_palette_data): Renamed from this...
35798 (grub_vbe_bios_set_palette_data): ... to this.
35799 (grub_vbe_set_pixel_rgb): Removed.
35800 (grub_vbe_set_pixel_index): Likewise.
35801
35802 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
35803 from this...
35804 (grub_vbe_bios_get_controller_info): ... to this.
35805 (grub_vbe_get_mode_info): Renamed from this...
35806 (grub_vbe_bios_get_mode_info): ... to this.
35807 (grub_vbe_set_mode): Renamed from this...
35808 (grub_vbe_bios_set_mode): ... to this.
35809 (grub_vbe_get_mode): Renamed from this...
35810 (grub_vbe_bios_get_mode): ... to this.
35811 (grub_vbe_set_memory_window): Renamed from this...
35812 (grub_vbe_bios_set_memory_window): ... to this.
35813 (grub_vbe_get_memory_window): Renamed from this...
35814 (grub_vbe_bios_get_memory_window): ... to this.
35815 (grub_vbe_set_scanline_length): Renamed from this...
35816 (grub_vbe_set_scanline_length): ... to this.
35817 (grub_vbe_get_scanline_length): Renamed from this...
35818 (grub_vbe_bios_get_scanline_length): ... to this.
35819 (grub_vbe_set_display_start): Renamed from this...
35820 (grub_vbe_bios_set_display_start): ... to this.
35821 (grub_vbe_get_display_start): Renamed from this...
35822 (grub_vbe_bios_get_display_start): ... to this.
35823 (grub_vbe_set_palette_data): Renamed from this...
35824 (grub_vbe_bios_set_palette_data): ... to this.
35825 (grub_vbe_bios_get_controller_info): Fixed problem with registers
35826 getting corrupted after calling it. Added more pushes and pops.
35827 (grub_vbe_bios_set_mode): Likewise.
35828 (grub_vbe_bios_get_mode): Likewise.
35829 (grub_vbe_bios_get_memory_window): Likewise.
35830 (grub_vbe_bios_set_scanline_length): Likewise.
35831 (grub_vbe_bios_get_scanline_length): Likewise.
35832 (grub_vbe_bios_get_display_start): Likewise.
35833 (grub_vbe_bios_set_palette_data): Likewise.
35834
35835 * normal/cmdline.c (cl_set_pos): Refresh the screen.
35836 (cl_insert): Likewise.
35837 (cl_delete): Likewise.
35838
35839 * term/gfxterm.c: New file.
35840
35841 * term/i386/pc/vesafb.c: Removed file.
35842
35843 * video/video.c: New file.
35844
35845 * video/i386/pc/vbe.c (real2pm): Added new function.
35846 (grub_video_vbe_draw_pixel): Likewise.
35847 (grub_video_vbe_get_video_ptr): Likewise.
35848 (grub_video_vbe_get_pixel): Likewise
35849 (grub_video_vbe_init): Likewise.
35850 (grub_video_vbe_fini): Likewise.
35851 (grub_video_vbe_setup): Likewise.
35852 (grub_video_vbe_get_info): Likewise.
35853 (grub_video_vbe_set_palette): Likewise.
35854 (grub_video_vbe_get_palette): Likewise.
35855 (grub_video_vbe_set_viewport): Likewise.
35856 (grub_video_vbe_get_viewport): Likewise.
35857 (grub_video_vbe_map_color): Likewise.
35858 (grub_video_vbe_map_rgb): Likewise.
35859 (grub_video_vbe_map_rgba): Likewise.
35860 (grub_video_vbe_unmap_color): Likewise.
35861 (grub_video_vbe_fill_rect): Likewise.
35862 (grub_video_vbe_blit_glyph): Likewise.
35863 (grub_video_vbe_blit_bitmap): Likewise.
35864 (grub_video_vbe_blit_render_target): Likewise.
35865 (grub_video_vbe_scroll): Likewise.
35866 (grub_video_vbe_swap_buffers): Likewise.
35867 (grub_video_vbe_create_render_target): Likewise.
35868 (grub_video_vbe_delete_render_target): Likewise.
35869 (grub_video_vbe_set_active_render_target): Likewise.
35870 (grub_vbe_set_pixel_rgb): Remove function.
35871 (grub_vbe_set_pixel_index): Likewise.
35872 (index_color_mode): Remove static variable.
35873 (active_mode): Likewise.
35874 (framebuffer): Likewise.
35875 (bytes_per_scan_line): Likewise.
35876 (grub_video_vbe_adapter): Added new static variable.
35877 (framebuffer): Likewise.
35878 (render_target): Likewise.
35879 (initial_mode): Likewise.
35880 (mode_in_use): Likewise.
35881 (mode_list): Likewise.
35882
35883 2006-03-10 Marco Gerards <marco@gnu.org>
35884
35885 * configure.ac (AC_INIT): Bumped to 1.93.
35886
35887 * DISTLIST: Added `include/grub/hfs.h'.
35888
35889 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
35890
35891 * boot/i386/pc/boot.S (general_error): Before looping, try INT
35892 18H, which might help the BIOS falling back to next boot media.
35893
35894 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
35895
35896 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
35897 Poe Chen <poe.poechen@gmail.com>.
35898
35899 2006-01-17 Marco Gerards <marco@gnu.org>
35900
35901 * include/grub/normal.h: Include <grub/script.h>.
35902 (grub_command_list): Removed struct.
35903 (grub_command_list_t): Removed type.
35904 (grub_menu_entry): Remove members `num' and `command_list'. Add
35905 members `commands' and `sourcecode'.
35906 * include/grub/script.h: Add inclusion guards.
35907 (grub_script_cmd_menuentry): New struct.
35908 (grub_script_execute_menuentry): New prototype.
35909 (grub_script_lexer_record_start): Likewise.
35910 (grub_script_lexer_record_stop): Likewise.
35911 * normal/execute.c (grub_script_execute_menuentry): New function.
35912 * normal/lexer.c (record, recording, recordpos, recordlen): New
35913 variables.
35914 (grub_script_lexer_record_start): New function.
35915 (grub_script_lexer_record_stop): Likewise.
35916 (recordchar): Likewise.
35917 (nextchar): Likewise.
35918 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
35919 2048 as the buffer size. Add the tokens `menuentry' and `@'.
35920 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
35921 (current_menu): New variable.
35922 (free_menu): Mainly rewritten.
35923 (grub_normal_menu_addentry): New function.
35924 (read_config_file): Rewritten.
35925 * normal/menu.c (run_menu_entry): Mainly rewritten.
35926 * normal/menu_entry.c (make_screen): Rewritten the code to insert
35927 the menu entry.
35928 (run): Mainly rewritten.
35929 * normal/parser.y (menu_entry): New variable.
35930 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
35931 (menuentry): New rule.
35932 (command): Add `menuentry'.
35933 (if_statement): Allow additional returns before `fi'.
35934 * normal/script.c (grub_script_create_cmdmenu): New function.
35935
35936 2006-01-03 Marco Gerards <marco@gnu.org>
35937
35938 * INSTALL: GNU Bison is required.
35939 * configure.ac: Rewritten the test to detect Bison.
35940 * Makefile.in (YACC): New variable. Reported by Xun Sun
35941 <xun.sun.cn@gmail.com>.
35942
35943 2006-01-03 Marco Gerards <marco@gnu.org>
35944
35945 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
35946 the HFS+ filesystem to filesystem blocks.
35947 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
35948 GCC warning is silenced.
35949
35950 2006-01-03 Marco Gerards <marco@gnu.org>
35951
35952 * partmap/apple.c (apple_partition_map_iterate): Convert the data
35953 read from disk from big endian to host byte order.
35954
35955 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
35956
35957 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
35958 documentation.
35959 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
35960 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
35961 embedded HFS+ filesystem.
35962 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
35963 (grub_hfs_sblock): Move from here...
35964 * include/grub/hfs.h: To here... New file.
35965 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
35966 documentation.
35967 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
35968 New macros.
35969 (grub_hfsplus_volheader): Change type of member `magic' to
35970 `grub_uint16_t'.
35971 (grub_hfsplus_data): Add new member `embedded_offset'.
35972 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
35973 returned block.
35974 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
35975 Calculate the offset.
35976
35977 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35978
35979 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
35980 Removed.
35981 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
35982
35983 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35984
35985 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
35986 ENV->NAME is NULL after allocating ENV->VALUE.
35987
35988 2005-12-25 Marco Gerards <marco@gnu.org>
35989
35990 * kern/env.c (grub_env_set): Rewritten the error handling code.
35991
35992 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35993
35994 * geninit.sh: Made more robust, and more portable.
35995
35996 2005-12-25 Marco Gerards <marco@gnu.org>
35997
35998 Add support for Apple HFS+ filesystems.
35999
36000 * fs/hfsplus.c: New file.
36001
36002 * DISTLIST: Added `fs/hfsplus.c'.
36003
36004 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
36005 (hfsplus_mod_SOURCES): New variable.
36006 (hfsplus_mod_CFLAGS): Likewise.
36007 (hfsplus_mod_LDFLAGS): Likewise.
36008 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
36009 (grub_setup_SOURCES): Likewise.
36010 (grub_mkdevicemap_SOURCES): Likewise.
36011 (grub_emu_SOURCES): Likewise.
36012 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36013
36014 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
36015
36016 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
36017
36018 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
36019
36020 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
36021 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
36022 include/grub/parser.h, include/grub/script.h, kern/parser.c,
36023 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
36024 normal/lexer.c, normal/parser.y, normal/script.c, and
36025 partmap/gpt.c.
36026 Removed kern/sparc64/cache.c.
36027
36028 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
36029 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
36030 grub_emu_init.c.
36031
36032 * configure.ac (AC_INIT): Bumped to 1.92.
36033
36034 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
36035
36036 * kern/err.c (grub_error_push): Added new function to support error
36037 stacks.
36038 (grub_error_pop): Likewise.
36039 (grub_error_stack_items): New local variable to support error stacks.
36040 (grub_error_stack_pos): Likewise.
36041 (grub_error_stack_assert): Likewise.
36042 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
36043 stack depth.
36044 (grub_print_error): Added support to print errors from error stack.
36045
36046 * include/grub/err.h (grub_error_push): Added function prototype.
36047 (grub_error_pop): Likewise.
36048
36049 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36050
36051 * configure.ac: Accept `powerpc64' as host_cpu.
36052 (amd64): Rename to `biarch32'.
36053
36054 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36055 non-cacheline-aligned addresses.
36056
36057 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36058 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36059 if `size' is non-zero.
36060
36061 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
36062
36063 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36064 and `cd' to make sure the filename is not prefixed with a
36065 directory name.
36066 (pkgdata_MODULES): Add `gpt.mod'.
36067 (gpt_mod_SOURCES): New variable.
36068 (gpt_mod_CFLAGS): Likewise.
36069 (gpt_mod_LDFLAGS): Likewise.
36070
36071 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36072
36073 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36074 New macro.
36075
36076 * partmap/gpt.c: New file.
36077
36078 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36079 GPT partition map is detected.
36080
36081 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36082
36083 * commands/i386/pc/play.c: New file.
36084 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36085 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36086 macros.
36087
36088 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
36089
36090 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36091 ((unused))' to silence gcc warning.
36092
36093 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36094
36095 * configure.ac: Correct `AC_PROG_YACC' test.
36096
36097 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36098
36099 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36100 check before installing files.
36101
36102 2005-11-22 Mike Small <smallm@panix.com>
36103
36104 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36105 number regex so multidigit numbers are recognized correctly.
36106
36107 2005-11-22 Mike Small <smallm@panix.com>
36108
36109 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36110 debugging message before attempting to claim memory.
36111 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36112 multiple addresses in case of failure.
36113
36114 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36115
36116 * term/tparm.c (get_space): Remove empty `if' statement.
36117
36118 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36119
36120 * kern/parser.c (check_varstate): Rename `state' to 's'.
36121
36122 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36123
36124 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36125 variable definitions to the beginning of each function. Sort stack
36126 variables by size.
36127 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36128 `buf' argument to `char *'.
36129
36130 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36131
36132 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36133 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36134 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36135 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36136 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36137 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36138 configfile.mod, search.mod, gzio.mod and test.mod.
36139 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36140 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36141 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36142 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36143 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36144 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36145 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36146 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36147 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36148 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36149 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36150 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36151 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36152 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36153 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36154 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36155 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36156 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36157 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36158 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36159 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36160 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36161 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36162
36163 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36164 `grep --include'.
36165 (pkgdata_MODULES): Add test.mod.
36166
36167 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36168
36169 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36170 appending to variables with "+=".
36171 (PModule): Use full pathname to generate *.lst filenames.
36172
36173 * Makefile.in: Fixed list rules moved from genmk.rb.
36174 (.DELETE_ON_ERROR): New special target.
36175 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36176
36177 * conf/i386-pc.rmk: Include conf/common.mk.
36178 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
36179 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
36180 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36181 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36182 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36183 configfile.mod, search.mod, gzio.mod and test.mod.
36184 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36185 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36186 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36187 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36188 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36189 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36190 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36191 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36192 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36193 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36194 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36195 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36196 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36197 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36198 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36199 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36200 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36201 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36202 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36203 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36204 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36205 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36206 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36207 here...
36208 * conf/common.rmk: ... to here. New file.
36209
36210 * conf/common.mk: New file.
36211
36212 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36213
36214 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36215 (grub_script.tab.c): ... here.
36216
36217 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36218 (grub_script.tab.c): ... here.
36219
36220 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36221 (grub_script.tab.c): ... here.
36222
36223 * normal/command.c (grub_command_find): Fixed a memory leak of
36224 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36225
36226 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36227
36228 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36229 "@" which marks the start of a comment on ARM.
36230 (VARIABLE): Likewise.
36231
36232 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36233
36234 Add support for Linux/ADFS partition tables.
36235
36236 * partmap/acorn.c: New file.
36237
36238 * include/grub/acorn_filecore.h: Likewise.
36239
36240 * DISTLIST: Added `partmap/acorn.c' and
36241 `include/grub/acorn_filecore.h'.
36242
36243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36244 `partmap/acorn.c'.
36245 (pkgdata_MODULES): Add `acorn.mod'.
36246 (acorn_mod_SOURCES): New variable.
36247 (acorn_mod_CFLAGS): Likewise.
36248
36249 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36250 `partmap/acorn.c'.
36251 (pkgdata_MODULES): Add `acorn.mod'.
36252 (acorn_mod_SOURCES): New variable.
36253 (acorn_mod_CFLAGS): Likewise.
36254
36255 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36256 (pkgdata_MODULES): Add `acorn.mod'.
36257 (acorn_mod_SOURCES): New variable.
36258 (acorn_mod_CFLAGS): Likewise.
36259 (acorn_mod_LDFLAGS): Likewise.
36260
36261 * include/types.h (grub_disk_addr_t): New typedef.
36262
36263 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
36264
36265 * geninit.sh: New file.
36266
36267 * geninitheader.sh: Likewise.
36268
36269 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36270 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36271 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36272 * commands/configfile.c (grub_configfile_init)
36273 (grub_configfile_fini): Likewise.
36274 * commands/default.c (grub_default_init, grub_default_fini):
36275 Likewise.
36276 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36277 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36278 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36279 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36280 Likewise.
36281 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36282 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36283 Likewise.
36284 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
36285 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
36286 Likewise.
36287 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36288 Likewise.
36289 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
36290 Likewise.
36291 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36292 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36293 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36294 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36295 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36296 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36297 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36298 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36299 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36300 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36301 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36302 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36303 * partmap/amiga.c (grub_amiga_partition_map_init)
36304 (grub_amiga_partition_map_fini): Likewise.
36305 * partmap/apple.c (grub_apple_partition_map_init)
36306 (grub_apple_partition_map_fini): Likewise.
36307 * partmap/pc.c (grub_pc_partition_map_init)
36308 (grub_pc_partition_map_fini): Likewise.
36309 * partmap/sun.c (grub_sun_partition_map_init,
36310 grub_sun_partition_map_fini): Likewise.
36311 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36312 Likewise.
36313
36314 * util/grub-emu.c: Include <grub_modules_init.h>.
36315 (main): Don't initialize and de-initialize any modules directly,
36316 use `grub_init_all' and `grub_fini_all' instead.
36317
36318 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36319 `grub_vesafb_mod_init'.
36320 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36321 all users.
36322 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36323 `grub_vga_mod_init'. Updated all users.
36324 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
36325
36326 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36327 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36328 rules.
36329
36330 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36331 Generate a function to initialize the module in utilities.
36332 Updated all callers.
36333 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36334 initialize the module in utilities. Updated all callers.
36335
36336 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36337
36338 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36339 escape sequence and a literal ^L to clear the screen.
36340
36341 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36342 when returning from Open Firmware.
36343
36344 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36345
36346 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36347 (grub_ofconsole_height): Likewise.
36348 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36349 manually insert a '\n'.
36350 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36351 `grub_ofconsole_height'. Return early if these are already set.
36352
36353 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36354
36355 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36356 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36357 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36358 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36359 and `normal/script.c'.
36360 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36361 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36362 (test_mod_SOURCES): New variable.
36363 (test_mod_CFLAGS): Likewise.
36364 (test_mod_LDFLAGS): Likewise.
36365 (pkgdata_MODULES): Add `test.mod'.
36366 (grub_script.tab.c): New rule.
36367 (grub_script.tab.h): Likewise.
36368
36369 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
36370
36371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36372 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36373 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36374 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36375 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36376 (test_mod_SOURCES): New variable.
36377 (test_mod_CFLAGS): Likewise.
36378 (pkgdata_MODULES): Add `test.mod'.
36379 (grub_script.tab.c): New rule.
36380 (grub_script.tab.h): Likewise.
36381
36382 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
36383
36384 Add initial scripting support.
36385
36386 * commands/test.c: New file.
36387 * include/grub/script.h: Likewise.
36388 * normal/execute.c: Likewise.
36389 * normal/function.c: Likewise.
36390 * normal/lexer.c: Likewise.
36391 * normal/parser.y: Likewise.
36392 * normal/script.c: Likewise.
36393
36394 * configure.ac: Add `AC_PROG_YACC' test.
36395
36396 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36397 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36398 `normal/function.c' and `normal/script.c'.
36399 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36400 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36401 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36402 variables.
36403 (pkgdata_MODULES): Add `test.mod'.
36404 (grub_script.tab.c): New rule.
36405 (grub_script.tab.h): Likewise.
36406
36407 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36408
36409 * include/grub/normal.h (grub_test_init): New prototype.
36410 (grub_test_fini): Likewise.
36411
36412 * normal/command.c: Include <grub/script.h>.
36413 (grub_command_execute): Rewritten.
36414
36415 * util/grub-emu.c (main): Call `grub_test_init' and
36416 `grub_test_fini'.
36417
36418 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36419
36420 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36421 to 0.
36422 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36423 there are no pending characters.
36424
36425 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36426
36427 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36428 `grub_strndup' to drop device arguments. Replace unnecessary
36429 `grub_strndup' with `grub_strdup'.
36430
36431 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36432
36433 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36434 `debug' environment variable has been set.
36435
36436 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
36437
36438 * Makefile.in (install-local): Use $(DATA).
36439 (uninstall): Likewise.
36440 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36441 (sbin_UTILITIES): ... to here.
36442 (sbin_SCRIPTS): New variable.
36443 (grub_install_SOURCES): New variable.
36444 * util/powerpc/ieee1275/grub-install.in: New file.
36445 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36446 variable.
36447 (add_segments): Call `grub_util_get_path'.
36448
36449 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36450
36451 From Timothy Baldwin:
36452 * commands/ls.c (grub_ls_list_files): Close FILE with
36453 grub_file_close.
36454 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36455
36456 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
36457
36458 * include/grub/parser.h: New file.
36459
36460 * kern/parser.c: Likewise.
36461
36462 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36463 (grub_setup_SOURCES): Likewise.
36464 (grub_probefs_SOURCES): Likewise.
36465 (grub_emu_SOURCES): Likewise.
36466 (kernel_img_HEADERS): Add `parser.h'.
36467
36468 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36469 (grub_emu_SOURCES): Add `kern/parser.c'.
36470 (grubof_SOURCES): Likewise.
36471
36472 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36473 (grubof_SOURCES): Add `kern/parser.c'.
36474
36475 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36476
36477 * kern/misc.c (grub_split_cmdline): Removed function.
36478
36479 * kern/rescue.c: Include <grub/parser.h>.
36480 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36481 of `grub_split_cmdline'.
36482
36483 * normal/command.c: Include <grub/parser.h>.
36484 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36485 of `grub_split_cmdline'.
36486
36487 * normal/completion.c: Include <grub/parser.h>.
36488 (cmdline_state): New variable.
36489 (iterate_dir): End the filename with a quote depending on the
36490 command line state.
36491 (get_state): new function.
36492 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36493 split the arguments and determine the current argument. When the
36494 argument string is not quoted, escape all spaces.
36495
36496 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36497
36498 * normal/sparc64/setjmp.S: New file.
36499
36500 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36501
36502 * include/grub/sparc64/libgcc.h: New file.
36503 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36504 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36505 normal/sparc64/setjmp.c.
36506
36507 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36508
36509 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36510 * kern/sparc64/cache.S: New file.
36511 * kern/sparc64/cache.c: Removed.
36512 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36513 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36514 -mtune=ultrasparc.
36515 (COMMON_LDFLAGS): Add -melf64_sparc.
36516 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36517 (grubof_SOURCES): Use cache.S instead of cache.c.
36518 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36519 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36520 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36521 commented though.
36522 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36523 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36524 (linux_mod_CFLAGS): Commented out.
36525 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36526 out because module isn't built.
36527 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36528 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36529 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36530 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36531 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36532 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36533 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36534 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36535 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36536 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36537 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36538 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36539 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36540 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36541
36542 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36543
36544 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36545 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36546 longer, because HFS should not be used on PC.
36547
36548 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36549
36550 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36551 consistently within the loop.
36552
36553 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
36554
36555 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36556 directory can not be read.
36557
36558 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36559
36560 * configure.ac (AC_INIT): Increase the version number to 1.91.
36561
36562 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36563 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36564 term/i386/pc/serial.c.
36565
36566 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36567
36568 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36569 file size must be permitted.
36570
36571 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36572 between %ah and %al.
36573
36574 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36575
36576 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36577 grub_uint64_t.
36578 Call the hook with a NUL-terminated filename.
36579 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36580 grub_cpu_to_be32.
36581
36582 * kern/term.c (cursor_state): New variable.
36583 (grub_term_set_current): Reset the cursor state on a new
36584 terminal.
36585 (grub_setcursor): Rewritten to use CURSOR_STATE.
36586 (grub_getcursor): New function.
36587
36588 * include/grub/term.h (grub_getcursor): New prototype.
36589
36590 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36591 integers on ARM. Reported by Timothy Baldwin
36592 <T.E.Baldwin99@members.leeds.ac.uk>.
36593
36594 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
36595
36596 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36597 allocated.
36598 (grub_sfs_dir): Likewise.
36599
36600 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
36601
36602 Add support for the SFS filesystem.
36603
36604 * fs/sfs.c: New file.
36605
36606 * DISTLIST: Added `fs/sfs.c'.
36607
36608 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36609 (grub_probefs_SOURCES): Likewise.
36610 (grub_emu_SOURCES): Likewise.
36611 (pkgdata_MODULES): Add `sfs.mod'.
36612 (sfs_mod_SOURCES): New variable.
36613 (sfs_mod_CFLAGS): Likewise.
36614 (sfs_mod_LDFLAGS): Likewise.
36615
36616 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36617 (pkgdata_MODULES): Add `sfs.mod'.
36618 (sfs_mod_SOURCES): New variable.
36619 (sfs_mod_CFLAGS): Likewise.
36620
36621 * util/grub-emu.c (main): Call `grub_sfs_init' and
36622 `grub_sfs_fini'.
36623
36624 * include/grub/fs.h (grub_sfs_init): New prototype.
36625 (grub_sfs_fini): Likewise.
36626
36627 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
36628
36629 Add support for the AFFS filesystem.
36630
36631 * fs/affs.c: New file.
36632
36633 * DISTLIST: Added `fs/affs.c'.
36634
36635 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36636 (grub_probefs_SOURCES): Likewise.
36637 (grub_emu_SOURCES): Likewise.
36638 (pkgdata_MODULES): Add `affs.mod'.
36639 (affs_mod_SOURCES): New variable.
36640 (affs_mod_CFLAGS): Likewise.
36641 (affs_mod_LDFLAGS): Likewise.
36642
36643 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36644 (pkgdata_MODULES): Add `affs.mod'.
36645 (affs_mod_SOURCES): New variable.
36646 (affs_mod_CFLAGS): Likewise.
36647
36648 * util/grub-emu.c (main): Call `grub_affs_init' and
36649 `grub_affs_fini'.
36650
36651 * include/grub/fs.h (grub_affs_init): New prototype.
36652 (grub_affs_fini): Likewise.
36653
36654 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36655
36656 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36657
36658 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
36659
36660 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36661 `-m32' to CFLAGS.
36662
36663 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36664 linking.
36665
36666 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36667 (COMMON_LDFLAGS): New variable.
36668 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36669 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36670 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36671 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36672 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36673 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36674 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
36675 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
36676 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
36677 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
36678 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36679 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36680 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
36681 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
36682 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
36683 variables.
36684 (normal_mod_ASFLAGS): Add `-m32'.
36685
36686 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
36687 (grub_host_size_t, grub_host_ssize_t): New types.
36688 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
36689 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
36690 `GRUB_HOST_SIZEOF_VOID_P'.
36691
36692 * include/grub/kernel.h (struct grub_module_header): Type of
36693 member offset changed to `grub_host_off_t'. Type of member size
36694 changed to `grub_host_size_t'.
36695 (struct grub_module_info): Type of member offset changed to
36696 `grub_host_off_t'. Type of member size changed to
36697 `grub_host_size_t'.
36698
36699 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
36700
36701 Make GRUB's kernel compliant to Multiboot Specification.
36702
36703 * kern/i386/pc/startup.S (multiboot_header): New label.
36704 (multiboot_entry): Likewise.
36705 (multiboot_trampoline): Likewise.
36706
36707 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36708 Increased to 0x4A0.
36709
36710 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
36711 put parentheses after a question mark.
36712 [!GRUB_UTIL] (my_mod): New variable.
36713
36714 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
36715
36716 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
36717
36718 Adds support for the XFS filesystem. Btrees are not supported
36719 yet.
36720
36721 * fs/xfs.c: New file.
36722
36723 * DISTLIST: Added `fs/xfs.c'.
36724
36725 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
36726 (grub_probefs_SOURCES): Likewise.
36727 (grub_emu_SOURCES): Likewise.
36728 (pkgdata_MODULES): Add `xfs.mod'.
36729 (xfs_mod_SOURCES): New variable.
36730 (xfs_mod_CFLAGS): Likewise.
36731
36732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
36733 (pkgdata_MODULES): Add `xfs.mod'.
36734 (xfs_mod_SOURCES): New variable.
36735 (xfs_mod_CFLAGS): Likewise.
36736
36737 * util/grub-emu.c (main): Call `grub_xfs_init' and
36738 `grub_xfs_fini'.
36739
36740 * include/grub/fs.h (grub_xfs_init): New prototype.
36741 (grub_xfs_fini): Likewise.
36742
36743
36744 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
36745
36746 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
36747 color modes, allow greater than 16 colors to be configured as
36748 a default palette.
36749
36750 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36751
36752 * normal/completion.c (complete_arguments): Add the qualifier
36753 const into OPTIONS.
36754
36755 From Omniflux <omniflux+lists@omniflux.com>:
36756 * include/grub/terminfo.h: New file.
36757 * include/grub/tparm.h: Likewise.
36758 * include/grub/i386/pc/serial.h: Likewise.
36759 * term/terminfo.c: Likewise.
36760 * term/tparm.c: Likewise.
36761 * term/i386/pc/serial.c: Likewise.
36762 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
36763 serial.mod.
36764 (terminfo_mod_SOURCES): New variable.
36765 (terminfo_mod_CFLAGS): Likewise.
36766 (serial_mod_SOURCES): Likewise.
36767 (serial_mod_CFLAGS): Likewise.
36768
36769 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
36770
36771 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
36772 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
36773 and kern/powerpc/ieee1275/cmain.c, respectively.
36774
36775 * boot/powerpc/ieee1275/crt0.S: Moved to ...
36776 * kern/powerpc/ieee1275/crt0.S: ... here.
36777
36778 * boot/powerpc/ieee1275/cmain.c: Moved to ...
36779 * kern/powerpc/ieee1275/cmain.c: ... here.
36780
36781 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
36782 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
36783 instead of boot/powerpc/ieee1275/crt0.S and
36784 boot/powerpc/ieee1275/cmain.c, respectively.
36785
36786 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
36787 sectors. It was not used anyway.
36788
36789 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36790
36791 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
36792 `unused parameter' warning.
36793
36794 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36795
36796 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
36797 function.
36798 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
36799 getcharwidth.
36800
36801 2005-08-28 Marco Gerards <metgerards@student.han.nl>
36802
36803 * include/grub/normal.h (enum grub_completion_type): Added
36804 `GRUB_COMPLETION_TYPE_ARGUMENT'.
36805
36806 * normal/cmdline.c (print_completion): Handle
36807 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
36808 * normal/menu_entry.c (store_completion): Likewise.
36809
36810 * normal/completion.c (complete_arguments): New function.
36811 (grub_normal_do_completion): Call `complete_arguments' when the
36812 current words start with a dash.
36813
36814 2005-08-27 Marco Gerards <metgerards@student.han.nl>
36815
36816 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
36817 `gzio.mod' instead of `io.mod').
36818
36819 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
36820
36821 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
36822 (DISTDIRS): Added io and video.
36823 Rewrite the search routine to make an output consistently.
36824
36825 * DISTLIST: Added conf/sparc64-ieee1275.mk,
36826 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
36827 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
36828 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
36829 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
36830 util/powerpc/ieee1275/misc.c.
36831
36832 * include/grub/gzio.h: New file.
36833 * io/gzio.c: Likewise.
36834
36835 * kern/file.c (grub_file_close): Call grub_device_close only if
36836 FILE->DEVICE is not NULL.
36837
36838 * include/grub/mm.h [!NULL] (NULL): New macro.
36839
36840 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
36841
36842 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
36843 (pkgdata_MODULES): Added gzio.mod.
36844 (gzio_mod_SOURCES): New variable.
36845 (gzio_mod_CFLAGS): Likewise.
36846
36847 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
36848 (pkgdata_MODULES): Added gzio.mod.
36849 (gzio_mod_SOURCES): New variable.
36850 (gzio_mod_CFLAGS): Likewise.
36851
36852 * commands/cat.c: Include grub/gzio.h.
36853 (grub_cmd_cat): Use grub_gzfile_open instead of
36854 grub_file_open.
36855
36856 * commands/cmp.c: Include grub/gzio.h.
36857 (grub_cmd_cmp): Use grub_gzfile_open instead of
36858 grub_file_open.
36859
36860 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
36861 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
36862 grub_file_open.
36863 (grub_rescue_cmd_module): Likewise.
36864
36865 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36866
36867 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
36868 kern/sparc64/ieee1275/init.c because it contains _start.
36869 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
36870
36871 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36872
36873 * configure.ac: Add support for sparc64 host with ieee1275
36874 firmware.
36875 * configure: Generated from configure.ac.
36876 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
36877 instead of int.
36878 (grub_ofdisk_read): Likewise.
36879 (grub_ofdisk_open): Use %p to print pointer values, and cast the
36880 pointers as (void *) to remove a warning.
36881 (grub_ofdisk_close): Likewise.
36882 (grub_ofdisk_read): Likewise.
36883 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
36884 returns, so make it return void to remove a warning.
36885 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
36886 Corresponding prototype change.
36887 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
36888 values, and cast the pointers as (void *) to remove a warning.
36889 (grub_mm_dump): Likewise.
36890 * conf/sparc64-ieee1275.mk: New file.
36891 * conf/sparc64-ieee1275.rmk: Likewise.
36892 * include/grub/sparc64/setjmp.h: Likewise.
36893 * include/grub/sparc64/types.h: Likewise.
36894 * include/grub/sparc64/ieee1275/console.h: Likewise.
36895 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36896 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36897 * include/grub/sparc64/ieee1275/time.h: Likewise.
36898 * kern/sparc64/cache.c: Likewise.
36899 * kern/sparc64/dl.c: Likewise.
36900 * kern/sparc64/ieee1275/init.c: Likewise.
36901 * kern/sparc64/ieee1275/openfw.c: Likewise.
36902
36903 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36904
36905 * util/console.c (grub_ncurses_putchar): If C is greater than
36906 0x7f, set C to a question mark.
36907 (grub_ncurses_getcharwidth): New function.
36908 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
36909 getcharwidth.
36910
36911 * normal/menu.c (print_entry): Made aware of Unicode. First,
36912 convert TITLE to UCS-4, and predict the cursor position by
36913 grub_getcharwidth.
36914
36915 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
36916 const to SRC.
36917 * kern/misc.c (grub_utf16_to_utf8): Likewise.
36918
36919 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36920
36921 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
36922 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36923 grub_strcat.
36924
36925 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
36926 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36927 grub_strcpy and grub_strlen. Take it into account that a space
36928 character is inserted as a delimiter.
36929
36930 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36931
36932 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
36933 invalid magic in the error.
36934
36935 * commands/search.c: New file.
36936
36937 * util/grub-emu.c (main): Call grub_search_init and
36938 grub_search_fini.
36939
36940 * kern/rescue.c (grub_rescue_print_disks): Removed.
36941 (grub_rescue_print_devices): New function.
36942 (grub_rescue_cmd_ls): Use grub_device_iterate with
36943 grub_rescue_print_devices instead of grub_disk_dev_iterate with
36944 grub_rescue_print_disks.
36945
36946 * kern/partition.c (grub_partition_iterate): Return the result of
36947 PARTMAP->ITERATE instead of GRUB_ERRNO.
36948
36949 * kern/device.c: Include grub/partition.h.
36950 (grub_device_iterate): New function.
36951
36952 * include/grub/partition.h (grub_partition_iterate): Return int
36953 instead of grub_err_t.
36954
36955 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
36956 prototype.
36957 [GRUB_UTIL] (grub_search_fini): Likewise.
36958
36959 * include/grub/device.h (grub_device_iterate): New prototype.
36960
36961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36962 commands/search.c.
36963 (pkgdata_MODULES): Added search.mod.
36964 (search_mod_SOURCES): New variable.
36965 (search_mod_CFLAGS): Likewise.
36966
36967 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
36968 (pkgdata_MODULES): Added search.mod.
36969 (search_mod_SOURCES): New variable.
36970 (search_mod_CFLAGS): Likewise.
36971
36972 * commands/ls.c (grub_ls_list_disks): Renamed to ...
36973 (grub_ls_list_devices): ... this, and use grub_device_iterate.
36974 All callers changed.
36975
36976 * DISTLIST: Added commands/search.c.
36977
36978 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36979
36980 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
36981 conversion.
36982 (grub_getcharwidth): New function.
36983
36984 * kern/misc.c (grub_utf8_to_ucs4): New function.
36985
36986 * include/grub/term.h (struct grub_term): Added a new member
36987 "getcharwidth".
36988 (grub_getcharwidth): New prototype.
36989
36990 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
36991
36992 * term/i386/pc/console.c (map_char): New function. Segregated from
36993 grub_console_putchar.
36994 (grub_console_putchar): Use map_char.
36995 (grub_console_getcharwidth): New function.
36996 (grub_console_term): Specified grub_console_getcharwidth as
36997 getcharwidth.
36998
36999 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
37000 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
37001
37002 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
37003 GRUB_ERRNO.
37004 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
37005 on grub_strtoul completely.
37006 (write_char): Declare local variables in the beginning of the
37007 function.
37008 (grub_vesafb_getcharwidth): New function.
37009 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
37010 getcharwidth.
37011
37012 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
37013
37014 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
37015 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
37016 commands/i386/pc/vbetest.c.
37017
37018 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
37019 call grub_vbe_get_controller_info again, because the returned
37020 information is volatile.
37021 (grub_vbe_set_video_mode): Mostly rewritten.
37022 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
37023 grub_vbe_status_t correctly.
37024 (grub_vbe_get_video_mode_info): Likewise.
37025 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
37026 several if statements.
37027
37028 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
37029 * commands/i386/pc/vbeinfo.c: ... this.
37030
37031 * commands/i386/pc/vbe_test.c: Renamed to ...
37032 * commands/i386/pc/vbetest.c: ... this.
37033
37034 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
37035 ...
37036 (grub_cmd_vbeinfo): ... this. Save video modes before
37037 iterating. Skip a video mode, if it is not available, not enough
37038 information is given or it is monochrome. Show the memory
37039 model. Leave the interpretation of MODEVAR to grub_strtoul
37040 completely.
37041 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
37042 (GRUB_MOD_FINI): Likewise.
37043
37044 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
37045 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
37046 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
37047 duplicated grub_env_get. Leave the interpretation of MODEVAR to
37048 grub_strtoul completely.
37049 (real2pm): Removed.
37050 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37051 (GRUB_MOD_FINI): Likewise.
37052
37053 * normal/misc.c: Include grub/mm.h.
37054
37055 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37056 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37057 (vbe_list_modes_mod_SOURCES): Removed.
37058 (vbe_list_modes_mod_CFLAGS): Likewise.
37059 (vbe_test_mod_SOURCES): Likewise.
37060 (vbe_test_mod_CFLAGS): Likewise.
37061 (vbeinfo_mod_SOURCES): New variable.
37062 (vbeinfo_mod_CFLAGS): Likewise.
37063 (vbetest_mod_SOURCES): Likewise.
37064 (vbetest_mod_CFLAGS): Likewise.
37065
37066 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37067
37068 * normal/misc.c: New file.
37069
37070 * DISTLIST: Added normal/misc.c.
37071
37072 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37073 DISK to HOOK. Call HOOK with DISK.
37074 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37075 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37076 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37077
37078 * normal/menu_entry.c (struct screen): Added a new member
37079 "completion_shown".
37080 (completion_buffer): New global variable.
37081 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37082 (store_completion): New function.
37083 (complete): Likewise.
37084 (clear_completions): Likewise.
37085 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37086 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37087 a tab, call complete.
37088
37089 * normal/completion.c (disk_dev): Removed.
37090 (print_simple_completion): Likewise.
37091 (print_partition_completion): Likewise.
37092 (print_func): New global variable.
37093 (add_completion): Do not take the arguments WHAT or PRINT any
37094 longer. Added a new argument TYPE. Instead of printing directly,
37095 call PRINT_FUNC if not NULL.
37096 All callers changed.
37097 (complete_device): Use a local variable DEV instead of
37098 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37099 (grub_normal_do_completion): Take a new argument HOOK. Do not
37100 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37101 empty string, return NULL instead.
37102 All callers changed.
37103
37104 * normal/cmdline.c (print_completion): New function.
37105
37106 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37107 to HOOK.
37108 All callers changed.
37109
37110 * kern/disk.c (grub_print_partinfo): Removed.
37111
37112 * include/grub/partition.h (struct grub_partition_map): Add a new
37113 argument DISK into HOOK of ITERATE.
37114 (grub_partition_iterate): Add a new argument DISK to HOOK.
37115
37116 * include/grub/normal.h (enum grub_completion_type): New enum.
37117 (grub_completion_type_t): New type.
37118 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37119 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37120 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37121 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37122 (grub_normal_do_completion): Added a new argument HOOK.
37123 (grub_normal_print_device_info): New prototype.
37124
37125 * include/grub/disk.h (grub_print_partinfo): Removed.
37126
37127 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37128 (normal_mod_SOURCES): Likewise.
37129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37130 (normal_mod_SOURCES): Likewise.
37131
37132 * commands/ls.c (grub_ls_list_disks): Use
37133 grub_normal_print_device_info instead of grub_print_partinfo. Free
37134 PNAME.
37135 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37136 duplicating the code.
37137
37138 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37139
37140 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
37141 follow GCS more precisely.
37142 * commands/i386/pc/vbe_test.c: Likewise.
37143 * include/grub/i386/pc/vbe.h: Likewise.
37144 * term/i386/pc/vesafb.c: Likewise.
37145 * video/i386/pc/vbe.c: Likewise.
37146
37147 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37148
37149 * DISTLIST: Added term/i386/pc/vesafb.c
37150 DISTLIST: Added video/i386/pc/vbe.c
37151 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37152 DISTLIST: Added commands/i386/pc/vbe_test.c.
37153 * commands/i386/pc/vbe_list_modes.c: New file.
37154 * commands/i386/pc/vbe_test.c: Likewise.
37155 * term/i386/pc/vesafb.c: Likewise.
37156 * video/i386/pc/vbe.c: Likewise.
37157 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37158 (grub_vbe_probe) Added prototype.
37159 (grub_vbe_set_video_mode) Likewise.
37160 (grub_vbe_get_video_mode) Likewise.
37161 (grub_vbe_get_video_mode_info) Likewise.
37162 (grub_vbe_set_pixel_rgb) Likewise.
37163 (grub_vbe_set_pixel_index) Likewise.
37164 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37165 (pkgdata_MODULES): Added vesafb.mod.
37166 (pkgdata_MODULES): Added vbe_list_modes.mod.
37167 (pkgdata_MODULES): Added vbe_test.mod.
37168 (vbe_mod_SOURCES): Added.
37169 (vbe_mod_CFLAGS): Likewise.
37170 (vesafb_mod_SOURCES): Likewise.
37171 (vesafb_mod_CFLAGS): Likewise.
37172 (vbe_list_modes_mod_SOURCES): Likewise.
37173 (vbe_list_modes_mod_CFLAGS): Likewise.
37174 (vbe_test_mod_SOURCES): Likewise.
37175 (vbe_test_mod_CFLAGS): Likewise.
37176
37177 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37178
37179 * normal/command.c (grub_command_execute): If INTERACTIVE is
37180 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37181 CMDLINE. Disable the pager if INTERACTIVE is true.
37182 All callers are changed.
37183
37184 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37185 before reading a config file.
37186 * normal/main.c (read_config_file): Even if a command is not
37187 found, register it if it is within an entry.
37188
37189 * util/grub-emu.c: Include sys/types.h and unistd.h.
37190 (options): Added --hold.
37191 (struct arguments): Added a new member "hold".
37192 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37193 missing.
37194 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37195 cleared by a debugger, if it is not zero.
37196
37197 * include/grub/normal.h (grub_command_execute): Add an argument
37198 INTERACTIVE.
37199
37200 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37201
37202 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37203
37204 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37205
37206 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37207 program with another one, because the old one didn't detect a bug
37208 in gcc-3.4. Always use regparm 2, because the new test is still
37209 not enough for gcc-4.0. Someone must investigate a simple test
37210 case which detects a bug in gcc-4.0.
37211
37212 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37213
37214 * DISTLIST: Added normal/completion.c.
37215
37216 * normal/completion.c: New file.
37217
37218 * term/i386/pc/console.c (grub_console_getwh): New function.
37219 (grub_console_term): Assign grub_console_getwh to getwh.
37220
37221 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37222 function is defined in normal/completion.c as
37223 grub_normal_do_completion.
37224 (grub_cmdline_get): Use grub_normal_do_completion instead of
37225 grub_tab_complete.
37226
37227 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37228 returns non-zero, otherwise return 0.
37229 (grub_partition_iterate): First, probe the partition map. Then,
37230 call ITERATE only for this partition map.
37231
37232 * kern/misc.c (grub_strncmp): Rewritten.
37233
37234 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37235 returns non-zero. Otherwise return 0.
37236
37237 * include/grub/partition.h (grub_partition_map_iterate): Return
37238 int instead of void.
37239
37240 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37241
37242 * include/grub/misc.h (grub_strncmp): Change the type of N to
37243 grub_size_t.
37244
37245 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37246 of void.
37247
37248 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
37249 unsigned explicitly before comparing it with I.
37250
37251 * kern/main.c (grub_env_write_root): Add the attribute unused into
37252 VAR.
37253
37254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37255 normal/completion.c.
37256 (normal_mod_SOURCES): Likewise.
37257 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37258 (normal_mod_SOURCES): Likewise.
37259
37260 * normal/command.c (grub_iterate_commands): If ITERATE returns
37261 non-zero, return one immediately.
37262
37263 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37264
37265 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37266 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37267 descriptions.
37268 (grub_vbe_get_controller_info): New function.
37269 (grub_vbe_get_mode_info): Likewise.
37270 (grub_vbe_set_mode): Likewise.
37271 (grub_vbe_get_mode): Likewise.
37272 (grub_vbe_set_memory_window): Likewise.
37273 (grub_vbe_get_memory_window): Likewise.
37274 (grub_vbe_set_scanline_length): Likewise.
37275 (grub_vbe_get_scanline_length): Likewise.
37276 (grub_vbe_set_display_start): Likewise.
37277 (grub_vbe_get_display_start): Likewise.
37278 (grub_vbe_set_palette_data): Likewise.
37279 * include/grub/i386/pc/vbe.h: New file.
37280
37281 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37282
37283 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37284 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37285 * DISTLIST: Likewise.
37286 * kern/ieee1275/of.c: Moved to ...
37287 * kern/ieee1275/ieee1275.c: ... here.
37288
37289 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37290
37291 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37292 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37293 Pass 0 as `end' parameter to grub_strtoul().
37294
37295 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37296
37297 * include/grub/powerpc/ieee1275/console.h: Do not include
37298 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37299 ifdef.
37300 (grub_console_cur_color): Remove i386-specific prototype.
37301 (grub_console_real_putchar): Likewise.
37302 (grub_console_checkkey): Likewise.
37303 (grub_console_getkey): Likewise.
37304 (grub_console_getxy): Likewise.
37305 (grub_console_gotoxy): Likewise.
37306 (grub_console_cls): Likewise.
37307 (grub_console_setcursor): Likewise.
37308 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37309 Include <grub/machine/console.h>.
37310 * term/ieee1275/ofconsole.c: Likewise.
37311
37312 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37313
37314 * Makefile.in (LIBLZO): New variable.
37315
37316 * configure.ac: Check for LZO version 2.
37317
37318 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37319 lzo/lzo1x.h instead of lzo1x.h.
37320
37321 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37322 of -llzo.
37323
37324 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37325 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37326
37327 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37328 copying the data from PARTITION to P.
37329
37330 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37331
37332 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37333 negative, unload the module.
37334
37335 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37336 map is "pc_partition_map" but not "pc".
37337 (usage): Fix the description. The options are --boot-image and
37338 --core-image but not --boot-file or --core-file.
37339 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37340 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37341 DEFAULT_DIRECTORY.
37342
37343 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37344 --core-file. Specify INSTALL_DEVICE as an argument.
37345
37346 * util/console.c: Include config.h.
37347 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37348 [HAVE_NCURSES_H]: Include ncurses.h.
37349 [HAVE_CURSES_H]: Include curses.h.
37350 [!A_NORMAL] (A_NORMAL): Defined as zero.
37351 [!A_STANDOUT] (A_STANDOUT): Likewise.
37352
37353 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37354 -lncurses.
37355 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37356
37357 * configure.ac: Check for curses libraries and headers.
37358
37359 * Makefile.in (LIBCURSES): New variable.
37360
37361 * genmk.rb (Script::rule): Set the executable bits.
37362
37363 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37364 name of the PC partition map is "pc_partition_map" but not "pc".
37365
37366 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37367
37368 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37369 (modules): Likewise.
37370 (usage): Added descriptions for --modules and --grub-probefs.
37371 Handle --modules and --grub-probefs. Save the arguments in MODULES
37372 and GRUB_PROBEFS, respectively.
37373 Auto-detect a filesystem module against GRUBDIR. If the result is
37374 empty and modules are not specified explicitly, abort the
37375 installation. Add the result to MODULES.
37376
37377 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37378 disk/powerpc/ieee1275/ofdisk.c,
37379 include/grub/powerpc/ieee1275/init.h and
37380 term/powerpc/ieee1275/ofconsole.c.
37381 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37382 term/ieee1275/ofconsole.c.
37383
37384 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37385
37386 * COPYING: Upgraded to the latest version. Only the address of the
37387 FSF office has changed.
37388
37389 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37390
37391 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37392 kern/ieee1275.c with kern/ieee1275/of.c.
37393
37394 * kern/ieee1275.c: Moved to ...
37395 * kern/ieee1275/of.c: ... here.
37396
37397 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37398
37399 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
37400 readability.
37401
37402 * config.guess: Updated to the latest version from gnulib.
37403 * config.sub: Likewise.
37404 * install.sh: Likewise.
37405 * mkinstalldirs: Likewise.
37406
37407 * include/grub/console.h: Removed. This file is arch-specific. Do
37408 not put this in include/grub.
37409
37410 * include/grub/i386/pc/console.h: Resurrected.
37411
37412 * util/console.c: Include grub/machine/console.h instead of
37413 grub/console.h.
37414 * util/grub-emu.c: Likewise.
37415
37416 2005-08-04 Marco Gerards <metgerards@student.han.nl>
37417
37418 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37419 hardcoded value.
37420
37421 From Vincent Pelletier <subdino2004@yahoo.fr>
37422 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37423 Redefined to use grub_getwh.
37424 (grub_term): New member named getwh.
37425 (grub_getwh): New prototype.
37426 * kern/term.c (grub_getwh): New function.
37427 * term/i386/pc/console.c (grub_console_getwh): New function.
37428 (grub_console_term): New member `getwh'.
37429 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37430 (grub_vga_term): New member `getwh'.
37431 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
37432 grub_ssize_t.
37433 (grub_ofconsole_getw): New function.
37434 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37435 (grub_ofconsole_term): New field named getwh and new initial
37436 value.
37437
37438 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37439
37440 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37441 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37442 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37443 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37444 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37445 of <grub/machine/ieee1275.h>.
37446 * commands/ieee1275/reboot.c: Likewise.
37447 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37448 * kern/ieee1275.c: ... to here. All users updated. Change all
37449 parameter structs to use new type `grub_ieee1275_cell_t'.
37450 * term/powerpc/ieee1275/ofconsole.c: Move ...
37451 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37452 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37453 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37454 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37455 to return int.
37456 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37457 Remove unused prototypes. All users updated.
37458 * include/grub/powerpc/ieee1275/console.h: Removed.
37459 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37460 `grub_ieee1275_cell_t'.
37461 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37462 Cast comparisons with -1 to the correct type.
37463 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37464 type to match `grub_ieee1275_entry_fn'.
37465
37466 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37467
37468 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37469
37470 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37471 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37472 partmap/sun.c.
37473 (grub_probefs_SOURCES): New variable.
37474
37475 * util/i386/pc/grub-probefs.c: New file.
37476
37477 * util/i386/pc/grub-setup.c (main): Call
37478 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37479 grub_hfs_init and grub_jfs_init to initialize the system. Call
37480 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37481 grub_pc_partition_map_fini to finish the system.
37482
37483 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37484
37485 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37486 function.
37487 (grub_multiboot_load_elf32): Likewise.
37488 (grub_multiboot_is_elf64): Likewise.
37489 (grub_multiboot_load_elf64): Likewise.
37490 (grub_multiboot_load_elf): Likewise.
37491 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37492 an ELF32 or ELF64 file.
37493 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37494
37495 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37496 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37497 NULL before calling FS->LABEL.
37498 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37499 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37500 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37501 before calling FS->LABEL.
37502
37503 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37504
37505 * util/i386/pc/grub-install.in (datadir): New variable.
37506 (libdir): Removed.
37507 (pkgdatadir): New variable.
37508 (pkglibdir): Removed.
37509
37510 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37511
37512 * DISTLIST: Added util/i386/pc/grub-install.in.
37513
37514 * util/i386/pc/grub-install.in: New file.
37515
37516 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37517 (grub_install_SOURCES): Likewise.
37518
37519 * genmk.rb: Added support for scripts.
37520 (Script): New class.
37521 (scripts): New variable.
37522
37523 * Makefile.in (install-local): Install sbin_SCRIPTS by
37524 INSTALL_SCRIPT.
37525 (uninstall): Remove sbin_SCRIPTS.
37526
37527 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37528 device, try to get a GRUB device by
37529 grub_util_biosdisk_get_grub_dev.
37530 Free DEST_DEV.
37531
37532 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37533 description for --device-map.
37534
37535 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37536
37537 Change the semantics of variable hooks. They now return strings
37538 instead of error values.
37539
37540 * util/i386/pc/grub-setup.c: Include grub/env.h.
37541 (setup): Use grub_device_set_root instead of grub_env_set.
37542
37543 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37544 grub_env_get instead of grub_device_set_root and
37545 grub_device_get_root, respectively.
37546
37547 * kern/main.c (grub_env_write_root): New function.
37548 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37549 grub_env_set instead of grub_device_set_root.
37550
37551 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37552 many variables.
37553 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37554 rather than calling ENV->WRITE_HOOK afterwards.
37555 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37556 passing a pointer of a pointer.
37557 (grub_register_variable_hook): Change the types of "read_hook" and
37558 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37559 respectively.
37560 Allocate the default empty string on the heap, because this string
37561 may be freed later.
37562
37563 * kern/device.c: Include grub/env.h.
37564 (grub_device_set_root): Removed.
37565 (grub_device_get_root): Likewise.
37566 (grub_device_open): Use grub_env_get instead of
37567 grub_device_get_root.
37568
37569 * include/grub/env.h (grub_env_read_hook_t): New type.
37570 (grub_env_write_hook_t): Likewise.
37571 (grub_env_var): Change the types of "read_hook" and "write_hook"
37572 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37573 (grub_register_variable_hook): Likewise.
37574
37575 * include/grub/device.h (grub_device_set_root): Removed.
37576 (grub_device_set_root): Likewise.
37577
37578 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37579 make sure that DIRNAME terminates with '/', so that
37580 grub_fat_find_dir will fail if PATH is not a directory.
37581
37582 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37583 from DIRNAME.
37584 Use the qualifier auto for print_files and print_files_long.
37585 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37586 as a regular file.
37587 Put a newline only if there is no error.
37588 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37589 used.
37590
37591 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37592
37593 * kern/partition.c (grub_partition_probe): Initialize PART to
37594 NULL. Otherwise, when no partition map is registered, this returns
37595 a garbage.
37596
37597 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37598
37599 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37600 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37601 valid.
37602
37603 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37604
37605 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37606 information on each device, if it does not have partitions. Print
37607 "Device" instead of "Disk", because this function is not specific
37608 to disk devices.
37609
37610 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37611 static to ensure that it is put on the memory rather than a
37612 register.
37613
37614 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37615
37616 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37617 (grub_cat_init): Likewise.
37618 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37619 (options): Likewise.
37620 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37621 (grub_configfile_init): Likewise.
37622 * font/manager.c (GRUB_MOD_INIT): Likewise.
37623 * commands/help.c (GRUB_MOD_INIT): Likewise.
37624 (grub_help_init): Likewise.
37625 * normal/command.c (grub_command_init): Likewise.
37626 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37627 * disk/loopback.c (grub_loop_init): Likewise.
37628 (GRUB_MOD_INIT): Likewise.
37629 * commands/ls.c (grub_ls_init): Likewise.
37630 (GRUB_MOD_INIT): Likewise.
37631 (options): Likewise.
37632 * commands/boot.c (grub_boot_init): Likewise.
37633 (GRUB_MOD_INIT): Likewise.
37634 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37635 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37636 (GRUB_MOD_INIT): Likewise.
37637 * commands/cmp.c (grub_cmp_init): Likewise.
37638 (GRUB_MOD_INIT): Likewise.
37639
37640 * normal/arg.c: Use <> instead of "" to include header files.
37641 (SHORT_ARG_HELP): New macro.
37642 (SHORT_ARG_USAGE): Likewise.
37643 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37644 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37645 descriptions.
37646 (find_short): Check if C is 'h' or 'u' explicitly.
37647 (grub_arg_show_help): Use space characters instead of tabs. Treat
37648 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37649 are shown with --help and --usage only if they are not used for
37650 the command itself.
37651 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37652 'h' and 'u'.
37653
37654 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37655 const into "longarg". Change the type of "shortarg" to int.
37656
37657 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37658
37659 * boot/i386/pc/boot.S (boot_drive_check): New label.
37660
37661 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37662 macro.
37663
37664 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37665 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37666
37667 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37668
37669 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37670 When turning off Gate A20, skip the check and return immediately,
37671 because this is not fatal usually.
37672
37673 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
37674
37675 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
37676 be 0x7C00 instead of 0x8000.
37677
37678 * boot/i386/pc/pxeboot.S: Rewritten.
37679
37680 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
37681 EXT_C.
37682 (gate_a20_check_state): Read a byte from 0x108000. Invert the
37683 result.
37684
37685 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
37686
37687 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
37688 robustness. This routine now supports a BIOS call and System
37689 Control Port A to modify the gate A20.
37690
37691 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37692 Increased to 0x440.
37693
37694 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
37695
37696 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
37697 device path and resulting ihandle.
37698 (grub_ofdisk_close): dprintf the ihandle being closed.
37699 (grub_ofdisk_read): dprintf function parameters.
37700 * kern/mm.c (grub_mm_init_region): Likewise.
37701 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
37702 (grub_linux_boot): dprintf the Linux entry point, initrd address and
37703 size, and boot arguments.
37704 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
37705 before loading into memory.
37706 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
37707 before loading into memory.
37708
37709 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
37710
37711 * kern/mm.c: Added much documentation.
37712 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
37713 8, set to 5 instead of 8.
37714
37715 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
37716
37717 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
37718
37719 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
37720 (grub_mkdevicemap_SOURCES): New variable.
37721
37722 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
37723 lib/device.c of GRUB Legacy.
37724
37725 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
37726
37727 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
37728 instead of PATH is NULL.
37729
37730 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
37731
37732 * commands/cmp.c (BUFFER_SIZE): New macro.
37733 (grub_cmd_cmp): Close the right file at the right time. Compare
37734 only data just read. Don't report files of different size as
37735 identical. Dynamically allocate buffers. Move variable
37736 declarations at the beginning of function.
37737
37738 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
37739
37740 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
37741 reverse.
37742
37743 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
37744
37745 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
37746 when backspace is pressed at beginning of line.
37747
37748 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
37749
37750 * DISTLIST: Added genfslist.sh.
37751
37752 * normal/main.c (fs_module_list): New variable.
37753 (autoload_fs_module): New function.
37754 (read_fs_list): Likewise.
37755 (grub_normal_execute): Call read_fs_list.
37756
37757 * kern/fs.c (grub_fs_autoload_hook): New variable.
37758 (grub_fs_probe): Added support for auto-loading.
37759
37760 * include/grub/normal.h (struct grub_fs_module_list): New struct.
37761 (grub_fs_module_list_t): New type.
37762
37763 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
37764 (grub_fs_autoload_hook): New prototype.
37765
37766 * genfslist.sh: New file.
37767
37768 * genmk.rb: Added a rule to generate a filesystem list.
37769
37770 2005-06-30 Marco Gerards <metgerards@student.han.nl>
37771
37772 * configure.ac: Fix the test for cross-compiling.
37773
37774 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
37775 define GRUB_UTIL anymore.
37776
37777 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
37778 so this function works on other systems than just big endian.
37779 (load_modules): Likewise.
37780 (add_segments): Likewise.
37781
37782 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
37783
37784 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
37785 contains `l' modifier, get a long from va_arg().
37786
37787 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
37788
37789 * kern/mm.c (grub_free): If the next free block which is being
37790 merged is the first free block, set the first block to the block
37791 being freed.
37792 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
37793
37794 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37795
37796 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
37797 `grub_ieee1275_chosen'.
37798
37799 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37800
37801 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
37802 (grub_ieee1275_chosen): New variable.
37803 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
37804 `chosen'.
37805 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
37806 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37807 Rename first argument to `phandle' for consistency.
37808 (grub_ieee1275_get_property_length): Likewise.
37809 (grub_ieee1275_next_property): Likewise. Change type of first argument
37810 to grub_ieee1275_phandle_t.
37811 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
37812 Move export next to declaration.
37813 (grub_ieee1275_chosen): New variable.
37814 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
37815 Correct cosmetic typo.
37816 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
37817 `grub_ieee1275_chosen'.
37818 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
37819 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
37820 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
37821 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
37822 `grub_ieee1275_chosen'.
37823
37824 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
37825
37826 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
37827 /chosen/bootargs.
37828 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
37829 /chosen/bootargs as "variable=value" pairs.
37830
37831 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
37832
37833 * include/grub/misc.h (grub_dprintf): New macro.
37834 (grub_real_dprintf): New prototype.
37835 (grub_strword): Likewise.
37836 (grub_iswordseparator): Likewise.
37837 * kern/misc.c (grub_real_dprintf): New function.
37838 (grub_strword): Likewise.
37839 (grub_iswordseparator): Likewise.
37840
37841 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
37842
37843 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
37844 (roundup): Remove macro.
37845 (grub_ieee1275_flags): Make static.
37846 (grub_ieee1275_realmode): Remove.
37847 (grub_ieee1275_test_flag): New function.
37848 (grub_ieee1275_set_flag): Likewise.
37849 (find_options): Rename to `grub_ieee1275_find_options'; update
37850 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
37851 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
37852 (cmain): New prototype.
37853 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
37854 `grub_ieee1275_flags' directly.
37855 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
37856 machine/biosdisk.h.
37857 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
37858 Don't include grub/machine/init.h.
37859 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
37860 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37861 Remove prototype.
37862 (grub_ieee1275_realmode): Likewise.
37863 (grub_ieee1275_flag): New enum.
37864 (grub_ieee1275_test_flag): New prototype.
37865 (grub_ieee1275_set_flag): New prototype.
37866 * include/grub/powerpc/ieee1275/init.h: Remove file.
37867 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
37868 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
37869 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
37870 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
37871 comment.
37872 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
37873 `grub_ieee1275_test_flag'.
37874 (grub_ieee1275_encode_devname): Likewise.
37875
37876 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
37877
37878 * include/grub/powerpc/ieee1275/ieee1275.h
37879 (grub_ieee1275_encode_devname): New prototype.
37880 (grub_ieee1275_get_filename): Likewise.
37881 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
37882 function.
37883 (grub_set_prefix): Likewise.
37884 (grub_machine_init): Call grub_set_prefix.
37885 * kern/powerpc/ieee1275/openfw.c: Fix typos.
37886 (grub_parse_type): New enum.
37887 (grub_ieee1275_get_devargs): New function.
37888 (grub_ieee1275_get_devname): Likewise.
37889 (grub_ieee1275_parse_args): Likewise.
37890 (grub_ieee1275_get_filename): Likewise.
37891 (grub_ieee1275_encode_devname): Likewise.
37892
37893 2005-03-30 Marco Gerards <metgerards@student.han.nl>
37894
37895 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
37896 `grub_loader_unset'.
37897
37898 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
37899
37900 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
37901 instead of grub_ieee1275_interpret.
37902 (grub_halt_init): New function.
37903 (grub_halt_fini): Likewise.
37904 (GRUB_MOD_INIT): Correct message grammar.
37905 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
37906 instead of grub_ieee1275_interpret.
37907 (grub_reboot_init): New function.
37908 (grub_reboot_fini): Likewise.
37909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
37910 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
37911 util/i386/pc/misc.c with commands/ieee1275/halt.c,
37912 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
37913 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
37914 function.
37915 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
37916 Add prototype.
37917 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
37918 prototype.
37919 (grub_halt): Likewise.
37920 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
37921 (cmain): Remove __attribute__((unused)).
37922 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
37923 (grub_heap_len): Likewise.
37924 (grub_machine_fini): New function.
37925 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
37926 (grub_halt): Likewise.
37927 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
37928 function.
37929 * util/powerpc/ieee1275/misc.c: New file.
37930
37931 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37932
37933 * DISTLIST: New file.
37934 * gendistlist.sh: Likewise.
37935
37936 * Makefile.in (COMMON_DISTFILES): Removed.
37937 (BOOT_DISTFILES): Likewise.
37938 (CONF_DISTFILES): Likewise.
37939 (DISK_DISTFILES): Likewise.
37940 (FS_DISTFILES): Likewise.
37941 (INCLUDE_DISTFILES): Likewise.
37942 (KERN_DISTFILES): Likewise.
37943 (LOADER_DISTFILES): Likewise.
37944 (TERM_DISTFILES): Likewise.
37945 (UTIL_DISTFILES): Likewise.
37946 (DISTFILES): Likewise.
37947 (uninstall): Uninstall files in $(pkgdata_DATA).
37948 (DISTLIST): New target.
37949 (distdir): Use the contents of the file DISTLIST to get a list of
37950 distributed files.
37951
37952 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37953
37954 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
37955 descriptor. This is ported from GRUB Legacy.
37956
37957 * gencmdlist.sh: Added an extra semicolon to make it work with
37958 old sed versions. Reported by Robert Bihlmeyer
37959 <robbe@orcus.priv.at>.
37960
37961 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
37962
37963 Automatic loading of commands is supported.
37964
37965 * normal/main.c (read_command_list): New function.
37966 (grub_normal_execute): Call read_command_list.
37967
37968 * normal/command.c (grub_register_command): Return zero or CMD.
37969 Allocate CMD->NAME from the heap.
37970 Initialize CMD->MODULE_NAME to zero.
37971 Find the same name as well. If the same command is found and it is
37972 a dummy command, overwrite members. If it is not a dummy command,
37973 return zero.
37974 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
37975 (grub_command_find): If a dummy command is found, load a module
37976 and retry to find a command only once.
37977
37978 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
37979 make sure that each command is loaded.
37980
37981 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
37982 macro.
37983 (struct grub_command): Remove const from the member `name'.
37984 Add a new member `module_name'.
37985 (grub_register_command): Return grub_command_t.
37986
37987 * commands/help.c (grub_cmd_help): Call grub_command_find to make
37988 sure that each command is loaded.
37989
37990 * genmk.rb (PModule::rule): Specify a module name without the
37991 suffix ".mod" to gencmdlist.sh.
37992
37993 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37994
37995 * gencmdlist.sh: New file.
37996
37997 * genmk.rb (PModule::rule): Generate a rule for a command list.
37998 Clean command.lst.
37999 Generate command.lst from $(COMMANDFILES).
38000
38001 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
38002 (DATA): Added $(pkgdata_DATA).
38003 (install-local): Install files in $(pkgdata_DATA).
38004
38005 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
38006
38007 * term/i386/pc/vga.c (debug_command): Removed.
38008 (GRUB_MOD_INIT): Do not register the command "debug".
38009
38010 From Hollis Blanchard:
38011 * commands/configfile.c: New file.
38012 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38013 commands/configfile.c.
38014 (pkgdata_MODULES): Added configfile.mod.
38015 (configfile_mod_SOURCES): New variable.
38016 (configfile_mod_CFLAGS): Likewise.
38017 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
38018 commands/configfile.c.
38019 (pkgdata_MODULES): Added configfile.mod.
38020 (configfile_mod_SOURCES): New variable.
38021 (configfile_mod_CFLAGS): Likewise.
38022 * util/grub-emu.c (main): Call grub_configfile_init and
38023 grub_configfile_fini.
38024 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
38025 prototype.
38026 [GRUB_UTIL] (grub_configfile_fini): Likewise.
38027
38028 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38029
38030 * normal/arg.c (grub_arg_show_help): Do not show the bug report
38031 address.
38032
38033 * commands/help.c (grub_cmd_help): Do not print newlines after
38034 the last command in print_command_help.
38035
38036 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
38037
38038 * commands/default.h: New file.
38039 * commands/timeout.h: Likewise.
38040 * normal/context.c: Likewise.
38041
38042 * util/misc.c: Do not include sys/times.h.
38043 Include sys/time.h and grub/machine/time.h.
38044 (grub_get_rtc): Rewritten with gettimeofday.
38045
38046 * util/grub-emu.c (main): Call grub_default_init and
38047 grub_timeout_init before grub_normal_init, and call
38048 grub_timeout_fini and grub_default_fini after grub_main.
38049
38050 * util/console.c (grub_ncurses_checkkey): Return the read
38051 character or -1.
38052
38053 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38054 timeouts.
38055
38056 * normal/main.c (read_config_file): Push MENU. If this fails,
38057 print an error and wait for a user input.
38058 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38059 If a menu is empty or an error occurs, pop MENU.
38060 (grub_normal_execute): Pop and free MENU after grub_menu_run
38061 returns.
38062
38063 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38064
38065 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38066 include time.h.
38067 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38068 without GRUB_UTIL.
38069 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38070 time.h.
38071 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38072 without GRUB_UTIL.
38073
38074 * include/grub/normal.h (struct grub_menu_list): New struct.
38075 (grub_menu_list_t): New type.
38076 (struct grub_context): New struct.
38077 (grub_context_t): New type.
38078 (grub_register_command): Got rid of EXPORT_FUNC.
38079 (grub_unregister_command): Likewise.
38080 (grub_context_get): New prototype.
38081 (grub_context_get_current_menu): Likewise.
38082 (grub_context_push_menu): Likewise.
38083 (grub_context_pop_menu): Likewise.
38084 [GRUB_UTIL] (grub_default_init): Likewise.
38085 [GRUB_UTIL] (grub_default_fini): Likewise.
38086 [GRUB_UTIL] (grub_timeout_init): Likewise.
38087 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38088
38089 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38090 commands/timeout.c and normal/context.c.
38091 (pkgdata_MODULES): Added default.mod and timeout.mod.
38092 (normal_mod_SOURCES): Added normal/context.c.
38093 (default_mod_SOURCES): New variable.
38094 (default_mod_CFLAGS): Likewise.
38095 (timeout_mod_SOURCES): Likewise.
38096 (timeout_mod_CFLAGS): Likewise.
38097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38098 conf/i386-pc.rmk.
38099 (pkgdata_MODULES): Added default.mod and timeout.mod.
38100 (normal_mod_SOURCES): Added normal/context.c.
38101 (default_mod_SOURCES): New variable.
38102 (default_mod_CFLAGS): Likewise.
38103 (timeout_mod_SOURCES): Likewise.
38104 (timeout_mod_CFLAGS): Likewise.
38105
38106 * Makefile.in (all-local): Added $(MKFILES).
38107
38108 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38109
38110 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38111 (grub_emu_SOURCES): Likewise.
38112 (pkgdata_MODULES): Add `sun.mod'.
38113 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38115 `partmap/sun.c'.
38116 (pkgdata_MODULES): Add `sun.mod'.
38117 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38118 * include/grub/partition.h (grub_sun_partition_map_init): New
38119 prototype.
38120 (grub_sun_partition_map_fini): Likewise.
38121 * partmap/sun.c: New file.
38122 * util/grub-emu.c (main): Initialize and de-initialize the sun
38123 partitionmap support.
38124
38125 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38126
38127 This implements an Emacs-like menu entry editor.
38128
38129 * normal/menu_entry.c: New file.
38130
38131 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38132 characters to ASCII.
38133 (saved_char): New variable.
38134 (grub_ncurses_checkkey): Rewritten completely.
38135 (grub_ncurses_getkey): Likewise.
38136 (grub_ncurses_init): Call raw instead of cbreak.
38137
38138 * normal/menu.c (print_entry): Do not put a space.
38139 (init_page): Renamed to ...
38140 (grub_menu_init_page): ... this. All callers changed.
38141 (edit_menu_entry): Removed.
38142 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38143
38144 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38145
38146 * kern/misc.c (grub_vprintf): Call grub_refresh.
38147
38148 * normal/menu.c (DISP_LEFT): Renamed to ...
38149 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38150 * normal/menu.c (DISP_UP): Renamed to ...
38151 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38152 * normal/menu.c (DISP_RIGHT): Renamed to ...
38153 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38154 * normal/menu.c (DISP_DOWN): Renamed to ...
38155 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38156 * normal/menu.c (DISP_HLINE): Renamed to ...
38157 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38158 * normal/menu.c (DISP_VLINE): Renamed to ...
38159 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38160 * normal/menu.c (DISP_UL): Renamed to ...
38161 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38162 * normal/menu.c (DISP_UR): Renamed to ...
38163 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38164 * normal/menu.c (DISP_LL): Renamed to ...
38165 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38166 * normal/menu.c (DISP_LR): Renamed to ...
38167 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38168 * normal/menu.c (TERM_WIDTH): Renamed to ...
38169 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38170 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38171 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38172 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38173 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38174 * normal/menu.c (TERM_MARGIN): Renamed to ...
38175 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38176 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38177 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38178 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38179 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38180 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38181 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38182 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38183 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38184 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38185 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38186 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38187 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38188 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38189 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38190 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38191 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38192 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38193 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38194 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38195 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38196 All callers changed.
38197
38198 * include/grub/normal.h: New prototype.
38199
38200 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38201 normal/menu_entry.c.
38202 (normal_mod_SOURCES): Likewise.
38203 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38204 (normal_mod_SOURCES): Likewise.
38205
38206 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38207
38208 * include/grub/normal.h (grub_halt_init): New prototype.
38209 (grub_halt_fini): Likewise.
38210 (grub_reboot_init): Likewise.
38211 (grub_reboot_fini): Likewise.
38212
38213 * util/grub-emu.c: Include signal.h.
38214 (main_env): New global variable.
38215 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38216 catch C-c.
38217 (grub_machine_fini): New function.
38218 (main): Call grub_halt_init and grub_reboot_init before
38219 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38220 Call setjmp with MAIN_ENV to go back afterwards.
38221 Call grub_machine_fini right before return.
38222
38223 * include/grub/util/misc.h: Include setjmp.h.
38224 (main_env): New prototype.
38225
38226 * include/grub/kernel.h (grub_machine_fini): New prototype.
38227 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38228 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38229
38230 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38231 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38232 * term/i386/pc/console.c (grub_console_fini): Likewise.
38233
38234 * util/i386/pc/misc.c: New file.
38235
38236 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38237 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38238 commands/i386/pc/reboot.c.
38239
38240 2005-02-14 Guillem Jover <guillem@hadrons.org>
38241
38242 * include/grub/dl.h (grub_dl_check_header): New prototype.
38243 (grub_arch_dl_check_header): Change return type to grub_err_t,
38244 remove size parameter and export function. Update all callers.
38245 * kern/dl.c (grub_dl_check_header): New function.
38246 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38247 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38248 are inside the core.
38249 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38250 independent ELF header checks.
38251 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38252 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38253 `grub_dl_check_header' instead of explicit checks. Check for the
38254 ELF type.
38255 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38256 `grub_dl_check_header' instead of explicit checks. Remove arch
38257 specific ELF header checks.
38258
38259 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38260 argument SIZE.
38261
38262 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38263
38264 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38265 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38266
38267 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38268
38269 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
38270 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
38271 (part_map_iterate): Clear `grub_errno' and return 0 if
38272 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
38273 * partmap/amiga.c (amiga_partition_map_iterate): Return
38274 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38275 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38276
38277 2005-02-01 Guillem Jover <guillem@hadrons.org>
38278
38279 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38280 help info.
38281
38282 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38283
38284 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38285 Removed prototype.
38286 (grub_rescue_cmd_linux): New prototype.
38287 (grub_rescue_cmd_initrd): Likewise.
38288 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38289 `bi_rec'.
38290 (grub_linux_release_mem): Release the memory for the initrd.
38291 (grub_load_linux): Renamed from this...
38292 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38293 Changed `entry' not to be static. Loop over memory regions to
38294 find another one when the default fails.
38295 (grub_rescue_cmd_initrd): New function.
38296 (grub_linux_init): Remove function.
38297 (grub_linux_fini): Likewise.
38298 (GRUB_MOD_INIT): Register `initrd'.
38299 (GRUB_MOD_FINI): Unregister `initrd'.
38300 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38301 Function removed.
38302 (grub_linux_normal_fini): Likewise.
38303 (GRUB_MOD_INIT): Register `initrd'.
38304 (GRUB_MOD_FINI): Unregister `initrd'.
38305
38306 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38307
38308 * commands/help.c: New file.
38309 * normal/arg.c (show_help): Renamed to...
38310 (grub_arg_show_help): ... this.
38311 * commands/i386/pc/halt.c: New file.
38312 * commands/i386/pc/reboot.c: Likewise.
38313 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38314 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38315 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38316 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38317 variables.
38318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38319 `commands/help.c'.
38320 (pkgdata_MODULES): Add `help.mod'.
38321 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38322 * grub/i386/pc/init.h (grub_reboot): New prototype.
38323 (grub_halt): Likewise.
38324 * include/grub/normal.h (grub_arg_show_help): New prototype.
38325 (grub_help_init): Likewise.
38326 (grub_help_fini): Likewise.
38327 * util/grub-emu.c (main): Initialize and deinitialize the help
38328 command.
38329
38330 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38331
38332 * normal/command.c (grub_command_init): Fixed the description of
38333 the `set' and `unset' commands.
38334
38335 2005-01-31 Marco Gerards <metgerards@student.han.nl>
38336
38337 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38338 function.
38339 * commands/ieee1275/halt.c: New file.
38340 * commands/ieee1275/reboot.c: Likewise.
38341 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38342 `__attribute__ ((unused))'. Some GCS related fixed.
38343 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38344 (grub_suspend_fini): Likewise.
38345 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38346 and `halt.mod'.
38347 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38348 (halt_mod_CFLAGS): New variables.
38349 * include/grub/powerpc/ieee1275/ieee1275.h
38350 (grub_ieee1275_interpret): New prototype.
38351
38352 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38353
38354 * include/grub/misc.h (memmove): New prototype.
38355 (memcpy): Likewise.
38356
38357 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38358
38359 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38360 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38361
38362 2005-01-22 Marco Gerards <metgerards@student.han.nl>
38363
38364 * kern/misc.c (grub_strndup): Function rewritten.
38365
38366 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38367
38368 * normal/menu.c (TERM_WIDTH): Macro redefined.
38369 (TERM_TOP_BORDER_Y): Likewise.
38370 (draw_border): Replaced while-loop by a for-loop. Make the number
38371 of lines consistent with the number of lines displayed in
38372 print_entries. Added a margin below the rectangle.
38373 (print_entry): Make the entry fit in the rectangle.
38374 (print_entries): Display the scroll arrows next to the right
38375 border.
38376
38377 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38378
38379 * fs/minix.c (grub_minix_find_file): Reserve more space for
38380 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38381 `grub_strncpy' to copy `path' into it.
38382
38383 2005-01-21 Marco Gerards <metgerards@student.han.nl>
38384
38385 Add the loopback device, a device via which files can be accessed
38386 as devices.
38387
38388 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38389 (pkgdata_MODULES): Add loopback.mod.
38390 (loopback_mod_SOURCES): New variable.
38391 (loopback_mod_CFLAGS): Likewise.
38392 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38393 `disk/loopback.c'.
38394 (pkgdata_MODULES): Add loopback.mod.
38395 (loopback_mod_SOURCES): New variable.
38396 (loopback_mod_CFLAGS): Likewise.
38397 * disk/loopback.c: new file.
38398 * include/grub/normal.h (grub_loop_init): New prototype.
38399 (grub_loop_fini): New prototype.
38400 * util/grub-emu.c (main): Initialize and de-initialize loopback
38401 support.
38402 * include/grub/disk.h (grub_disk_dev_id): Add
38403 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38404
38405 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38406
38407 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38408 function.
38409 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38410 (suspend_mod_SOURCES): New variable.
38411 (suspend_mod_CFLAGS): Likewise.
38412 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38413 New prototype.
38414 * commands/ieee1275/suspend.c: New file.
38415
38416 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38417
38418 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
38419 ((unused))' to `__attribute__ ((used))'.
38420 (GRUB_MOD_FINI): Likewise.
38421 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38422 * genmk.rb (PModule): Assign space to common symbols when linking
38423 modules.
38424
38425 2005-01-20 Marco Gerards <metgerards@student.han.nl>
38426
38427 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38428 `unsigned' arguments to `grub_size_t'.
38429 (grub_malloc): Likewise.
38430 (grub_realloc): Likewise.
38431 (grub_memalign): Likewise.
38432 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38433 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38434 * util/misc.c (grub_malloc): Likewise.
38435 (grub_realloc): Likewise.
38436 * kern/mm.c (get_header_from_pointer): Change the casts to
38437 `unsigned' into a cast to `grub_size_t'.
38438
38439 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38440 point to `currnode' when `currnode' is changed.
38441
38442 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38443 Schottelius <nico-linux@schottelius.org>.
38444
38445 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38446
38447 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38448 (note_path): Remove variable.
38449 (GRUB_IEEE1275_NOTE_NAME): New macro.
38450 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38451 (grub_ieee1275_note_hdr): New structure.
38452 (grub_ieee1275_note_desc): Likewise.
38453 (grub_ieee1275_note): Likewise.
38454 (load_note): Remove `dir' argument. All callers updated. Remove
38455 `note_img' and `path'. Do not load a file from `note_path'.
38456 Initialize a struct grub_ieee1275_note and write that to `out'.
38457 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38458
38459 2005-01-05 Marco Gerards <metgerards@student.han.nl>
38460
38461 * util/misc.c (grub_util_read_image): Revert last change. It
38462 called `grub_util_read_at', which seeks from the beginning of the
38463 file.
38464
38465 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38466
38467 * TODO: Add note about endianness in grub-mkimage.
38468 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38469 section.
38470 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38471 (grub_mkimage_SOURCES): New target.
38472 * include/grub/kernel.h (grub_start_addr): Remove variable.
38473 (grub_end_addr): Likewise.
38474 (grub_total_module_size): Likewise.
38475 (grub_kernel_image_size): Likewise.
38476 (GRUB_MODULE_MAGIC): New constant.
38477 (grub_module_info): New structure.
38478 (grub_arch_modules_addr): New prototype.
38479 (grub_get_end_addr): Remove prototype.
38480 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38481 * include/grub/powerpc/ieee1275/kernel.h: New file.
38482 * include/grub/util/misc.h (grub_util_get_fp_size): New
38483 prototype.
38484 (grub_util_read_at): Likewise.
38485 (grub_util_write_image_at): Likewise.
38486 * kern/main.c (grub_get_end_addr): Remove function.
38487 (grub_load_modules): Call grub_arch_modules_addr instead of using
38488 grub_end_addr. Look for a grub_module_info struct in memory. Use
38489 the grub_module_info fields instead of calling grub_get_end_addr
38490 as loop conditions. Move grub_add_unused_region code here.
38491 (grub_add_unused_region): Remove function.
38492 * kern/i386/pc/init.c: Include grub/cache.h.
38493 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38494 one call to add_mem_region.
38495 (grub_arch_modules_addr): New function.
38496 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38497 (grub_total_module_size): Likewise.
38498 Include grub/machine/kernel.h.
38499 (grub_arch_modules_addr): New function.
38500 * util/grub-emu.c (grub_end_addr): Remove variable.
38501 (grub_total_module_size): Likewise.
38502 (grub_arch_modules_addr): New function.
38503 * util/misc.c: Include unistd.h.
38504 (grub_util_get_fp_size): New function.
38505 (grub_util_read_at): Likewise.
38506 (grub_util_write_image_at): Likewise.
38507 (grub_util_read_image): Call grub_util_read_at.
38508 (grub_util_write_image): Call grub_util_write_image_at.
38509 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38510 additional memory in kernel_img for a struct grub_module_info.
38511 Fill in that grub_module_info.
38512 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38513
38514 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38515
38516 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38517 New function.
38518 * include/grub/powerpc/ieee1275/ieee1275.h
38519 (grub_ieee1275_milliseconds): New prototype.
38520 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38521 Change to 1000.
38522 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38523 grub_ieee1275_milliseconds.
38524
38525 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38526
38527 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38528 variable.
38529 (find_options): New function.
38530 (cmain): Call find_options.
38531 * include/grub/powerpc/ieee1275/ieee1275.h
38532 (grub_ieee1275_realmode): New extern variable.
38533 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38534 grub_map if grub_ieee1275_realmode is false.
38535
38536 2004-12-29 Marco Gerards <metgerards@student.han.nl>
38537
38538 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38539 lines are inserted and make it work like readline. Reported by
38540 Vincent Pelletier <subdino2004@yahoo.fr>.
38541
38542 2004-12-28 Marco Gerards <metgerards@student.han.nl>
38543
38544 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38545
38546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38547 `kern/powerpc/cache.S'.
38548
38549 2004-12-27 Marco Gerards <metgerards@student.han.nl>
38550
38551 * genmk.rb: Handle the `Program' class in the main loop. Written
38552 by Johan Rydberg <jrydberg@gnu.org>.
38553 (Program): New class.
38554 (programs): New variable.
38555 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38556 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38557 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38558 (help_arch): Function removed.
38559 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38560 `powerpc/libgcc.h' and `loader.h'.
38561 (pkgdata_PROGRAMS): New variable.
38562 (sbin_UTILITIES): Variable removed.
38563 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38564 (grubof_SOURCES): Variable re-defined so it only includes the
38565 core functionality.
38566 (grubof_CFLAGS): Remove `-DGRUBOF'.
38567 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38568 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38569 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38570 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38571 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38572 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38573 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38574 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38575 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38576 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38577 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38578 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38579 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38580 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38581 (pc_mod_CFLAGS): New variables.
38582 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38583 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38584 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38585 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38586 Moved from here...
38587 * include/grub/i386/pc/init.h (grub_os_area_addr)
38588 (rub_os_area_size): ... to here.
38589 * include/grub/powerpc/ieee1275/ieee1275.h
38590 (grub_ieee1275_entry_fn): Export symbol.
38591 * include/grub/powerpc/ieee1275/init.h: New file.
38592 * include/grub/powerpc/libgcc.h: Likewise.
38593 * include/grub/cache.h: Likewise.
38594 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38595 <hollis@penguinppc.org>.
38596 * kern/dl.c: Include <grub/cache.h>.
38597 (grub_dl_flush_cache): New function.
38598 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38599 for this module.
38600 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38601 (grub_console_init): Removed prototypes.
38602 (grub_machine_init): Don't initialize the modules anymore.
38603 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38604 static.
38605 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38606 Macro undef removed.
38607 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38608 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38609 relocation `R_PPC_REL32'. Return an error when the relocation is
38610 unknown.
38611 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38612 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38613 * util/misc.c (grub_arch_sync_caches): Likewise.
38614
38615 2004-12-19 Marco Gerards <metgerards@student.han.nl>
38616
38617 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38618 `symlist.c', add `grubof_symlist.c'.
38619 (symlist.c): Variable removed.
38620 (grubof_HEADERS): Variable added.
38621 (grubof_symlist.c): New target.
38622 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38623 `kernel_img_HEADERS'.
38624 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38625 * kern/powerpc/dl.c: New file.
38626 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38627 Function removed.
38628 (grub_arch_dl_relocate_symbols): Likewise.
38629 (grub_register_exported_symbols): Likewise.
38630
38631 2004-12-13 Marco Gerards <metgerards@student.han.nl>
38632
38633 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38634 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38635 to fail instead. Reported by Vincent Pelletier
38636 <subdino2004@yahoo.fr>.
38637
38638 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38639 it is not allocated. Reported by Vincent Pelletier
38640 <subdino2004@yahoo.fr>.
38641
38642 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38643 output so the output looks better.
38644
38645 2004-12-04 Marco Gerards <metgerards@student.han.nl>
38646
38647 Modulize the partition map support and add support for the amiga
38648 partition map.
38649
38650 * commands/ls.c: Include <grub/partition.h> instead of
38651 <grub/machine/partition.h>.
38652 * kern/disk.c: Likewise.
38653 * kern/rescue.c: Likewise.
38654 * loader/i386/pc/chainloader.c: Likewise.
38655 * normal/cmdline.c: Likewise.
38656 * kern/powerpc/ieee1275/init.c: Likewise.
38657 (grub_machine_init): Call `grub_pc_partition_map_init',
38658 `grub_amiga_partition_map_init' and
38659 `grub_apple_partition_map_init'.
38660 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38661 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38662 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38663 `partition.h' and `pc_partition.h'.
38664 (grub_setup_SOURCES): Remove
38665 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38666 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38667 (grub_emu_SOURCES): Likewise.
38668 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38669 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38670 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38671 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38672 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38673 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38674 (grubof_SOURCES): Likewise.
38675 * disk/i386/pc/partition.c: File removed.
38676 * disk/powerpc/ieee1275/partition.c: Likewise.
38677 * include/grub/powerpc/ieee1275/partition.h: Likewise.
38678 * include/grub/i386/pc/partition.h: Likewise.
38679 * kern/partition.c: New file.
38680 * partmap/amiga.c: Likewise.
38681 * partmap/apple.c: Likewise.
38682 * partmap/pc.c: Likewise.
38683 * include/grub/partition.h: Likewise..
38684 * include/grub/pc_partition.h: Likewise.
38685 * util/grub-emu.c: Include <grub/partition.h> instead of
38686 <grub/machine/partition.h>.
38687 (main): Call `grub_pc_partition_map_init',
38688 `grub_amiga_partition_map_init' and
38689 `grub_apple_partition_map_init' and deinitialize afterwards.
38690 * util/i386/pc/biosdisk.c: Include `#include
38691 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38692 `<grub/machine/partition.h>'.
38693 * util/i386/pc/grub-setup.c: Likewise.
38694 * util/i386/pc/biosdisk.c: Likewise.
38695 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
38696 partition information in case of a PC partition.
38697 * util/i386/pc/grub-setup.c: Include `#include
38698 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38699 `<grub/machine/partition.h>'.
38700 (setup): Only access the PC specific partition information in case
38701 of a PC partition.
38702
38703 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
38704
38705 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
38706 (grub_longjmp): Likewise.
38707 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
38708 20.
38709 * normal/powerpc/setjmp.S: New file.
38710 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38711 `normal/powerpc/setjmp.S'.
38712 (grubof_CFLAGS): Add `-DGRUBOF'.
38713 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
38714 [GRUB_UTIL && !GRUBOF].
38715
38716 2004-11-16 Marco Gerards <metgerards@student.han.nl>
38717
38718 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
38719 property named `name'. Correctly handle the error returned by
38720 `grub_ieee1275_finddevice' if a device can not be opened.
38721
38722 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
38723
38724 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
38725 `actual' for negativity.
38726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38727 kern/fshelp.c.
38728
38729 2004-11-01 Marco Gerards <metgerards@student.han.nl>
38730
38731 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
38732 (PAGE_OFFSET): New macro.
38733 (CRTC_ADDR_PORT): Likewise.
38734 (CRTC_DATA_PORT): Likewise.
38735 (START_ADDR_HIGH_REGISTER): Likewise.
38736 (START_ADDR_LOW_REGISTER): Likewise.
38737 (GRAPHICS_ADDR_PORT): Likewise.
38738 (GRAPHICS_DATA_PORT): Likewise.
38739 (READ_MAP_REGISTER): Likewise.
38740 (INPUT_STATUS1_REGISTER): Likewise.
38741 (INPUT_STATUS1_VERTR_BIT): Likewise.
38742 (page): New variable.
38743 (wait_vretrace): New function.
38744 (set_read_map): Likewise.
38745 (set_start_address): Likewise.
38746 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
38747 the right page.
38748 (check_vga_mem): Take the page into account.
38749 (write_char): Likewise.
38750 (write_cursor): Likewise.
38751 (scroll_up): Likewise. Copy the page to the page that is not
38752 shown and switch between both pages.
38753 (grub_vga_putchar): Fix off by one error.
38754 (grub_vga_cls): Wait for the vertical retrace. Take the page into
38755 account.
38756
38757 2004-11-01 Marco Gerards <metgerards@student.han.nl>
38758
38759 Add support for iso9660 (including rockridge).
38760
38761 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38762 (iso9660_mod_SOURCES): New variable.
38763 (iso9660_mod_CFLAGS): Likewise.
38764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38765 * include/grub/fs.h (grub_iso9660_init): New prototype.
38766 * util/grub-emu.c (main): Call `grub_iso9660_init'.
38767 * fs/iso9660.c: New file.
38768
38769 * include/grub/misc.h (grub_strncat): New prototype.
38770 * kern/misc.c (grub_strncat): New function.
38771
38772 * fs/hfs.c (grub_hfs_mount): Translate the error
38773 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
38774 * fs/jfs.c (grub_jfs_mount): Likewise.
38775 * fs/ufs.c (grub_ufs_mount): Likewise.
38776
38777 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
38778
38779 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
38780 which initialized BAT registers.
38781 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
38782 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38783 Move from here...
38784 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
38785 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38786 ... to here.
38787 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
38788 (grub_mapclaim): Likewise.
38789 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
38790 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
38791 hand.
38792
38793 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
38794
38795 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
38796 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
38797 -ffreestanding and -msoft-float.
38798
38799 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
38800
38801 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
38802 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
38803 set in grub_ieee1275_flags.
38804
38805 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
38806
38807 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
38808 prototype.
38809 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
38810 grub_console_init first.
38811 Change the memory range used for grub_ieee1275_claim and
38812 grub_mm_init_region.
38813 Print an error message if the claim fails.
38814 Include <grub/misc.h>.
38815
38816 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
38817
38818 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
38819 Call grub_children_iterate for device nodes of type `scsi',
38820 `ide', or `ata'.
38821 (grub_ofdisk_open): Remove manual device alias resolution.
38822 Fix memory leak when device cannot be opened.
38823 * include/grub/powerpc/ieee1275/ieee1275.h
38824 (grub_children_iterate): New prototype.
38825 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
38826 New function.
38827 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38828 Return -1 if args.size was -1.
38829
38830 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38831
38832 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
38833 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
38834 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
38835 Open Firmware's memory for it; claim memory from _start to _end.
38836 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
38837 (_end): New extern.
38838 (_start): Zero BSS from __bss_start to _end.
38839 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38840 New extern.
38841 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
38842
38843 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38844
38845 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
38846 -1 if args.base was -1.
38847
38848 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
38849
38850 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
38851 escape sequence instead of a literal ^L. Also call
38852 grub_ofconsole_gotoxy.
38853
38854 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
38855
38856 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
38857 void * arguments to grub_addr_t. All callers updated. Also make
38858 the `result' argument optional.
38859 (grub_ieee1275_release): change void * arguments to grub_addr_t.
38860 All callers updated.
38861
38862 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
38863
38864 * commands/ls.c (grub_ls_list_files): Use the string following the
38865 initial ')', if present, as the filesystem path.
38866 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
38867
38868 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
38869
38870 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
38871
38872 Make the source code of the menu interface more readable.
38873
38874 * normal/menu.c: Include grub/mm.h.
38875 (TERM_WIDTH): New macro.
38876 (TERM_HEIGHT): Likewise.
38877 (TERM_INFO_HEIGHT): Likewise.
38878 (TERM_MARGIN): Likewise.
38879 (TERM_SCROLL_WIDTH): Likewise.
38880 (TERM_TOP_BORDER_Y): Likewise.
38881 (TERM_LEFT_BORDER_X): Likewise.
38882 (TERM_BORDER_WIDTH): Likewise.
38883 (TERM_MESSAGE_HEIGHT): Likewise.
38884 (TERM_BORDER_HEIGHT): Likewise.
38885 (TERM_NUM_ENTRIES): Likewise.
38886 (TERM_FIRST_ENTRY_Y): Likewise.
38887 (TERM_ENTRY_WIDTH): Likewise.
38888 (TERM_CURSOR_X): Likewise.
38889 (draw_border): Use macros instead of magic numbers.
38890 (print_entry): Likewise.
38891 (print_entries): Likewise.
38892 (run_menu): Likewise. Also, handle the key 'e'.
38893 (run_menu_entry): Ignore empty command lines.
38894 (print_message): Added a new argument EDIT. If EDIT is true,
38895 print a different message.
38896 (init_page): Likewise.
38897 (edit_menu_entry): New function. Not implemented yet.
38898
38899 2004-09-17 Marco Gerards <metgerards@student.han.nl>
38900
38901 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
38902 can be loaded from normal mode.
38903
38904 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
38905 `multiboot.mod'.
38906 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
38907 (multiboot_mod_CFLAGS): New variables.
38908 * loader/i386/pc/linux_normal.c: New file.
38909 * loader/i386/pc/multiboot_normal.c: Likewise.
38910
38911 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
38912 attribute `unused'.
38913
38914 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
38915 `fdiro' to read the mode information from instead of `diro'.
38916
38917 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
38918 looking up a symlink.
38919
38920 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
38921 macro.
38922 * normal/command.c (grub_command_execute): Don't parse the
38923 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
38924 flags of the command.
38925
38926 * normal/menu.c (grub_menu_run): Fix typo.
38927
38928 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
38929
38930 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
38931
38932 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
38933 `y + 1' instead of `y - 1'.
38934
38935 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
38936
38937 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
38938
38939 From Hollis Blanchard <hollis@penguinppc.org>:
38940 * kern/misc.c (memmove): New alias for grub_memmove.
38941 (memcmp): New alias for grub_memcmp.
38942 (memset): New alias for grub_memset.
38943 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38944 Change "int handle" to "grub_ieee1275_phandle_t handle".
38945 * include/grub/powerpc/ieee1275/ieee1275.h
38946 (grub_ieee1275_get_property): Likewise.
38947
38948 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
38949
38950 Added normal mode command `chainloader' as module chain.mod, which
38951 depends on normal.mod and _chain.mod.
38952
38953 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
38954 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
38955 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
38956 Deleted prototype.
38957 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
38958 but arguments parsing moved to ...
38959 (grub_chainloader_cmd): ... here. New function.
38960 * include/grub/i386/pc/chainloader.h: New file.
38961 * loader/i386/pc/chainloader_normal.c: Likewise.
38962
38963 2004-09-11 Marco Gerards <metgerards@student.han.nl>
38964
38965 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
38966 (grub_mkimage_LDFLAGS): Likewise.
38967 (grub_emu_SOURCES): Likewise.
38968 (kernel_img_HEADERS): Added fshelp.h.
38969 * fs/ext2.c: Include <grub/fshelp.h>.
38970 (FILETYPE_REG): New macro.
38971 (FILETYPE_INO_REG): Likewise.
38972 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
38973 Changed all users.
38974 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
38975 all users.
38976 (grub_fshelp_node): New struct.
38977 (grub_ext2_data): Added member `diropen'. Changed member `inode'
38978 to a pointer.
38979 (grub_ext2_get_file_block): Removed function.
38980 (grub_ext2_read_block): New function.
38981 (grub_ext2_read_file): Replaced parameter `data' by `node'.
38982 This function was written.
38983 (grub_ext2_mount): Read the root inode. Create a diropen struct.
38984 (grub_ext2_find_file): Removed function.
38985 (grub_ext2_read_symlink): New function.
38986 (grub_ext2_iterate_dir): Likewise.
38987 (grub_ext2_open): Rewritten.
38988 (grub_ext2_dir): Rewritten.
38989 * include/grub/fshelp.h: New file.
38990 * fs/fshelp.c: Likewise.
38991
38992 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
38993
38994 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
38995 (print_message): Add a missing newline.
38996 (run_menu): Added timeout support.
38997 (run_menu_entry): New local function.
38998 (grub_menu_run): Added support for booting.
38999
39000 * kern/loader.c (grub_loader_is_loaded): New function.
39001
39002 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
39003 (grub_get_rtc): Exported.
39004
39005 * include/grub/i386/pc/time.h: Include grub/symbol.h.
39006 (grub_get_rtc): Exported.
39007
39008 * include/grub/normal.h (struct grub_command_list): Remove
39009 constant from the member `command'.
39010
39011 * include/grub/loader.h (grub_loader_is_loaded): Declared.
39012
39013 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
39014
39015 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
39016
39017 2004-08-28 Marco Gerards <metgerards@student.han.nl>
39018
39019 Add support for the JFS filesystem.
39020
39021 * fs/jfs.c: New file.
39022 * include/grub/fs.h (grub_jfs_init): New prototype.
39023 (grub_jfs_fini): New prototype.
39024 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
39025 (grub_emu_SOURCES): Likewise.
39026 (pkgdata_MODULES): Add jfs.mod.
39027 (jfs_mod_SOURCES): New variable.
39028 (jfs_mod_CFLAGS): Likewise.
39029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
39030 (grubof_SOURCES): Likewise.
39031 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
39032
39033 * fs/fat.c (grub_fat_find_dir): Convert the filename little
39034 endian to the host endian.
39035 (grub_fat_utf16_to_utf8): Move function from there...
39036 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
39037 the endianness of the source string anymore.
39038 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
39039
39040 2004-08-24 Marco Gerards <metgerards@student.han.nl>
39041
39042 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
39043 (grub_boot_fini) [GRUB_UTIL]: Likewise.
39044 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
39045 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
39046
39047 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
39048 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39049 for `node_found' and `it_dir'.
39050 (grub_hfs_dir): Add prototype for `dir_hook'.
39051
39052 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39053 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39054 and `indir32' to silence a gcc warning.
39055
39056 * include/grub/fs.h (grub_hfs_init): New prototype.
39057 (grub_hfs_fini): Likewise.
39058
39059
39060 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39061
39062 Each disk device has its own id now. This is useful to make use
39063 of multiple disk devices.
39064
39065 * include/grub/disk.h (grub_disk_dev_id): New enum.
39066 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39067 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39068
39069 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39070 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39071
39072 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39073 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39074
39075 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39076 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39077
39078 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39079 "id" which is used by the cache manager.
39080
39081 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39082 of just "GRUB".
39083
39084 2004-08-18 Marco Gerards <metgerards@student.han.nl>
39085
39086 * fs/hfs.c: New file.
39087 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39088 (grub_emu_SOURCES): Likewise.
39089 (pkgdata_MODULES): Add hfs.mod.
39090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39091 (grubof_SOURCES): Likewise.
39092 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39093
39094 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39095 * kern/misc.c (grub_strncasecmp): Add function.
39096
39097 2004-08-14 Marco Gerards <metgerards@student.han.nl>
39098
39099 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39100 with parentheses.
39101
39102 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39103 (grub_ext2_dir): In case the directory entry type is unknown, read
39104 it from the inode.
39105
39106 2004-08-02 Peter Bruin <pjbruin@dds.nl>
39107
39108 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39109 grub_load_linux instead of grub_rescue_cmd_linux as second
39110 argument of grub_rescue_register_command.
39111
39112 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39113
39114 2004-07-27 Marco Gerards <metgerards@student.han.nl>
39115
39116 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39117 function.
39118 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39119 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39120 `loader/powerpc/ieee1275/linux.c',
39121 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39122 * include/grub/powerpc/ieee1275/ieee1275.h
39123 (grub_ieee1275_release): New prototype.
39124 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39125 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39126 normal, boot, linux and linux_normal.
39127 * loader/powerpc/ieee1275/linux.c: New file.
39128 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39129
39130 2004-07-12 Marco Gerards <metgerards@student.han.nl>
39131
39132 * normal/arg.c (grub_arg_parse): Correct error handling after
39133 reallocating the argumentlist (check if `argl' is not null instead
39134 of checking if `args' is not null).
39135 * kern/mm.c (grub_realloc): Return the same pointer when using the
39136 same region, instead of returning the header address.
39137
39138 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39139
39140 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39141 one block instead of two when looking for the initial partition.
39142 (grub_partition_probe): Initialize the local variable `p' with 0.
39143 Use base 10 for the grub_strtoul call.
39144 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39145 need for one local variable.
39146 (grub_strtoul): Don't add the new value to `num', instead of that
39147 just assign it.
39148
39149 2004-07-11 Marco Gerards <metgerards@student.han.nl>
39150
39151 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39152 (pxeboot_img_SOURCES): New variable.
39153 (pxeboot_img_ASFLAGS): Likewise.
39154 (pxeboot_img_LDFLAGS): Likewise.
39155 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39156 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39157 <lode_leroy@hotmail.com>.
39158
39159 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39160
39161 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39162 there was no input.
39163
39164 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39165
39166 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39167 the history buffer logic.
39168
39169 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39170
39171 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39172 (FILETYPE_INO_SYMLINK): New macros.
39173 (grub_ext2_find_file): Check if the node is a directory using the
39174 inode stat information instead of using the filetype in the
39175 dirent. Exclude the first character of an absolute symlink.
39176 (grub_ext2_dir): Mask out the filetype part of the mode member of
39177 the inode.
39178
39179 2004-05-24 Marco Gerards <metgerards@student.han.nl>
39180
39181 Add support for UFS version 1 and 2. Add support for the minix
39182 filesystem version 1 and 2, both the variants with 14 and 30 long
39183 filenames.
39184
39185 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39186 fs/minix.c.
39187 (grub_emu_SOURCES): Likewise.
39188 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39189 (ufs_mod_SOURCES): New variable.
39190 (ufs_mod_CFLAGS): Likewise.
39191 (minix_mod_SOURCES): Likewise.
39192 (minix_mod_CFLAGS): Likewise.
39193 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39194 fs/minix.c.
39195 (grubof_SOURCES): Likewise.
39196 * fs/ufs.c: New file.
39197 * fs/minix.c: New file.
39198 * include/grub/fs.h (grub_ufs_init): New prototype.
39199 (grub_ufs_fini): Likewise.
39200 (grub_minix_init): Likewise.
39201 (grub_minix_fini): Likewise.
39202 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39203 minix fs.
39204
39205 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39206
39207 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39208 commands/ls.c, commands/terminal.c, commands/boot.c,
39209 commands/cmp.c and commands/cat.c.
39210 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39211
39212 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39213 "env.h"
39214
39215 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39216
39217 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39218 and grub_, respectively. Because the conversion is trivial and
39219 mechanical, I omit the details here. Please refer to the CVS
39220 if you need more information.
39221
39222 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39223
39224 * include/pupa: Renamed to ...
39225 * include/grub: ... this.
39226 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39227 * util/i386/pc/grub-mkimage.c: ... this.
39228 * util/i386/pc/pupa-setup.c: Renamed to ...
39229 * util/i386/pc/grub-setup.c: ... this.
39230 * util/pupa-emu.c: Renamed to ...
39231 * util/grub-emu.c: ... this.
39232
39233 2004-03-29 Marco Gerards <metgerards@student.han.nl>
39234
39235 Add support for the newworld apple macintosh (PPC). This has been
39236 tested on the powerbook 2000 only. It only adds support for
39237 generic ieee1275 functions, console and disk support. This should
39238 be easy to port to other architectures with support for Open
39239 Firmware.
39240
39241 * configure.ac: Accept the powerpc as host_cpu. In the case of
39242 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39243 specific tests are only executed while building for the i386.
39244 Inverse test for crosscompile.
39245 * genmk.rb (Utility): Allow assembler files.
39246 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39247 * conf/powerpc-ieee1275.rmk: New file.
39248 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39249 * disk/powerpc/ieee1275/partition.c: Likewise.
39250 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39251 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39252 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39253 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39254 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39255 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39256 * include/pupa/powerpc/ieee1275/loader.h
39257 * include/pupa/powerpc/setjmp.h: Likewise.
39258 * include/pupa/powerpc/types.h: Likewise.
39259 * kern/powerpc/ieee1275/init.c: Likewise.
39260 * kern/powerpc/ieee1275/openfw.c: Likewise.
39261 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39262
39263 These files were written by Johan Rydberg
39264 (jrydberg@night.trouble.net) and I only modified them slightly.
39265
39266 * boot/powerpc/ieee1275/cmain.c: New file.
39267 * boot/powerpc/ieee1275/crt0.S: Likewise.
39268 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39269 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39270
39271 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39272
39273 * Makefile.in: Update copyright.
39274 * genmodsrc.sh: Likewise.
39275 * gensymlist.sh: Likewise.
39276 * term/i386/pc/vga.c: Indent correctly.
39277
39278 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39279 bugreporting address.
39280 * util/i386/pc/pupa-setup.c (usage): Likewise,
39281 (main): Call pupa_ext2_init and pupa_ext2_fini.
39282
39283 * fs/fat.c (log2): Renamed to ...
39284 (fat_log2): ... this.
39285 All callers changed.
39286 * kern/misc.c (memcpy): Alias to pupa_memmove.
39287 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39288 lvalue cast.
39289 * util/console.c (pupa_ncurses_fini): Return 0.
39290
39291 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39292 Move fail label here.
39293 [__GNU__]: Don't warn when using stat.
39294 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39295 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39296 long int. Use strtol instead of strtoul.
39297
39298 2004-03-14 Marco Gerards <metgerards@student.han.nl>
39299
39300 * commands/boot.c: New file.
39301 * commands/cat.c: Likewise.
39302 * commands/cmp.c: Likewise.
39303 * commands/ls.c: Likewise.
39304 * commands/terminal.c: Likewise.
39305 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39306 (pupa_register_command): Changed interface to match the new
39307 argument parser.
39308 (pupa_command_execute): Changed (almost rewritten) so it uses
39309 pupa_split_command. Added support for setting variables using the
39310 syntax `foo=bar'.
39311 (rescue_command): Changed to work with the new argument parser.
39312 (terminal_command): Moved from here to commands/terminal.c.
39313 (set_command): New function.
39314 (unset_command): New function.
39315 (insmod_command): New function.
39316 (rmmod_command): New function.
39317 (lsmod_command): New function.
39318 (pupa_command_init): Don't initialize the command terminal
39319 anymore. Initialize the commands set, unset, insmod, rmmod and
39320 lsmod.
39321 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39322 (kernel_img_HEADERS): Add arg.h and env.h.
39323 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39324 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39325 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39326 normal/arg.c.
39327 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39328 terminal.mod.
39329 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39330 (boot_mod_SOURCES): New variable.
39331 (terminal_mod_SOURCES): Likewise.
39332 (ls_mod_SOURCES): Likewise.
39333 (cmp_mod_SOURCES): Likewise.
39334 (cat_mod_SOURCES): Likewise.
39335
39336 * normal/arg.c: New file.
39337 * kern/env.c: Likewise.
39338 * include/pupa/arg.h: Likewise.
39339 * include/pupa/env.h: Likewise.
39340 * font/manager.c (font_command): Changed to match argument parsing
39341 interface changes.
39342 (PUPA_MOD_INIT): Likewise.
39343 * hello/hello.c (pupa_cmd_hello): Likewise.
39344 (PUPA_MOD_INIT): Likewise.
39345 * include/pupa/disk.h: Include <pupa/device.h>.
39346 (pupa_print_partinfo): New prototype.
39347 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39348 (pupa_dl_get_prefix): Likewise.
39349 * include/pupa/misc.h: Include <pupa/err.h>.
39350 (pupa_isgraph): New prototype.
39351 (pupa_isdigit): Likewise.
39352 (pupa_split_cmdline): Likewise.
39353 * include/pupa/normal.h: Include <pupa/arg.h>.
39354 (pupa_command): Changed the prototype of the member `func' to
39355 match the argument parsing interface. Added member `options'.
39356 (pupa_register_command): Updated to match function.
39357 (pupa_arg_parse): New prototype.
39358 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39359 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39360 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39361 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39362 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39363 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39364 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39365 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39366 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39367 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39368 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39369 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39370 * kern/disk.c: Include <pupa/file.h>.
39371 (pupa_print_partinfo): New function.
39372 * kern/dl.c: Include <pupa/env.h>.
39373 (pupa_dl_dir): Variable removed.
39374 (pupa_dl_load): Use the environment variable `prefix' instead of
39375 the variable pupa_dl_dir.
39376 (pupa_dl_set_prefix): Function removed.
39377 (pupa_dl_get_prefix): Likewise.
39378 * kern/i386/pc/init.c: Include <pupa/env.h>.
39379 (pupa_machine_init): Use the environment variable `prefix' instead of
39380 using pupa_dl_set_prefix to set the prefix.
39381 * kern/main.c: Include <pupa/env.h>.
39382 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39383 using pupa_dl_get_prefix to get the prefix.
39384 * kern/misc.c: Include <pupa/env.h>.
39385 (pupa_isdigit): New function.
39386 (pupa_isgraph): Likewise.
39387 (pupa_ftoa): Likewise.
39388 (pupa_vsprintf): Added support for printing values of the type
39389 `double'. Make it possible to format variable output when using
39390 formatting like `%1.2%f'.
39391 (pupa_split_cmdline): New function.
39392 * kern/rescue.c: Include <pupa/env.h>.
39393 (next_word): Removed function.
39394 (pupa_rescue_cmd_prefix): Likewise.
39395 (pupa_rescue_cmd_set): New function.
39396 (pupa_rescue_cmd_unset): New function.
39397 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39398 split the command line instead of splitting it here. Added
39399 support for setting variables using the syntax `foo=bar'. Don't
39400 initialize the prefix command anymore. Initialized the set and
39401 unset commands.
39402 * normal/cmdline.c: Include <pupa/env.h>.
39403 (pupa_tab_complete): Added prototypes for print_simple_completion,
39404 print_partition_completion, add_completion, iterate_commands,
39405 iterate_dev, iterate_part and iterate_dir. Moved code to print
39406 partition information from here to kern/disk.c.
39407 (pupa_cmdline_run): Don't check if the function exists anymore.
39408 * normal/main.c: Include <pupa/env.h>.
39409 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39410 instead of using pupa_dl_get_prefix to get the prefix.
39411 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39412 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39413 warning.
39414 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39415 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39416 ((unused))' to silence a gcc warning.
39417 (pupa_vga_setcolor): Likewise.
39418 (debug_command): Changed to match argument parsing
39419 interface changes.
39420 * util/pupa-emu.c: Include <pupa/env.h>.
39421 (options): Added 0's for unused fields to silence a gcc warning.
39422 (argp): Likewise.
39423 (main): Use the environment variable `prefix' instead of using
39424 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39425 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39426 and terminal.
39427
39428 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39429 * util/misc.c: Include <malloc.h>.
39430 (pupa_malloc): Rewritten so errors are correctly reported.
39431 (pupa_realloc): Likewise.
39432 (pupa_memalign): Likewise.
39433 (pupa_mm_init_region): Declare unused variables with
39434 `__attribute__ ((unused))' to silence a gcc warning.
39435 * normal/i386/setjmp.S: Remove tab at the end of the file to
39436 silence a gcc warning.
39437 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39438 variables with `__attribute__ ((unused))' to silence a gcc
39439 warning.
39440 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39441 local variable i unsigned to silence a gcc warning.
39442
39443 * kern/term.c: Include <pupa/misc.h>.
39444 (pupa_more_lines): New variable.
39445 (pupa_more): Likewise.
39446 (pupa_putcode): When the pager is active pause at the end of every
39447 screen.
39448 (pupa_set_more): New function.
39449 * include/pupa/term.h (pupa_set_more): New prototype.
39450
39451
39452 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39453
39454 Now this project is GRUB 2 rather than PUPA. The location of
39455 the CVS repository was moved to GRUB's.
39456
39457 * configure.ac: Use bug-grub as the reporting address.
39458 Use GRUB instead of PUPA.
39459 Change the version number to 1.90.
39460
39461 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39462
39463 * genkernsyms.sh: Updated copyright information.
39464 * genmk.rb: Likewise.
39465 * genmodsrc.sh: Likewise.
39466 * gensymlist.sh: Likewise.
39467 * boot/i386/pc/boot.S: Likewise.
39468 * boot/i386/pc/diskboot.S: Likewise.
39469 * disk/i386/pc/biosdisk.c: Likewise.
39470 * disk/i386/pc/partition.c: Likewise.
39471 * font/manager.c: Likewise.
39472 * fs/ext2.c: Likewise.
39473 * fs/fat.c: Likewise.
39474 * include/pupa/boot.h: Likewise.
39475 * include/pupa/device.h: Likewise.
39476 * include/pupa/disk.h: Likewise.
39477 * include/pupa/dl.h: Likewise.
39478 * include/pupa/elf.h: Likewise.
39479 * include/pupa/err.h: Likewise.
39480 * include/pupa/file.h: Likewise.
39481 * include/pupa/font.h: Likewise.
39482 * include/pupa/fs.h: Likewise.
39483 * include/pupa/kernel.h: Likewise.
39484 * include/pupa/loader.h: Likewise.
39485 * include/pupa/misc.h: Likewise.
39486 * include/pupa/mm.h: Likewise.
39487 * include/pupa/net.h: Likewise.
39488 * include/pupa/normal.h: Likewise.
39489 * include/pupa/rescue.h: Likewise.
39490 * include/pupa/setjmp.h: Likewise.
39491 * include/pupa/symbol.h: Likewise.
39492 * include/pupa/term.h: Likewise.
39493 * include/pupa/types.h: Likewise.
39494 * include/pupa/i386/setjmp.h: Likewise.
39495 * include/pupa/i386/types.h: Likewise.
39496 * include/pupa/i386/pc/biosdisk.h: Likewise.
39497 * include/pupa/i386/pc/boot.h: Likewise.
39498 * include/pupa/i386/pc/console.h: Likewise.
39499 * include/pupa/i386/pc/init.h: Likewise.
39500 * include/pupa/i386/pc/kernel.h: Likewise.
39501 * include/pupa/i386/pc/linux.h: Likewise.
39502 * include/pupa/i386/pc/loader.h: Likewise.
39503 * include/pupa/i386/pc/memory.h: Likewise.
39504 * include/pupa/i386/pc/multiboot.h: Likewise.
39505 * include/pupa/i386/pc/partition.h: Likewise.
39506 * include/pupa/i386/pc/time.h: Likewise.
39507 * include/pupa/i386/pc/vga.h: Likewise.
39508 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39509 * include/pupa/util/getroot.h: Likewise.
39510 * include/pupa/util/misc.h: Likewise.
39511 * include/pupa/util/resolve.h: Likewise.
39512 * kern/device.c: Likewise.
39513 * kern/disk.c: Likewise.
39514 * kern/dl.c: Likewise.
39515 * kern/err.c: Likewise.
39516 * kern/file.c: Likewise.
39517 * kern/fs.c: Likewise.
39518 * kern/loader.c: Likewise.
39519 * kern/main.c: Likewise.
39520 * kern/misc.c: Likewise.
39521 * kern/mm.c: Likewise.
39522 * kern/rescue.c: Likewise.
39523 * kern/term.c: Likewise.
39524 * kern/i386/dl.c: Likewise.
39525 * kern/i386/pc/init.c: Likewise.
39526 * kern/i386/pc/lzo1x.S: Likewise.
39527 * kern/i386/pc/startup.S: Likewise.
39528 * loader/i386/pc/chainloader.c: Likewise.
39529 * loader/i386/pc/linux.c: Likewise.
39530 * loader/i386/pc/multiboot.c: Likewise.
39531 * normal/cmdline.c: Likewise.
39532 * normal/command.c: Likewise.
39533 * normal/main.c: Likewise.
39534 * normal/menu.c: Likewise.
39535 * normal/i386/setjmp.S: Likewise.
39536 * term/i386/pc/console.c: Likewise.
39537 * term/i386/pc/vga.c: Likewise.
39538 * util/console.c: Likewise.
39539 * util/genmoddep.c: Likewise.
39540 * util/misc.c: Likewise.
39541 * util/pupa-emu.c: Likewise.
39542 * util/resolve.c: Likewise.
39543 * util/unifont2pff.rb: Likewise.
39544 * util/i386/pc/biosdisk.c: Likewise.
39545 * util/i386/pc/getroot.c: Likewise.
39546 * util/i386/pc/pupa-mkimage.c: Likewise.
39547 * util/i386/pc/pupa-setup.c: Likewise.
39548
39549 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39550
39551 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39552 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39553 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39554 reading and reset it after reading.
39555 (pupa_ext2_close): Return PUPA_ERR_NONE.
39556
39557 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39558 Correct value.
39559 (struct linux_kernel_header): Add kernel_version and
39560 initrd_addr_max.
39561 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39562 pupa_file_read succeeds.
39563 (pupa_rescue_cmd_initrd): Implement.
39564
39565 2003-12-03 Marco Gerards <metgerards@student.han.nl>
39566
39567 * fs/ext2.c (pupa_ext2_label): New function.
39568 (pupa_ext2_fs): Added label.
39569 * fs/fat.c (pupa_fat_label): New function.
39570 (pupa_fat_fs): Added label.
39571 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39572
39573 * kern/misc.c (pupa_strndup): New function.
39574 * include/pupa/misc.h (pupa_strndup): New prototype.
39575
39576 * include/pupa/normal.h: Include <pupa/err.h>.
39577 (pupa_set_history): New prototype.
39578 (pupa_iterate_commands): New prototype.
39579 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39580 <pupa/disk.h>, <pupa/file.h>.
39581 (hist_size): New variable.
39582 (hist_lines): Likewise.
39583 (hist_end): Likewise.
39584 (hist_used): Likewise.
39585 (pupa_set_history): New function.
39586 (pupa_history_get): Likewise.
39587 (pupa_history_add): Likewise.
39588 (pupa_history_replace): Likewise.
39589 (pupa_tab_complete): Likewise.
39590 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39591 completion shows partitionnames while completing partitions, this
39592 feature was suggested by Jeff Bailey.
39593 * normal/command.c (pupa_iterate_commands): New function.
39594 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39595 (pupa_normal_init): Initialize history buffer.
39596 (PUPA_MOD_INIT): Likewise.
39597 (pupa_normal_fini): Free the history buffer.
39598 (PUPA_MOD_FINI): Likewise.
39599
39600 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39601 key.
39602
39603 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39604 * configure.ac [i386]: Check for regparam bug.
39605 (NESTED_FUNC_ATTR) [! i386]: Defined.
39606
39607 2003-11-17 Marco Gerards <metgerards@student.han.nl>
39608
39609 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39610 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39611 (pupa_emu_SOURCES): New variable.
39612 (pupa_emu_LDFLAGS): Likewise.
39613 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39614 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39615 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39616 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39617 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39618 (pupa_jmp_buf): New typedef.
39619 (pupa_setjmp) [PUPA_UTIL]: New macro.
39620 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39621 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39622 (pupa_refresh): New prototype.
39623 * include/pupa/util/getroot.h: New file.
39624 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39625 it.
39626 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39627 (pupa_rescue_cmd_cat): Likewise.
39628 (pupa_rescue_cmd_ls): Likewise.
39629 (pupa_rescue_cmd_testload): Likewise.
39630 (pupa_rescue_cmd_lsmod): Likewise.
39631 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39632 * normal/menu.c (run_menu): Likewise.
39633 * kern/term.c (pupa_cls): Likewise.
39634 (pupa_refresh): New function.
39635 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39636 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39637 * util/console.c: New file.
39638
39639 * util/i386/pc/getroot.c: New file.
39640 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39641 (pupa_putchar): New function.
39642 (pupa_refresh): Likewise.
39643 (xgetcwd): Function moved to ...
39644 (strip_extra_slashes): Likewise.
39645 (get_prefix): Likewise.
39646 * util/i386/pc/getroot.c: ... here.
39647 (find_root_device): Function moved and renamed to...
39648 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39649 Changed all callers.
39650 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39651 and renamed to...
39652 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39653 Changed all callers.
39654 * util/misc.c (pupa_memalign): New function.
39655 (pupa_mm_init_region): Likewise.
39656 (pupa_register_exported_symbols): Likewise.
39657 (pupa_putchar): Function removed.
39658 * util/pupa-emu.c: New file.
39659
39660 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39661
39662 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39663 (_multiboot_mod_SOURCES): New variable.
39664 (_multiboot_mod_CFLAGS): Likewise.
39665 * loader/i386/pc/multiboot.c: New file.
39666 * include/pupa/i386/pc/multiboot.h: Likewise.
39667 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39668 (pupa_multiboot_real_boot): New function.
39669 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39670 (pupa_multiboot_real_boot): New prototype.
39671 (pupa_rescue_cmd_multiboot): Likewise
39672 (pupa_rescue_cmd_module): Likewise.
39673
39674 * kern/loader.c (pupa_loader_set): Continue when
39675 pupa_loader_unload_func() fails.
39676 (pupa_loader_unset): New function.
39677 * include/pupa/loader.h (pupa_loader_unset): New prototype.
39678
39679 * kern/misc.c (pupa_stpcpy): New function.
39680 * include/pupa/misc.h (pupa_stpcpy): New prototype.
39681
39682 2003-11-12 Marco Gerards <metgerards@student.han.nl>
39683
39684 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
39685 for available extensions.
39686
39687 * include/pupa/i386/pc/time.h: New file.
39688 * kern/disk.c: Include <pupa/machine/time.h>.
39689 (PUPA_CACHE_TIMEOUT): New macro.
39690 (pupa_last_time): New variable.
39691 (pupa_disk_open): Flush the cache when there was a timeout.
39692 (pupa_disk_close): Reset the timer.
39693 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
39694 pupa_currticks.
39695 * util/misc.c: Include <sys/times.h>
39696 (pupa_get_rtc): New function.
39697
39698 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39699
39700 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
39701 as blocks.
39702 (pupa_ext2_get_file_block): Use blocks member.
39703
39704 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
39705 first block. Return -1 instead of pupa_errno on error.
39706
39707 2003-10-27 Marco Gerards <metgerards@student.han.nl>
39708
39709 * README: In the pupa-mkimage example use _chain instead of chain
39710 and ext2 instead of fat.
39711 * TODO: Replace ext2fs with jfs as an example. Add an item for
39712 adding journal playback for ext2fs.
39713 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
39714 (pkgdata_MODULES): Added ext2.mod.
39715 (ext2_mod_SOURCES): New variable.
39716 (ext2_mod_CFLAGS): Likewise.
39717 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
39718 * include/pupa/misc.h (pupa_strncpy): New prototype.
39719 (pupa_strcat): Likewise.
39720 (pupa_strncmp): Likewise.
39721 * kern/misc.c (pupa_strcat): Enable function.
39722 (pupa_strncpy): New function.
39723 (pupa_strncmp): Likewise.
39724 * fs/ext2.c: New file.
39725
39726 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
39727 when the read failed before retrying.
39728 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
39729 (_FILE_OFFSET_BITS): Likewise.
39730 * configure.ac: Added AC_SYS_LARGEFILE.
39731
39732 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39733
39734 * genmk.rb (PModule#rule): Make sure to get only symbol names
39735 from the output of nm.
39736 Reported by Robert Millan <rmh.grub@aybabtu.com>.
39737
39738 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39739
39740 I forgot to check in these changes for a long time. This adds
39741 incomplete support for VGA console, and this is still very
39742 buggy. Also, a lot of consideration is required for I18N,
39743 UNICODE, and VGA font issues. Therefore, assume that this is
39744 such that "better than nothing".
39745
39746 * font/manager.c: New file.
39747 * include/pupa/font.h: Likewise.
39748 * include/pupa/i386/pc/vga.h: Likewise.
39749 * term/i386/pc/vga.c: Likewise.
39750 * util/unifont2pff.rb: Likewise.
39751
39752 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
39753 (pkgdata_MODULES): Added vga.mod and font.mod.
39754 (vga_mod_SOURCES): New variables.
39755 (vga_mod_CFLAGS): Likewise.
39756 (font_mod_SOURCES): Likewise.
39757 (font_mod_CFLAGS): Likewise.
39758
39759 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
39760
39761 * include/pupa/term.h: Include pupa/err.h.
39762 (struct pupa_term): Added init and fini.
39763 Changed the argument of putchar to pupa_uint32_t.
39764
39765 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
39766 (pupa_console_real_putchar): New prototype.
39767 (pupa_console_putchar): Removed.
39768 (pupa_console_checkkey): Exported.
39769 (pupa_console_getkey): Likewise.
39770
39771 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
39772 characters.
39773
39774 * kern/term.c (pupa_term_set_current): Rewritten.
39775 (pupa_putchar): Likewise.
39776 (pupa_putcode): New function.
39777
39778 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
39779 (pupa_console_real_putchar): ... this.
39780 (pupa_vga_set_mode): New function.
39781 (pupa_vga_get_font): Likewise.
39782
39783 * normal/command.c: Include pupa/term.h.
39784 (terminal_command): New function.
39785 (pupa_command_init): Register the command "terminal".
39786
39787 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
39788 (DISP_UP): Likewise.
39789 (DISP_RIGHT): Likewise.
39790 (DISP_DOWN): Likewise.
39791 (DISP_HLINE): Likewise.
39792 (DISP_VLINE): Likewise.
39793 (DISP_UL): Likewise.
39794 (DISP_UR): Likewise.
39795 (DISP_LL): Likewise.
39796 (DISP_LR): Likewise.
39797
39798 * term/i386/pc/console.c (pupa_console_putchar): New function.
39799
39800 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
39801
39802 * util/resolve.c (pupa_util_resolve_dependencies): BUG
39803 FIX. Reverse the path_list.
39804
39805 * include/pupa/normal.h: Export pupa_register_command and
39806 pupa_unregister_command.
39807
39808 * hello/hello.c (pupa_cmd_hello): New module.
39809 * conf/i386-pc.rmk: Added hello.mod.
39810
39811 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
39812
39813 * kern/i386/pc/lzo1x.S: New file.
39814
39815 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
39816 (compress_kernel): New variable.
39817 (generate_image): Heavily modified to support compressing a
39818 large part of the core image.
39819
39820 * util/misc.c (pupa_util_read_image): Fix a file descriptor
39821 leak.
39822 (pupa_util_load_image): New function.
39823
39824 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
39825 (pupa_compressed_size): New variable.
39826 (codestart): Enable Gate A20 here.
39827 Decompress the compressed part of the core image.
39828 Rearrange the code to put functions and variables which are
39829 required for initialization in the non-compressed part.
39830 Include lzo1x.S.
39831
39832 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
39833 here.
39834
39835 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
39836
39837 * include/pupa/i386/pc/kernel.h
39838 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
39839 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
39840 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39841 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39842 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
39843
39844 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
39845
39846 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
39847 (Utility#rule): Likewise.
39848
39849 * configure.ac: Check if LZO is available.
39850
39851 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
39852
39853 * include/pupa/normal.h: New file.
39854 * include/pupa/setjmp.h: Likewise.
39855 * include/pupa/i386/setjmp.h: Likewise.
39856 * normal/cmdline.c: Likewise.
39857 * normal/command.c: Likewise.
39858 * normal/main.c: Likewise.
39859 * normal/menu.c: Likewise.
39860 * normal/i386/setjmp.S: Likewise.
39861
39862 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
39863 (pupa_rescue_cmd_initrd): Likewise.
39864
39865 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
39866 Likewise.
39867
39868 * kern/i386/pc/startup.S (translation_table): New variable.
39869 (translate_keycode): New function.
39870 (pupa_console_getkey): Call translate_keycode.
39871
39872 * kern/rescue.c (attempt_normal_mode): New function.
39873 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
39874 it failed, print a message.
39875
39876 * kern/mm.c (pupa_real_malloc): Print more information when a
39877 free magic is broken.
39878 (pupa_free): If the first free header is not free actually, set
39879 it to P.
39880
39881 * kern/main.c (pupa_load_normal_mode): Just load the module
39882 "normal".
39883 (pupa_main): Don't print the message
39884 "Entering into rescue mode..." here.
39885
39886 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
39887 Declared.
39888 (pupa_rescue_cmd_initrd): Likewise.
39889 (pupa_rescue_cmd_initrd): Likewise.
39890
39891 * include/pupa/symbol.h (FUNCTION): Specify the type.
39892 (VARIABLE): Likewise.
39893
39894 * include/pupa/err.h (pupa_err_t): Added
39895 PUPA_ERR_UNKNOWN_COMMAND.
39896
39897 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
39898 (pupa_dl_get_prefix): Likewise.
39899
39900 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
39901 Added _chain.mod and _linux.mod instead of chain.mod and
39902 linux.mod.
39903 (chain_mod_SOURCES): Renamed to ...
39904 (_chain_mod_SOURCES): ... this.
39905 (chain_mod_CFLAGS): Renamed to ...
39906 (_chain_mod_CFLAGS): ... this.
39907 (linux_mod_SOURCES): Renamed to ...
39908 (_linux_mod_SOURCES): ... this.
39909 (linux_mod_CFLAGS): Renamed to ...
39910 (_linux_mod_CFLAGS): ... this.
39911 (normal_mod_SOURCES): New variable.
39912 (normal_mod_CFLAGS): Likewise.
39913 (normal_mod_ASFLAGS): Likewise.
39914
39915 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
39916
39917 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
39918 possible.
39919
39920 * kern/dl.c (pupa_dl_ref): Refer depending modules
39921 recursively.
39922 (pupa_dl_unref): Unrefer depending modules recursively.
39923 Don't call pupa_dl_unload implicitly, because PUPA can crash if
39924 a module is unloaded before one depending on that module is
39925 unloaded.
39926 (pupa_dl_unload): Unload depending modules explicitly,
39927 if possible.
39928
39929 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
39930
39931 * include/pupa/i386/pc/linux.h: New file.
39932 * loader/i386/pc/linux.c: Likewise.
39933
39934 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
39935 Removed.
39936 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
39937 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
39938 of PUPA_CHAINLOADER_BOOT_SECTOR.
39939
39940 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
39941 (pupa_linux_prot_size): New variable.
39942 (pupa_linux_tmp_addr): Likewise.
39943 (pupa_linux_real_addr): Likewise.
39944 (pupa_linux_boot_zimage): New function.
39945 (pupa_linux_boot_bzimage): Likewise.
39946
39947 * kern/i386/pc/init.c (struct mem_region): New structure.
39948 (MAX_REGIONS): New macro.
39949 (mem_regions): New variable.
39950 (num_regions): Likewise.
39951 (pupa_os_area_addr): Likewise.
39952 (pupa_os_area_size): Likewise.
39953 (pupa_lower_mem): Likewise.
39954 (pupa_upper_mem): Likewise.
39955 (add_mem_region): New function.
39956 (compact_mem_regions): Likewise.
39957 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
39958 the size of the conventional memory and that of so-called upper
39959 memory (before the first memory hole).
39960 Instead of adding each found region to free memory, use
39961 add_mem_region and add them after removing overlaps.
39962 Also, add only 1/4 of the upper memory to free memory. The rest
39963 is used for loading OS images. Maybe this is ad hoc, but this
39964 makes it much easier to relocate OS images when booting.
39965
39966 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
39967 (pupa_enter_rescue_mode): Don't register initrd and module.
39968
39969 * kern/mm.c: Include pupa/dl.h.
39970
39971 * kern/main.c: Include pupa/file.h and pupa/device.h.
39972
39973 * kern/loader.c (pupa_loader_load_module_func): Removed.
39974 (pupa_loader_load_module): Likewise.
39975
39976 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
39977 ``.o''.
39978
39979 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
39980 (pupa_linux_tmp_addr): Likewise.
39981 (pupa_linux_real_addr): Likewise.
39982 (pupa_linux_boot_zimage): Likewise.
39983 (pupa_linux_boot_bzimage): Likewise.
39984
39985 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
39986 (pupa_upper_mem): Likewise.
39987 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
39988 module is too dangerous.
39989
39990 * include/pupa/loader.h (pupa_os_area_addr): Declared.
39991 (pupa_os_area_size): Likewise.
39992 (pupa_loader_set): Remove the first argument. Loader doesn't
39993 manage modules or initrd any longer.
39994 (pupa_loader_load_module): Removed.
39995
39996 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
39997 (linux_mod_SOURCES): New variable.
39998 (linux_mod_CFLAGS): Likewise.
39999
40000 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
40001
40002 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
40003 the length of a blocklist correctly.
40004
40005 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
40006 Use ioctl only if the OS file is a block device.
40007 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
40008 not very useful for normal files.
40009
40010 * kern/main.c (pupa_set_root_dev): New function.
40011 (pupa_load_normal_mode): Likewise.
40012 (pupa_main): Call those above.
40013
40014 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
40015 pupa_uint16_t.
40016
40017 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
40018
40019 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
40020
40021 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
40022 (setup): Configure the installed partition information and the
40023 dl prefix.
40024
40025 * loader/i386/pc/chainloader.c (my_mod): New variable.
40026 (pupa_chainloader_unload): New function.
40027 (pupa_rescue_cmd_chainloader): Refer itself.
40028 (PUPA_MOD_INIT): Save its own module in MY_MOD.
40029
40030 * kern/i386/pc/startup.S (install_partition): Removed.
40031 (version_string): Likewise.
40032 (config_file): Likewise.
40033 (pupa_install_dos_part): New variable.
40034 (pupa_install_bsd_part): Likewise.
40035 (pupa_prefix): Likewise.
40036 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
40037
40038 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
40039 and pupa/misc.h.
40040 (make_install_device): New function.
40041 (pupa_machine_init): Set the dl prefix.
40042
40043 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
40044 (buf): Renamed to ...
40045 (linebuf): ... this.
40046 (pupa_rescue_cmd_prefix): New function.
40047 (pupa_rescue_cmd_insmod): Likewise.
40048 (pupa_rescue_cmd_rmmod): Likewise.
40049 (pupa_rescue_cmd_lsmod): Likewise.
40050 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40051 rmmod and lsmod.
40052
40053 * kern/mm.c (pupa_memalign): If failed even after invalidating
40054 disk caches, unload unneeded modules and retry.
40055
40056 * kern/misc.c (pupa_memmove): New function.
40057 (pupa_memcpy): Removed.
40058 (pupa_strcpy): New function.
40059 (pupa_itoa): Made static.
40060
40061 * kern/dl.c (pupa_dl_iterate): New function.
40062 (pupa_dl_ref): Likewise.
40063 (pupa_dl_unref): Likewise.
40064 (pupa_dl_unload): Return if succeeded or not.
40065 (pupa_dl_unload_unneeded): New function.
40066 (pupa_dl_unload_all): Likewise.
40067 (pupa_dl_init): Renamed to ...
40068 (pupa_dl_set_prefix): ... this.
40069 (pupa_dl_get_prefix): New function.
40070
40071 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40072 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40073 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40074 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40075 (pupa_install_dos_part): Declared.
40076 (pupa_install_bsd_part): Likewise.
40077 (pupa_prefix): Likewise.
40078 (pupa_boot_drive): Likewise.
40079
40080 * include/pupa/types.h: Fix a typo.
40081
40082 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40083 pupa_memmove.
40084 (pupa_memmove): Declared.
40085 (pupa_strcpy): Likewise.
40086
40087 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40088 pupa_mod_init takes one argument, its own module.
40089 (pupa_dl_unload_unneeded): Declared.
40090 (pupa_dl_unload_all): Likewise.
40091 (pupa_dl_ref): Likewise.
40092 (pupa_dl_unref): Likewise.
40093 (pupa_dl_iterate): Likewise.
40094 (pupa_dl_init): Renamed to ...
40095 (pupa_dl_set_prefix): ... this.
40096 (pupa_dl_get_prefix): Declared.
40097
40098 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
40099 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
40100 unloaded.
40101 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40102 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40103
40104 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40105 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40106
40107 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40108
40109 * util/i386/pc/pupa-setup.c (setup): Define the internal
40110 function find_first_partition_start at the top level, because GCC
40111 3.0.x cannot compile internal functions in deeper scopes
40112 correctly.
40113 (find_root_device): Use lstat instead of stat.
40114 Don't follow symbolic links.
40115 Fix the path-constructing code.
40116
40117 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40118 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40119 by a BLKGETSIZE ioctl first, because block devices don't fill
40120 the member st_mode of the structure stat on Linux.
40121 [__linux__] (linux_find_partition): Use a temporary buffer
40122 REAL_DEV for the working space. Copy it to DEV before returning.
40123 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40124 buffer cache consistent.
40125 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40126 strncmp. The previous value was merely wrong.
40127 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40128
40129 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40130 FAT size is 12. The previous value was merely wrong.
40131
40132 * kern/main.c (pupa_main): Don't split the starting message from
40133 newlines.
40134
40135 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40136 LF, because BIOS goes crazy about character attributes in this
40137 case.
40138
40139 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40140
40141 * include/i386/pc/util/biosdisk.h: New file.
40142 * util/i386/pc/biosdisk.c: Likewise.
40143 * util/i386/pc/pupa-setup.c: Likewise.
40144
40145 * Makefile.in (INCLUDE_DISTFILES): Added
40146 include/pupa/i386/pc/util/biosdisk.h.
40147 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40148 directory util/i386/pc.
40149 (install-local): Added a rule for sbin_UTILITIES.
40150 (uninstall): Likewise.
40151
40152 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40153
40154 * util/misc.c (xrealloc): New function.
40155 (pupa_malloc): Likewise.
40156 (pupa_free): Likewise.
40157 (pupa_realloc): Likewise.
40158 (pupa_stop): Likewise.
40159 (pupa_putchar): Likewise.
40160
40161 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40162
40163 * include/pupa/util/misc.h (xrealloc): Declared.
40164
40165 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40166 macro.
40167 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40168 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40169
40170 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40171 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40172
40173 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40174 way should be implemented.
40175 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40176
40177 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40178 the size of NAME for safety.
40179 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40180 0x88.
40181
40182 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40183 (pupa_setup_SOURCES): Likewise.
40184
40185 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40186
40187 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40188
40189 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40190 bunch of pushl's from pusha, because this destroys the return
40191 value.
40192
40193 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40194
40195 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40196 This means that any missing prototypes could be fatal. Also, you
40197 must take care when writing assembly code. See the comments at
40198 the beginning of startup.S, for more details.
40199
40200 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40201 compilation mechanism.
40202 (pupa_chainloader_real_boot): Likewise.
40203 (pupa_biosdisk_rw_int13_extensions): Likewise.
40204 (pupa_biosdisk_rw_standard): Likewise.
40205 (pupa_biosdisk_check_int13_extensions): Likewise.
40206 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40207 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40208 (pupa_get_memsize): Likewise.
40209 (pupa_get_mmap_entry): Likewise.
40210 (pupa_console_putchar): Likewise.
40211 (pupa_console_setcursor): Likewise.
40212 (pupa_getrtsecs): Use pushl instead of push.
40213
40214 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40215 memory instead of the stack for a mmap entry, because some
40216 BIOSes may ignore the maximum size and overflow.
40217
40218 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40219
40220 * genmk.rb (PModule#rule): Compile automatically generated
40221 sources with module-specific CFLAGS as well as other sources.
40222
40223 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40224
40225 * configure.ac: Check ld.
40226 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40227 respectively, before checking endianness and sizes.
40228
40229 * Makefile.in (LD): New variable.
40230
40231 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40232
40233 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40234
40235 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40236
40237 * Changelog: New file.
40238