]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* docs/grub.texi (Filesystems): Mention AFS.
[grub2.git] / ChangeLog
CommitLineData
bbc47747
VS
12011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * docs/grub.texi (Filesystems): Mention AFS.
4
f63d6bf4
VS
52011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * docs/grub.texi (Filesystems): Clarify restrictions.
8 (Regexp): Mention non-Unicode regexp behaviour.
9 (Other): Mention non-Unicode matching behaviour.
10
74bbf0db
VS
112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
12
f63d6bf4 13 Make HFS implementation use MacRoman.
74bbf0db
VS
14
15 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
16 (macroman): New const array.
17 (macroman_to_utf8): New function.
18 (utf8_to_macroman): Likewise.
19 (grub_hfs_find_dir): Use utf8_to_macroman.
20 (grub_hfs_dir): Use macroman_to_utf8.
21 Set case_insensitive.
22
4ea0316e
VS
232011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
24
25 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
26
d3c13cbd
VS
272011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
28
29 Integrate hints into autogeneration scripts.
30
31 * docs/grub.texi (Filesystems): Add a hostdisk example.
32 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
33 (grub-probe): Add ofpath.
34 * gentpl.py: Remove group nosparc64.
35 * grub-core/commands/search.c (cache_entry): New struct.
36 (cache): New var.
37 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
38 * grub-core/commands/search_wrap.c (options): Add platform-specific
39 hint options.
40 (grub_cmd_search): Handle platform-specific hints.
41 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
42 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
43 (grub_util_biosdisk_data): Likewise.
44 (grub_util_biosdisk_open): Set device_map.
45 (read_device_map): Handle "" as indication of no map.
46 Set device_map.
47 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
48 (grub_util_biosdisk_get_compatibility_hint): New function.
49 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
50 * include/grub/emu/hostdisk.h
51 (grub_util_biosdisk_get_compatibility_hint): New proto.
52 * util/grub-install.in: Don't call grub-mkdevicemap.
53 Add platform-specific hint to load.cfg.
54 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
55 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
56 hints. Set root preliminary to compatibility hint, not to OS name.
57 * util/grub-probe.c (PRINT_*): Add hints.
58 (print): Make static.
59 (escape_of_path): New function.
60 (guess_bios_drive): Likewise.
61 (guess_efi_drive): Likewise.
62 (guess_baremetal_drive): Likewise.
63 (print_full_name): Likewise.
64 (probe): Handle hints.
65 (main): Likewise.
66 * util/ieee1275/devicemap.c: Removed.
67 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
68 updated.
69 (grub_util_devname_to_ofpath): Return NULL on failure.
70
71 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
72 resource leak.
73 * util/getroot.c (grub_util_pull_device): Fix memory leak.
74
75 * po/POTFILES.in: Regenerated.
76
77 Allow purely long options
78
79 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
80 (SHORT_ARG_USAGE): Likewise.
81 (grub_arg_show_help): Compare opt with help_options.
82 (parse_option): Receive opt as argument. If makes big simplificatons.
83 All users updated
84
00ce2df3
VS
852011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
86
87 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
88 Restructure to avoid warning.
89
e77e325f
VS
902011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
91
92 * util/grub-install.in: Account for possible escaped comma in device
93 name.
94
165099ea
VS
952011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
96
97 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
98 channel.
99
ce4a999d
VS
1002011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
103 allocation and zero-setting.
104 (grub_ieee1275_get_devname): Check that alias is complete.
105
379586ad
VS
1062011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
107
108 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
109 unaligned segments.
110
9197b0ad
VS
1112011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
112
113 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
114 prefix.
115 (grub_ofdisk_open): Check and discard ieee1275 prefix.
116 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
117 Add ieee1275 prefix.
118
edddb7f9
VS
1192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * docs/grub.texi (Filesystems): Update.
122
a1a8b1b9
VS
1232011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
124
125 Support odc, newc and bigendian cpio formats.
126
127 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
128 * grub-core/Makefile.core.def (newc): New module.
129 (odc): Likewise.
130 (cpio_be): Likewise.
131 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
132 (MAGIC): Likewise.
133 (MAGIC2): Likewise.
134 (head) [MODE_ODC]: Adapt for the format.
135 (head) [MODE_NEWC]: Likewise.
136 (head) [!MODE_*]: Write fields of interest as arrays.
137 (MAGIC_USTAR): Removed.
138 (read_number) [MODE_NEWC]: Change to hex.
139 (read_number) [!MODE_*]: Parse binary arrays.
140 (grub_cpio_find_file): Factor out the code for better structure and
141 always use read_number.
142 (grub_cpio_mount): Use MAGIC and MAGIC2.
143 (grub_cpio_dir): Exit on first hook non-0 return.
144 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
145 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
146 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
147 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
148 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
149 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
150 * grub-core/fs/newc.c: New file.
151 * grub-core/fs/odc.c: Likewise.
152 * grub-core/fs/cpio_be.c: Likewise.
153
58eba9ee
VS
1542011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
155
156 Fix handling of tar numbers occupying the whole field.
157
158 * grub-core/fs/cpio.c (read_number): New function.
159 (grub_cpio_find_file): Use read_number instead of strtoull.
160
a54a0e12
VS
1612011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
164 occupying the whole field size.
165
a6120aca
LA
1662011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
167
168 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
169
a93964ce
VS
1702011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
171
172 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
173
3ea1ca46
SG
1742011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
175
176 * grub-core/Makefile.core.def (lzma_decompress): Add missing
177 TARGET_IMG_LDFLAGS.
178
b87f7ef2
VS
1792011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * util/getroot.c (ESCAPED_PATH_MAX): New define.
182 (mountinfo_entry): Increase the field size to take escaping into
183 account.
184 (find_root_device_from_libzfs): Add one byte to size of strings for
185 security.
186
62092395
VS
1872011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
190 an assert.
191 * util/grub-setup.c (setup): Likewise.
192
1f0b1a77
VS
1932011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
194
195 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
196 _LzmaDecodeA.
197
8eba9997
VS
1982011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
199
200 * docs/grub.texi (Internationalisation): New section.
201
dd0c91e9
VS
2022011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
203
204 * docs/grub.texi (Loopback booting): New section.
205
2062011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
207
208 * util/grub-mkstandalone.in: Fix minor typo errors.
209
198e150a
VS
2102011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
211
212 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
213
214 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
215 net/icmp.c and net/icmp6.c.
216 (http): New module.
217 (priority_queue): Likewise.
218 * grub-core/io/bufio.c: Rewritten.
219 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
220 TYPE_WITH_CONFIGFILE_OPTION.
221 (legacy_commands): Add bootp and dhcp.
222 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
223 (grub_legacy_parse): Likewise.
224 * grub-core/lib/priority_queue.c: New file.
225 * grub-core/net/arp.c: Add missing license header.
226 (arp_find_entry): Removed.
227 (arp_find_entry): Likewise.
228 (grub_net_arp_resolve): Rename to ...
229 (grub_net_arp_send_request): ...this.
230 (grub_net_arp_receive): New card argument.
231 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
232 Set router and DNS server.
233 (grub_net_configure_by_dhcp_ack): Handle routing information.
234 (grub_cmd_bootp): Set checksum.
235 (grub_bootp_init): Remove net_dhcp.
236 * grub-core/net/dns.c: New file.
237 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
238 completion.
239 (get_card_packet): Handle allocation.
240 (grub_efinet_findcards): Set mtu.
241 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
242 (get_card_packet): Handle allocation.
243 (emucard): Set mtu.
244 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
245 (GRUB_MOD_INIT): Set mtu.
246 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
247 mtu.
248 (get_card_packet): Handle allocation.
249 (grub_ofnet_findcards): Set mtu.
250 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
251 assert.
252 (grub_net_recv_ethernet_packet): Handle IPv6.
253 * grub-core/net/http.c: New file.
254 * grub-core/net/icmp.c: Likewise.
255 * grub-core/net/icmp6.c: Likewise.
256 * grub-core/net/ip.c (ip6addr): New type.
257 (ip6hdr): Likewise.
258 (reassemble): Likewise.
259 (cmp): New function.
260 (reassembles): New variable.
261 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
262 (id): New variable.
263 (send_fragmented): New function.
264 (grub_net_send_ip_packet): Rename to ...
265 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
266 Handle non-UDP.
267 (grub_net_recv_ip_packets): Rename to ...
268 (handle_dgram): ... this. Check checksum. Handle non-UDP.
269 (free_rsm): New function.
270 (free_old_fragments): Likewise.
271 (grub_net_recv_ip4_packets): New function.
272 (grub_net_send_ip6_packet): Likewise.
273 (grub_net_send_ip_packet): Likewise.
274 (grub_net_recv_ip6_packets): Likewise.
275 (grub_net_recv_ip_packets): Likewise.
276 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
277 (LINK_LAYER_CACHE_SIZE): New const.
278 (link_layer_find_entry): New function.
279 (grub_net_link_layer_add_address): Likewise.
280 (grub_net_link_layer_resolve_check): Likewise.
281 (grub_net_link_layer_resolve): Likewise.
282 (grub_net_ipv6_get_slaac): Likewise.
283 (grub_net_ipv6_get_link_local): Likewise.
284 (grub_cmd_ipv6_autoconf): Likewise.
285 (parse_ip): Handle one number representation.
286 (parse_ip6): New functoion.
287 (match_net): Handle IPv6.
288 (grub_net_resolve_address): Handle IPv6 and DNS.
289 (grub_net_resolve_net_address): Handle IPv6.
290 (route_cmp): New function.
291 (grub_net_route_address): Find best route.
292 (grub_net_addr_to_str): Handle IPv6.
293 (grub_net_addr_cmp): New function.
294 (grub_net_add_addr): Register local route.
295 (print_net_address): Handle net address.
296 (grub_net_poll_cards): Retransmit TCP.
297 (grub_net_poll_cards_idle_real): Likewise.
298 (have_ahead): New function.
299 (grub_net_seek_real): Use underlying seek.
300 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
301 * grub-core/net/tcp.c: New file.
302 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
303 (cmp): New function.
304 (ack): Likewise.
305 (tftp_receive): Handle unordered input.
306 (destroy_pq): New function.
307 (tftp_close): Close pq.
308 * grub-core/net/udp.c: Put missing license header.
309 (grub_net_udp_socket): New function.
310 (udp_socket_register): Likewise.
311 (grub_net_udp_close): Likewise.
312 (grub_net_recv_udp_packet): Check checksum.
313 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
314 * include/grub/misc.h (grub_memchr): New function.
315 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
316 (grub_net_card_driver): Return buf in recv.
317 (grub_net_slaac_mac_list): New struct.
318 (grub_network_level_protocol_id): Add ipv6.
319 (grub_net_network_level_addr): Likewise.
320 (grub_net_network_level_net_addr): Likewise.
321 (grub_net_app_protocol): Add seek.
322 (grub_net_socket): Removed.
323 (grub_net_sockets): Likewise.
324 (grub_net_socket_register): Likewise.
325 (grub_net_socket_unregister): Likewise.
326 (FOR_NET_SOCKETS): Likewise.
327 (grub_net_add_addr): Add const.
328 (GRUB_NET_BOOTP_*): New enum.
329 (grub_net_addr_cmp): New proto.
330 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
331 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
332 (grub_net_hwaddr_to_str): NEw proto.
333 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
334 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
335 (grub_dns_init): New proto.
336 (grub_dns_fini): Likewise.
337 (grub_net_tcp_retransmit): Likewise.
338 (grub_net_link_layer_add_address): Likewise.
339 (grub_net_link_layer_resolve_check): Likewise.
340 (grub_net_link_layer_resolve): Likewise.
341 (grub_net_dns_lookup): Likewise.
342 (grub_net_add_dns_server): Likewise.
343 (grub_net_remove_dns_server): Likewise.
344 (GRUB_NET_TRIES): New const.
345 (GRUB_NET_INTERVAL): Likewise.
346 * include/grub/net/arp.h: Mostly rewritten.
347 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
348 * include/grub/net/ip.h: Mostly rewritten.
349 * include/grub/net/netbuff.h: Indent.
350 * include/grub/net/tcp.h: New file.
351 * include/grub/net/udp.h: Mostly rewritten.
352 * include/grub/priority_queue.h: New file.
353 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
354 (grub_swap_bytes64_compile_time): Likewise.
355 (grub_cpu_to_be16_compile_time): Likewise.
356 (grub_cpu_to_be32_compile_time): Likewise.
357 (grub_cpu_to_be64_compile_time): Likewise.
358 (grub_be_to_cpu64_compile_time): Likewise.
359
215c1800
VS
3602011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
361
362 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
363 UINT_TO_PTR with cast.
364
c17e546c
VS
3652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
366
367 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
368 don't use them.
369
ff6b18b6
VS
3702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
371
372 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
373 already there.
374
70ffcc93
VS
3752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
378 confusing ipxe.
379
e5f4d260
VS
3802011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
381
382 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
383 Add missing const attribute.
384 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
385 Likewise.
386 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
387 Likewise.
388
8e54b4b7
VS
3892011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
392 misaligned access.
393 (serpent_setkey): Likewise.
394 (serpent_encrypt_internal): Likewise.
395 (serpent_decrypt_internal): Likewise.
396 (serpent_encrypt): Don't put an alignment-increasing cast.
397 (serpent_decrypt): Likewise.
398 (serpent_test): Likewise.
399
813c0a2b
VS
4002011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
401
402 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
403
f2b60fbd
VS
4042011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
405
406 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
407
408 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
409 grub_addr_t casts.
410 (PTR_TO_UINT64): Likewise.
411 (PTR_TO_UINT32): Likewise.
412
5ef5c511
VS
4132011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
414
415 * util/grub-mkimage.c (generate_image): Decrease the higher limit
416 because of stack.
417 * util/grub-setup.c (setup): Don't add redundancy past the higher load
418 limit.
419
c476e6df
VS
4202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
421
422 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
423 text_width > available width a bit more gracefully.
424
384ad7cc
VS
4252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
426
427 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
428 current address calculation.
429
96f8caf8
VS
4302011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
431
432 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
433 stack.
434 (encode_block): Likewise.
435
276b7a8b
VS
4362011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
439 certainety.
440
e3fd394a
VS
4412011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
444 non-RS part to avoid RS messing with GDT.
445 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
446 Increase to suit in realmode routines.
447
4482011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * grub-core/kern/i386/realmode.S: Increase alignment.
451 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
452
ee9c2e7a
VS
4532011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
454
455 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
456 be deterministic.
457 (syndroms): Compute 0 syndrom.
458 (rs_recover): Use 0 syndrom.
459
7a7f7cc9
VS
4602011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
461
462 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
463
a14b16d1
VS
4642011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
467 brackets.
468
9f59e9fc
VS
4692011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
470
ca1b552c
VS
471 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
472 account.
473 (get_top_pad): Likewise.
474 (get_right_pad): Likewise.
475 (get_bottom_pad): Likewise.
476
4772011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
478
479 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 480
e739d698
VS
4812011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
482
483 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
484 attribute as the structure isn't guaranteed to be properly aligned.
485 (grub_efi_pci_device_path): Likewise.
486 (grub_efi_pccard_device_path): Likewise.
487 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
488 specify the size of `memory_type'.
489 (grub_efi_vendor_device_path): Likewise.
490 (grub_efi_controller_device_path): Likewise.
491 (grub_efi_acpi_device_path): Likewise.
492 (grub_efi_expanded_acpi_device_path): Likewise.
493 (grub_efi_atapi_device_path): Likewise.
494 (grub_efi_scsi_device_path): Likewise.
495 (grub_efi_fibre_channel_device_path): Likewise.
496 (grub_efi_1394_device_path): Likewise.
497 (grub_efi_usb_device_path): Likewise.
498 (grub_efi_usb_class_device_path): Likewise.
499 (grub_efi_i2o_device_path): Likewise.
500 (grub_efi_mac_address_device_path): Likewise.
501 (grub_efi_ipv4_device_path): Likewise.
502 (grub_efi_ipv6_device_path): Likewise.
503 (grub_efi_infiniband_device_path): Likewise.
504 (grub_efi_uart_device_path): Likewise.
505 (grub_efi_vendor_messaging_device_path): Likewise.
506 (grub_efi_hard_drive_device_path): Likewise.
507 (grub_efi_cdrom_device_path): Likewise.
508 (grub_efi_vendor_media_device_path): Likewise.
509 (grub_efi_file_path_device_path): Likewise.
510 (grub_efi_protocol_device_path): Likewise.
511 (grub_efi_piwg_device_path): Likewise.
512 (grub_efi_bios_device_path): Likewise.
513
cb8f88ea
VS
5142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
515
516 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
517 (grub_ucs4_to_utf8_alloc): Likewise.
518 (grub_ucs4_to_utf8): Likewise.
519 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
520 (grub_ucs4_to_utf8_alloc): Likewise.
521
309e5352
VS
5222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
523
524 AFFS never uses unicode.
525
526 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
527 (grub_latin1_to_utf8): New inline function.
528 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
529
e7987e1b
VS
5302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
531
532 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
533 overflow.
534
efc2616e
VS
5352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
536
537 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
538 (grub_squash_dirent_header): Likewise.
539 (read_chunk): Don't double swap.
540 (grub_squash_iterate_dir): Fix swap sizes.
541
3c349f5a
VS
5422011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
543
544 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
545
b453412d
VS
5462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
547
548 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
549 (grub_hfs_iterate_dir): Likewise.
550
12e9d4d1
VS
5512011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
552
553 Fix video on platforms where unaligned access is forbidden.
554 Make several optimisations while on it.
555
556 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
557 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
558 (grub_video_fbblit_replace_32bit_1bit): Likewise.
559 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
560 Disable.
561 (grub_video_fbblit_replace_16bit_1bit):
562 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
563 (grub_video_fbblit_replace_8bit_1bit): Likewise.
564 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
565 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
566 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
567 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
568 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
569 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
570 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
571 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
572 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
573 (grub_video_fbblit_replace_index_RGB888): Likewise.
574 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
575 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
576 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
577 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
578 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
579 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
580 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
581 Disable.
582 (grub_video_fbblit_blend_XXX565_1bit):
583 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
584 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
585 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
586 void *.
587 * grub-core/video/fb/video_fb.c (common_blitter)
588 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
589 (grub_video_fb_create_render_target_from_pointer)
590 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
591 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
592 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
593 definition.
594 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
595
ace96609
VS
5962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
597
598 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
599 HH22 and HM10 relocations.
600
fd261d73
VS
6012011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
604
e59b7857
VS
6052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
606
607 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
608 allocation succeeded.
609
9b4baaa4
VS
6102011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
613 argument a u8 pointer. All users updated.
614 Handle unaligned buffers.
615
dc713193
VS
6162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
619 add_part to workaround compiler bug.
620
30dd48c2
VS
6212011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
622
623 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
624
0c6087a8
VS
6252011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
628 Reserve alignment invariants.
629 (grub_multiboot_load): Likewise.
630 (retrieve_video_parameters): Likewise.
631 (grub_multiboot_make_mbi): Likewise.
632
c2e77777
VS
6332011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
636 incorrect pointer.
637
b70b6d11
VS
6382011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
641 (grub_pata_pio_write): Likewise.
642
02a2bf83
VS
6432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
644
645 Add noreturn attributes and remove unreachable code.
646
647 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
648 code.
649 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
650 code. Mark as noreturn.
651 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
652 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
653 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
654 unreachable code.
655 * grub-core/kern/main.c (grub_main): Mark as noreturn.
656 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
657 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
658 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
659 * include/grub/kernel.h (grub_main): Mark as noreturn.
660 * include/grub/reader.h (grub_rescue_run): Likewise.
661
2019d09e
VS
6622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
663
664 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
665 redundant declaration.
666
d1c501ee
VS
6672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
668
669 * include/grub/net.h (grub_net_network_level_interfaces): Remove
670 redundant declaration.
671 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
672
61664420
VS
6732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
674
675 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
676 to ensure alignment.
677 (grub_hdparm_print_identify): Make argument uint16 * to ensure
678 alignment. Ensure tmp alignment.
679 (grub_cmd_hdparm): Ensure buf alignment.
680 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
681 to ensure alignment.
682 (grub_ata_dumpinfo): Ensure text alignment.
683 (grub_atapi_identify): Preserve alignment invariant.
684 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
685
0d51ee20
VS
6862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
689 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
690 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
691 * include/grub/misc.h (grub_reboot)
692 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
693 (grub_halt) [__mips__]: Likewise.
694
753ef8c1
VS
6952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
698 Remove redundant declaration.
699 (grub_mmap_get_post64): Likewise.
700 (grub_mmap_get_upper): Likewise.
701 (grub_mmap_get_lower): Likewise.
702
85c85365
VS
7032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
706 uint32_t * to ensure alignment.
707 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
708
a23f2cc4
VS
7092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
710
93018f64
VS
711 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
712 uint16_t * to ensure alignment.
713 (sun_pc_partition_map_iterate): Make `block' a union to ensure
714 alignment.
715
7162011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
717
718 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
719 to ensure alignment.
720 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
721
58acccd6
VS
7222011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
723
724 * grub-core/fs/ntfs.c (u16at): Make into inline function.
725 Handle unaligned pointers.
726 (u32at): Likewise.
727 (u64at): Likewise.
728 (fixup): Use byte access instead of v16at.
729 (find_attr): Fix imporper usage of v32at.
730 (read_data): Likewise.
731 (list_file): Handle byte-swapping and unaligned strings.
732 (grub_ntfs_label): Likewise.
733
9b05cad7
VS
7342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
737 as it's not necessarily aligned.
738
b3950b84
VS
7392011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
740
741 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
742 redundant declaration.
743 (grub_serial_init): Likewise.
744 (grub_terminfo_init): Likewise.
745
fcd232b7
VS
7462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
747
748 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
749 function.
750 (ZAP_HASH_IDX): Likewise.
751 (ZAP_LEAF_HASH_SHIFT): Likewise.
752 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
753 (LEAF_HASH): Likewise.
754 (ZAP_LEAF_NUMCHUNKS): Likewise.
755 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
756 alignment invariants. Return pointer. All users updated.
757 (ZAP_LEAF_ENTRY): Make into inline function.
758 (NBBY): Removed.
759 (xor): LIkewise.
760 (xor_out): Use grub_crypto_xor.
761 (dnode_get_path): Use grub_get_unaligned.
762 (nvlist_find_value): Likewise.
763 (grub_zfs_nvlist_lookup_uint64): Likewise.
764 (grub_zfs_nvlist_lookup_string): Likewise.
765 (get_nvlist_size): Likewise.
766 (grub_zfs_open): Likewise.
767 (fill_fs_info): Likewise.
768 (grub_zfs_dir): Likewise.
769 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
770 alignment invariants.
771 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
772 necessarily aligned.
773
f138623a
VS
7742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
777
564840dc
VS
7782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
779
780 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
781 arithmetic to conserve alignment invariants.
782
9b40df20
VS
7832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
784
785 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
786 redundant declaration.
787 (grub_efiemu_mm_obtain_request): Likewise.
788 (grub_efiemu_prepare): Likewise.
789
d1c930f9
VS
7902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
791
792 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
793 to match types.
794
4c5f3056
VS
7952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
798 case of aunaligned recptr.
799 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
800 alignment.
801 (grub_hfsplus_btree_search): Handle unaligned index.
802
728cba91
VS
8032011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
806 to get freetag and skip.
807
eb561f31
VS
8082011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
811 array.
812 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
813 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
814
20993fbb
VS
8152011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
816
817 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
818 name for checksum and fix allocation algorithm.
819
1f313b94
VS
8202011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
821
822 * include/grub/types.h (grub_properly_aligned_t): New type.
823 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
824 (grub_get_unaligned16): Add explicit casts.
825 (grub_get_unaligned32): Likewise.
826 (grub_get_unaligned64): Likewise.
827 (grub_set_unaligned16): New function.
828 (grub_set_unaligned32): Likewise.
829
47ae27ec
VS
8302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
833
78c2cd1c
VS
8342011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
837 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
838 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
839
53072f9b
VS
8402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
843 conditionals.
844
055dc239
VS
8452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
848 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
849
496bd074
VS
8502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
851
852 Unify and improve RAID and crypto xor.
853
854 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
855 changed to grub_crypto_xor
856 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
857 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
858 Use bigger types when possible.
859
ef6e4335
VS
8602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * grub-core/disk/raid.c (scan_devices): Fix condition.
863
5d048bf2
VS
8642011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
865
866 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
867 Make name a const ptr.
868
ee533335
VS
8692011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
870
871 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
872 first argument a const pointer.
873 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
874 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
875 proto.
876 (grub_children_iterate): Likewise.
877 (grub_machine_mmap_iterate): Remove redundant declaration.
878
cc8f3668
VS
8792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
882 (grub_cmd_acpi) [!x86]: Disable EBDA.
883
c5fc563a
VS
8842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Enable UTF8 in gnulib regexp.
887
888 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
889 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
890 (isupper): Use grub_isupper.
891 (isascii): New inline function.
892 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
893 * grub-core/lib/posix_wrap/wctype.h: Likewise.
894 * grub-core/normal/charset.c (grub_utf8_process): New function.
895 (grub_utf8_to_utf16): Use grub_utf8_process.
896 (grub_encode_utf8_character): New function.
897 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
898 * include/grub/charset.h (grub_utf8_process): New declaration.
899 (grub_encode_utf8_character): Likewise.
900 * include/grub/misc.h (grub_islower): New inline function.
901 (grub_isupper): Likewise.
902 (grub_strchrsub): Moved down to fix the definitions.
903
0af2346f
VS
9042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
905
906 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
907 specification.
908
74dbd244
VS
9092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * include/grub/loader.h (grub_loader_register_preboot_hook):
912 Use struct preboot * and not void * for handle. All users updated.
913 (grub_loader_unregister_preboot_hook): Likewise.
914
1bc8f60d
VS
9152011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
916
917 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
918 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
919 UTF-16-BE. All users updated.
920 (grub_hfsplus_cmp_catkey): Fix unicode handling.
921 (grub_hfsplus_iterate_dir): Likewise.
922 (grub_hfsplus_label): Likewise.
923
48d6e456
VS
9242011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
927
bf3a3857
VS
9282011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
929
930 Add missing const qualifiers.
931
932 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
933 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
934 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
935 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
936 (grub_lvm_check_flag): Likewise.
937 * grub-core/efiemu/i386/coredetect.c
938 (grub_efiemu_get_default_core_name): Likewise
939 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
940 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
941 * grub-core/fs/ntfs.c (fixup): Likewise.
942 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
943 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
944 (fzap_lookup): Likewise.
945 (zap_lookup): Likewise.
946 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
947 * grub-core/lib/legacy_parse.c (check_option): Likewise.
948 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
949 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
950 (grub_freebsd_add_meta_module): Likewise.
951 (grub_cmd_freebsd_module): Likewise.
952 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
953 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
954 (grub_xnu_writetree_get_size): Likewise.
955 (grub_xnu_writetree_toheap_real): Likewise.
956 (grub_xnu_find_key): Likewise.
957 (grub_xnu_create_key): Likewise.
958 (grub_xnu_create_value): Likewise.
959 (grub_xnu_register_memory): Likewise.
960 (grub_xnu_check_os_bundle_required): Likewise.
961 (grub_xnu_scan_dir_for_kexts): Likewise.
962 (grub_xnu_load_kext_from_dir): Likewise.
963 * grub-core/normal/color.c (color_list): Likewise.
964 * grub-core/normal/completion.c (current_word): Likewise.
965 * grub-core/normal/menu_entry.c (insert_string): Likewise.
966 * grub-core/term/serial.c (grub_serial_find): Likewise.
967 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
968 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
969 Likewise.
970 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
971 (grub_freebsd_add_meta_module): Likewise.
972 * include/grub/lib/arg.h (grub_arg_option): Likewise.
973 * include/grub/net.h (grub_net_card_driver): Likewise.
974 (grub_net_card): Likewise.
975 (grub_net_app_protocol): Likewise.
976 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
977 * include/grub/serial.h (grub_serial_find): Likewise.
978 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
979 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
980 (grub_xnu_create_value): Likewise.
981 (grub_xnu_find_key): Likewise.
982 (grub_xnu_scan_dir_for_kexts): Likewise.
983 (grub_xnu_load_kext_from_dir): Likewise.
984
985 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
986 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
987 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
988 Moved from here ...
989 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
990
112b4837
CW
9912011-11-28 Colin Watson <cjwatson@ubuntu.com>
992
993 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
994
49e891ac
VS
9952011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
996
997 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
998 (read_device): Fix size calculation.
999
fd258e5c
RM
10002011-11-25 Robert Millan <rmh@gnu.org>
1001
1002 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
1003 (find_root_device_from_libzfs): Add zpool output parser to be used
1004 as fallback when libzfs isn't available.
1005
78845dc2
SG
10062011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
1007
1008 * po/Makefile.in.in: Add missing escape-continuation.
1009
adac5211
VS
10102011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
1013
10b64f1c
VS
10142011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
1017
bb416954
VS
10182011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
1021
bdfe9eeb
VS
10222011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
1023
1024 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
1025
581ffa8a
VS
10262011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
1027
1028 * grub-core/lib/adler32.c: Add missing license specification.
1029 * grub-core/lib/crc64.c: Likewise.
1030 * grub-core/loader/i386/pc/plan9.c: Likewise.
1031 * grub-core/partmap/plan.c: Likewise.
1032
2536cf64
LK
10332011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
1034
1035 Add facility to debug GRUB with gdb under qemu.
1036
1037 * grub-core/gdb_grub.in: New file.
1038 * grub-core/gmodule.pl.in: Likewise.
1039 * grub-core/Makefile.core.def (gmodule.pl): New script.
1040 (gdb_grub): Likewise.
1041
bc108a4a
VS
10422011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * util/grub-mount.c (argp_parser): Accept relative pathes.
1045 * util/grub-fstest.c (argp_parser): Likewise.
1046
111c1778
VS
10472011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1048
1049 Plan9 support.
1050
1051 * Makefile.util.def (libgrubmods): Add
1052 grub-core/partmap/plan.c.
1053 * docs/grub.texi: Notice Plan9 support.
1054 * grub-core/Makefile.core.def (plan9): New module.
1055 (part_plan): Likewise.
1056 * grub-core/loader/i386/pc/plan9.c: New file.
1057 * grub-core/partmap/plan.c: Likewise.
1058 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
1059 define.
1060 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
1061 * include/grub/mm.h (grub_extend_alloc): New inline function.
1062
c30be3b6
VS
10632011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 Make Reed-Solomon faster by using power of generator representation of
1066 GF(256)*.
1067
1068 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
1069 (gf_double_t): Likewise.
1070 (gf_invert): Removed.
1071 (gf_powx): New array.
1072 (gf_powx_inv): Likewise.
1073 (scratch): Move higher.
1074 (gf_reduce): Removed.
1075 (gf_mul): Use powx.
1076 (gf_invert): Likewise.
1077 (init_inverts): Replaced with ...
1078 (init_powx): ...this. All users updated.
1079 (pol_evaluate): Replace multiplications with additions.
1080 (rs_encode): Likewise.
1081 (gauss_eliminate): Call gf_invert.
1082 (grub_reed_solomon_add_redundancy): Call init_powx.
1083 (grub_reed_solomon_recover): Call init_powx unconditionally.
1084
fa5aeffc
VS
10852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
1088
a346b81c
VS
10892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1090
1091 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
1092 disk->partiton for safety.
1093
d89ee414
VS
10942011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
1097 Fix a memory leak.
1098 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
1099
91ee7b6d
VS
11002011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1101
1102 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
1103
91e5a33d
VS
11042011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1105
1106 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
1107
9edd7be2
VS
11082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1109
1110 Fix spaces handling in proc/self/mountinfo.
1111
1112 * util/getroot.c (unescape): New function.
1113 (grub_find_root_device_from_mountinfo): Use unescape.
1114
ba102053
VS
11152011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1116
1117 Support ZFS embedding.
1118
1119 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
1120 (grub_zfs_fs): Register grub_zfs_embed.
1121
aa94b870
VS
11222011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 Fix MIPS compilation.
1125
1126 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
1127 * include/grub/offsets.h: Rename decompressor fields from
1128 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
1129 * util/grub-mkimage.c (image_targets): Use new names.
1130
5fbdac14
VS
11312011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1132
1133 Defer multiboot device parsing until we're in compressed part.
1134
1135 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
1136 bsd_part. setdevice has fallen into disuse.
1137 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
1138 (bsd_part): Likewise.
1139 (boot_dev): New variable.
1140 (multiboot_trampoline): Don't parse multiboot device.
1141 Pass multiboot device in %edx.
1142 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
1143 grub_boot_device.
1144 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
1145 Likewise.
1146 * grub-core/kern/i386/pc/startup.S: Save edx.
1147 (grub_boot_drive): Removed.
1148 (grub_install_dos_part): Likewise.
1149 (grub_install_bsd_part): Likewise.
1150 (grub_boot_device): New variable.
1151 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
1152 (grub_install_bsd_part): Likewise.
1153 (grub_boot_drive): Likewise.
1154 (grub_boot_device): New variable.
1155 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
1156 Removed.
1157 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
1158 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
1159 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
1160 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
1161 * util/grub-install.in: Remove redundant condition.
1162
691cbb58
VS
11632011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1164
1165 Fix bug introduced by previous commit.
1166
1167 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
1168
60240b8b
VS
11692011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1170
1171 Use decompressors framework on i386-pc. It increases core size
1172 by 46 bytes but improves compatibility and maintainability.
1173
1174 * grub-core/Makefile.core.def (lzma_decompress): New image.
1175 (kernel): Add i386_pc_ldflags.
1176 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
1177 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
1178 to real_to_prot, prot_to_real and device info.
1179 * include/grub/offsets.h: Renamed decompressor offsets.
1180 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
1181 (image_target_desc): Remove raw_size and rename decompressor fields.
1182 (compress_kernel): Handle lzma.
1183 (generate_image): Handle decompressors on i386-pc.
1184
e9d3421c
VS
11852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1186
1187 * configure.ac: Add -fno-asynchronous-unwind-tables.
1188
2b23074a
VS
11892011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 Move assembly code to C by using intwrap. It increases core size
1192 by 88 bytes but improves compatibility and maintainability.
1193
1194 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
1195 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
1196 ... here. Translated to C.
1197 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
1198 * grub-core/term/i386/pc/console.c (grub_console_getkey):
1199 ... here. Translated to C.
1200 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
1201 * grub-core/term/i386/pc/console.c (grub_console_getxy):
1202 ... here. Translated to C.
1203 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
1204 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
1205 ... here. Translated to C.
1206 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
1207 * grub-core/term/i386/pc/console.c (grub_console_cls):
1208 ... here. Translated to C.
1209 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
1210 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
1211 ... here. Translated to C.
1212 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
1213 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
1214 Translated to C.
1215 * grub-core/term/i386/pc/console.c (int10_9): New function.
1216 (grub_console_putchar): Likewise.
1217 * include/grub/i386/pc/console.h: Removed the not anymore shared
1218 functions.
1219
678f4b67
VS
12202011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
1221
1222 Move grub_chainloader_real_boot out of the kernel.
1223
1224 * grub-core/Makefile.am: Remove machine/loader.h.
1225 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
1226 Removed.
1227 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
1228 variable.
1229 (grub_relocator16_keep_a20_enabled): Likewise.
1230 (grub_relocator16_boot): Fill new variables.
1231 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
1232 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
1233 relocator.
1234 (grub_chainloader_unload): Likewise.
1235 (grub_chainloader_cmd): Likewise.
1236 * include/grub/i386/pc/loader.h: Removed.
1237 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
1238 and esi. All initialisers updated.
1239
4626edf6
VS
12402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
12412011-11-12 Colin Watson <cjwatson@ubuntu.com>
1242
1243 * Makefile.util.def (grub-mount): New util.
1244 * .bzrignore: Add grub-mount.
1245 * configure.ac: Check for fuse and enable grub-mount if available.
1246 * docs/man/grub-mount.h2m: New file.
1247 * util/grub-mount.c: Likewise.
1248
10f0117b
VS
12492011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * grub-core/commands/efi/fixvideo.c: Gettextize.
1252 * grub-core/commands/hashsum.c: Likewise.
1253 * grub-core/commands/i386/cmostest.c: Likewise.
1254 * grub-core/commands/i386/pc/drivemap.c: Likewise.
1255 * grub-core/commands/i386/pc/lsapm.c: Likewise.
1256 * grub-core/commands/i386/pc/sendkey.c: Likewise.
1257 * grub-core/commands/lsmmap.c: Likewise.
1258 * grub-core/commands/menuentry.c: Likewise.
1259 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
1260 * grub-core/commands/setpci.c: Likewise.
1261 * grub-core/loader/i386/bsd.c: Likewise.
1262 * grub-core/loader/i386/linux.c: Likewise.
1263 * util/getroot.c: Likewise.
1264 * util/grub-editenv.c: Likewise.
1265 * util/grub-fstest.c: Likewise.
1266 * util/grub-mkfont.c: Likewise.
1267 * util/grub-mkimage.c: Likewise.
1268 * util/grub-mkpasswd-pbkdf2.c: Likewise.
1269 * util/grub-pe2elf.c: Likewise.
1270 * util/grub-probe.c: Likewise.
1271 * util/grub-setup.c: Likewise.
1272 * util/ieee1275/ofpath.c: Likewise.
1273 * util/misc.c: Likewise.
1274 * util/raid.c: Likewise.
1275
566f779b
RM
12762011-11-11 Robert Millan <rmh@gnu.org>
1277
1278 * util/getroot.c (grub_util_get_geom_abstraction): Remove
1279 __attribute__((unused)) from `os_dev', which *is* being used.
1280
b50787de
VS
12812011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
1284 forgotten define.
1285 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
1286 GRUB_IA64_DL_GOT_ALIGN.
1287 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
1288 GRUB_IA64_DL_TRAMP_ALIGN.
1289
119d11c8
VS
12902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 Replace grub_fatal with normal errors in i386 linux loader.
1293
1294 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
1295 (allocate_pages): Check find_efi_mmap_size return value.
1296 (grub_e820_add_region): Return error.
1297 (grub_linux_boot): Check mmap return value.
1298
6e0632e2
VS
12992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1300
1301 * grub-core/commands/acpihalt.c: Gettextized.
1302 * grub-core/commands/cacheinfo.c: Likewise.
1303 * grub-core/commands/cmp.c: Likewise.
1304 * grub-core/commands/efi/loadbios.c: Likewise.
1305 * grub-core/commands/gptsync.c: Likewise.
1306 * grub-core/commands/ieee1275/suspend.c: Likewise.
1307 * grub-core/commands/legacycfg.c: Likewise.
1308 * grub-core/commands/memrw.c: Likewise.
1309 * grub-core/commands/minicmd.c: Likewise.
1310 * grub-core/commands/parttool.c: Likewise.
1311 * grub-core/commands/time.c: Likewise.
1312 * grub-core/commands/videoinfo.c: Likewise.
1313 * grub-core/disk/geli.c: Likewise.
1314 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
1315 * grub-core/disk/luks.c: Likewise.
1316 * grub-core/disk/lvm.c: Likewise.
1317 * grub-core/font/font_cmd.c: Likewise.
1318 * grub-core/fs/zfs/zfscrypt.c: Likewise.
1319 * grub-core/fs/zfs/zfsinfo.c: Likewise.
1320 * grub-core/gfxmenu/view.c: Likewise.
1321 * grub-core/kern/emu/hostdisk.c: Likewise.
1322 * grub-core/kern/emu/main.c: Likewise.
1323 * grub-core/kern/emu/misc.c: Likewise.
1324 * grub-core/kern/emu/mm.c: Likewise.
1325 * grub-core/kern/mips/arc/init.c: Likewise.
1326 * grub-core/kern/mips/loongson/init.c: Likewise.
1327 * grub-core/kern/partition.c: Likewise.
1328 * grub-core/lib/i386/halt.c: Likewise.
1329 * grub-core/lib/mips/arc/reboot.c: Likewise.
1330 * grub-core/lib/mips/loongson/reboot.c: Likewise.
1331 * grub-core/loader/i386/pc/chainloader.c: Likewise.
1332 * grub-core/loader/i386/xnu.c: Likewise.
1333 * grub-core/loader/multiboot.c: Likewise.
1334 * grub-core/net/bootp.c: Likewise.
1335 * grub-core/net/net.c: Likewise.
1336 * grub-core/normal/term.c: Likewise.
1337 * grub-core/partmap/bsdlabel.c: Likewise.
1338 * grub-core/parttool/msdospart.c: Likewise.
1339 * grub-core/term/gfxterm.c: Likewise.
1340 * grub-core/term/terminfo.c: Likewise.
1341 * grub-core/video/i386/pc/vbe.c: Likewise.
1342 * util/grub-menulst2cfg.c: Likewise.
1343 * util/grub-mkdevicemap.c: Likewise.
1344 * util/grub-mklayout.c: Likewise.
1345 * util/grub-mkrelpath.c: Likewise.
1346 * util/grub-script-check.c: Likewise.
1347 * util/ieee1275/grub-ofpathname.c: Likewise.
1348 * util/resolve.c: Likewise.
1349
073aa7a9
VS
13502011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1351
1352 Support %1$d syntax.
1353
1354 * tests/printf_unit_test.c: New file.
1355 * Makefile.util.def (printf_test): New test.
1356 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
1357
c76b5417
VS
13582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
1361 fix.
1362
df067ad1
VS
13632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
1366 dprintf.
1367 * grub-core/font/font.c (grub_font_load): Likewise.
1368
5b289bc5
VS
13692011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1370
1371 * util/grub-macho2img.c: Add comment concerning gettext.
1372 * grub-core/lib/legacy_parse.c: Likewise.
1373
c1860f87
VS
13742011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1375
1376 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
1377 (grub_xvasprintf): Likewise.
1378
d35d0d37
VS
13792011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1380
1381 Add const keyword to grub_env_get and gettextize week days.
1382
1383 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
1384 (grub_read_hook_datetime): Return const char *.
1385 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
1386 updated.
1387 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
1388 Mark for gettext.
1389 (grub_get_weekday_name): Return const char *. Call gettext.
1390 * grub-core/script/argv.c (grub_script_argv_append): Receive const
1391 char * and len as the argument. All users updated.
1392 (grub_script_argv_split_append): Receive const char *.
1393 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
1394 * include/grub/env.h (grub_env_get): Likewise.
1395 (grub_env_read_hook_t): Return const char *.
1396 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
1397 (grub_script_argv_split_append): Likewise.
1398
9aed8a71
VS
13992011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1400
1401 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
1402
067fdf00
VS
14032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
1406 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
1407
a8bd9d39
VS
14082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
1411 Fix prototype.
1412
f7ce5baf
VS
14132011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 Fix mips compilation.
1416
1417 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
1418 normal decoder.
1419 (hashes): Use in embed decoder as well (for sizes).
1420 (dec_stream_header): Fix embed decompressor logic.
1421 (dec_stream_footer): Likewise.
1422
9bb182f3
VS
14232011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
1426 an error and not a fatal on unrecognised relocation types.
1427
63a9e6f6
VS
14282011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
1431 Issue error rather than printf on unknown arguments.
1432
4c458569
VS
14332011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1434
1435 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
1436 Make buf a const.
1437
e2d22baf
VS
14382011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1439
1440 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
1441 Fix module name.
1442
53dc8590
VS
14432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1444
1445 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
1446 leftover debug printf.
1447
6c189294
VS
14482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1449
1450 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
1451
f7688369
VS
14522011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
1455 A stylistic fix.
1456
11a775a3
VS
14572011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
1460
33f784e8
SL
14612011-11-10 Shea Levy <slevy@tieronedesign.com>
1462
1463 Allow all modules to perform serial IO
1464
1465 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
1466 * include/grub/serial.h (grub_serial_port_configure): New inline
1467 function.
1468 (grub_serial_port_fetch): Likewise.
1469 (grub_serial_port_put): Likewise.
1470 (grub_serial_port_fini): Likewise.
1471 (grub_serial_find): New proto.
1472
f6276525
VS
14732011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1474
1475 Put symlink at the end of the node and fix a potential
1476 memory corruption.
1477
1478 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
1479 Make symlink into an array.
1480 (set_rockridge): Set have_symlink and alloc_dirents.
1481 (grub_iso9660_read_symlink): Use new layout.
1482 (grub_iso9660_iterate_dir): Fix memory corruption.
1483 Use new layout.
1484 (grub_iso9660_dir): Set have_symlink.
1485 (grub_iso9660_open): Likewise.
1486
c3591189
VS
14872011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 Remove local keyword.
1490
1491 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
1492 (version_test_gt): Likewise.
1493 (version_find_latest): Likewise.
1494 (gettext_printf): Likewise.
1495 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
1496
cb544caa
VS
14972011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1498
1499 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
1500
45bd824d
VS
15012011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 Fix ZFS memory and resource leaks.
1504
1505 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
1506 All users updated.
1507 Free type on exit.
1508 (fill_vdev_info): New parameter inserted. All users updated.
1509 (check_pool_label): Likewise.
1510 (scan_disk): Likewise.
1511 (scan_devices): Close non-inserted disks.
1512 (fzap_iterate): Free l.
1513 (unmount_device): Free children descripto memory.
1514
ad9a2f44
VS
15152011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
1518 argument (access out of bounds).
1519
6b68db81
VS
15202011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
1523 >= 6 drives.
1524
28840fda
VS
15252011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
1526
1527 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
1528 Fix declaration.
1529
8a5a3a5b
VS
15302011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1531
1532 Fix several memory leaks.
1533
1534 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
1535 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
1536 (grub_cpio_dir): Likewise.
1537 * grub-core/fs/fat.c (grub_fat_label): Likewise.
1538 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
1539 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
1540 (grub_romfs_label): Likewise.
1541 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
1542 (squash_unmount): New function.
1543 (grub_squash_dir): Fix memory leak.
1544 (grub_squash_open): Likewise.
1545 (grub_squash_read): Likewise.
1546 (grub_squash_mtime): Likewise.
1547 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
1548 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
1549 * util/grub-fstest.c (fstest): Likewise.
1550
57b01250
VS
15512011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
1554 avoid accessing beyond the array.
1555
19e81ba7
VS
15562011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1557
1558 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
1559
52b656c0
VS
15602011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
1561
1562 Several AFFS fixes.
1563
1564 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
1565 (GRUB_AFFS_FLAG_FFS): Removed.
1566 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
1567 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
1568 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
1569 (grub_fshelp_node): Make block 32-bit.
1570 Add block_cache and last_block_cache.
1571 (grub_affs_read_block): Fill and use block cache.
1572 (grub_affs_read_file): Removed.
1573 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
1574 boot block.
1575 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
1576 safety.
1577 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
1578 space.
1579 (grub_affs_close): Free block cache.
1580 (grub_affs_read): Use grub_fshelp_read_file directly.
1581
438a746a
VS
15822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1583
1584 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
1585 with no error set.
1586
49a45021
VS
15872011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1588
1589 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
1590 used variable.
1591 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
1592 Likewise.
1593
3ae17eb8
VS
15942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
1597
1598 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
1599 byteswap when needed.
1600
27610c38
VS
16012011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1602
1603 Fix FreeBSD compilation.
1604
1605 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
1606 to avoid circular dependency.
1607 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
1608 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
1609 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
1610
4a19b601
VS
16112011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 Fix ZFS crypto error types.
1614
1615 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
1616 (grub_gcm_decrypt): Likewise.
1617 (grub_zfs_load_key_real): Fix error code type. Handle possible error
1618 from PBKDF2.
1619
958ee221
VS
16202011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 Illumos support.
1623
1624 * Makefile.util.def (10_illumos): New script.
1625 * configure.ac: Set COND_HOST_ILLUMOS.
1626 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
1627 Support Illumos calls.
1628 (find_partition_start) [__sun__]: Likewise.
1629 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
1630 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
1631 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
1632 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
1633 device.
1634 * util/grub-probe.c (probe) [__sun__]: Do character check.
1635 * util/grub.d/10_illumos.in: New file.
1636
cac14fb6
VS
16372011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 Support escaped commas in hostdisk.
1640
1641 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
1642 (find_grub_drive): Use unescape_cmp.
1643 (make_device_name): Escape commas.
1644
78e08dc3
VS
16452011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1646
1647 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
1648
9f421dd1
VS
16492011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1650
1651 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
1652 variable.
1653
ed64e9e2
VS
16542011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
1655
1656 Support trampoline jumps on powerpc.
1657
1658 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
1659 __ia64__ path.
1660 (grub_dl_load_segments): Set mod->sz.
1661 (grub_dl_flush_cache): Flush whole space occupied by module, not just
1662 segments.
1663 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
1664 (jump): Likewise.
1665 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
1666 function.
1667 (trampoline): New struct.
1668 (trampoline_template): New const.
1669 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
1670 * include/grub/dl.h (grub_dl): Add sz element.
1671 [__powerpc__]: Follow __ia64__.
1672 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
1673 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
1674 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
1675 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
1676
3084ede4
VS
16772011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
1678
1679 ZFS crypto support.
1680
1681 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
1682 * grub-core/Makefile.core.def (zfscrypt): New module.
1683 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
1684 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
1685 it. All users updated.
1686 (grub_zfs_decrypt): New var.
1687 (grub_zfs_load_key): Likewise.
1688 (zio_checksum_functions): Add SHA256+MAC.
1689 (zio_checksum_verify): Handle incomplete comparison due to MAC.
1690 (zio_read): Handle encrypted blocks.
1691 (zap_verify): Remove incorrect check.
1692 (fzap_iterate): Handle non-standard fzap.
1693 (zap_iterate): Likewise.
1694 (zap_iterate_u64): New function.
1695 (dnode_get_fullpath): Load keys.
1696 * grub-core/fs/zfs/zfscrypt.c: New file.
1697 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
1698 (grub_crypto_ecb_encrypt): Make input const.
1699 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
1700 (grub_crypto_ecb_encrypt): Make input const.
1701 (GRUB_CIPHER_AES): New macro.
1702 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
1703 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
1704 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
1705 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
1706 prefix. All users updated.
1707 (grub_zfs_add_key): New proto.
1708 (grub_zfs_decrypt): Likewise.
1709 (grub_zfs_load_key): Likewise.
1710 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
1711 * util/grub-fstest.c (options): Add -K option.
1712 (argp_parser): Likewise.
1713
b632b404
VS
17142011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 Support zle compression on ZFS.
1717
1718 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
1719 (decomp_table): Add zle.
1720 * include/grub/zfs/zio.h (zio_compress): Add zle.
1721
c7ba4f69
VS
17222011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1723
1724 Support BtrFS embedding.
1725
1726 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
1727 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
1728 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
1729 * util/grub-setup.c (setup): Use fs embedding if available.
1730 Add additional sanity check.
1731
455377d9
VS
17322011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
1733
1734 * util/grub-install.in: Fix condition for config_opt.
1735
c2fd16ca
VS
17362011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1737
1738 Support third redundancy strip on raidz3.
1739
1740 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
1741 Return error on singularity. All users updated.
1742 (read_device): Don't stop on 3rd failure on raidz3.
1743
8622923b
VS
17442011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 Support case-insensitive ZFS subvolumes.
1747
1748 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
1749 All users updated.
1750 (zap_hash): Likewise.
1751 (name_cmp): New function.
1752 (zap_leaf_array_equal): New parameter case_insensitive.
1753 All users updated.
1754 (zap_leaf_lookup): Likewise.
1755 (fzap_lookup): Likewise.
1756 (zap_lookup): Likewise.
1757 (dnode_get_path): New parameter case_insensitive. Retrieve case
1758 sensitiviness of a volume. All users updated.
1759 (dnode_get_fullpath): New parameter case_insensitive.
1760 All users updated.
1761 (grub_zfs_dir): Set info.case_insensitiveness.
1762
95f2e860
VS
17632011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 Support second redundancy strip on raidz(2,3).
1766
1767 * grub-core/fs/zfs/zfs.c (powx): New array.
1768 (powx_inv): Likewise.
1769 (poly): New const.
1770 (xor_out): New function.
1771 (gf_mul): Likewise.
1772 (recovery): Likewise.
1773 (read_device): Use second redundancy strip.
1774
11ee4389
VS
17752011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 Use a power of generator representation of GF(256) multiplication group
1778 to save space time and complexity.
1779
1780 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
1781 (raid6_table2): Likewise.
1782 (powx): New array.
1783 (powx_inv): Likewise.
1784 (poly): New const.
1785 (grub_raid_block_mul): Replace with ...
1786 (grub_raid_block_mulx): ...this.
1787 (grub_raid6_init_table): Rewritten.
1788 (grub_raid6_recover): Use power of generator representation.
1789
09e2763f
VS
17902011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1791
1792 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
1793 for the right device.
1794
8bec9a28
VS
17952011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1796
1797 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
1798 expected by grub-mkimage and it's more clear since there is no implicit
1799 padding.
1800
dbd3a32e
VS
18012011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
1804 disk.
1805 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
1806
182c872a
PMH
18072011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
1808
1809 * util/grub-mkrescue.in: Fix handling xorriso option.
1810
1e51cabd
VS
18112011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
1814 NULL.
1815
9cc3581d 18162011-11-03 crocket <crockabiscuit@gmail.com>
1817
1818 * util/grub.d/10_linux.in: Add Slackware initrd naming.
1819
158dc1ea
VS
18202011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 XZ CRC64 and SHA256 support.
1823
1824 * Makefile.util.def (libgrubmods): Add crc64.c.
1825 * grub-core/Makefile.core.def (crc64): New module.
1826 * grub-core/lib/crc64.c: New file.
1827 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
1828 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
1829 Fix the type.
1830 (MAX_HASH_SIZE): New define.
1831 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
1832 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
1833 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1834 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
1835 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
1836 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
1837 Handle non-crc32 hashes.
1838 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
1839 (dec_stream_header): Handle non-crc32 hashes.
1840 (dec_stream_footer): Likewise.
1841 (dec_block_header): Likewise.
1842 (dec_main): Likewise.
1843 (xz_dec_init): Likewise.
1844 (xz_dec_reset): Likewise.
1845 (xz_dec_end): Likewise.
1846 * util/import_gcry.py: Add CRC64 line.
1847
9d9b3d2f
VS
18482011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1849
1850 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
1851 as well.
1852
7d0ac931
VS
18532011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 Make reiserfs label retrieval similar to other *_label functions.
1856
1857 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
1858 (REISERFS_MAX_LABEL_LENGTH): Removed.
1859 (REISERFS_LABEL_OFFSET): Likewise.
1860 (grub_reiserfs_label): Rewritten.
1861
18622011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1863
1864 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
1865 field.
1866
cf5ba824
VS
18672011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
1870
17744004
VS
18712011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
1874 drive failure on both raidz and raidz2.
1875
aca5aefc
VS
18762011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 Fix RAIDZ(2) for >= 5 devices.
1879
1880 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
1881 asize argument. All users updated.
1882
ce8ca56e
VS
18832011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
1884
1885 Fix RAIDZ(2).
1886
1887 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
1888 (fill_vdev_info_real): Set ashift.
1889 (read_device): Rewrite RAIDZ part based on reverse engineering.
1890
7c01e783
VS
18912011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
1894 don't report potentially unavialiable fields in debug output.
1895 (find_path): Fix double-free and memory leak.
1896
ce109e84
VS
18972011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 Read label on UFS1.
1900
1901 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
1902 (grub_ufs_fs): Always set .label.
1903
87661123
VS
19042011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 Use shifts in UFS.
1907
1908 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
1909 (grub_ufs_data): New field log2_blksz.
1910 (grub_ufs_read_file): Use shifts.
1911 (grub_ufs_mount): Check block size and logarithm it.
1912
46bc1dc2
VS
19132011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
1916 long symlinks.
1917
19ee2987
VS
19182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 Handle symlinks and long names on tar and cpio.
1921
1922 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
1923 (ATTR_FILE): Likewise.
1924 (ATTR_DIR): Likewise.
1925 (ATTR_LNK): Likewise.
1926 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
1927 (grub_cpio_find_file): Fill mode, handle linkname field as well as
1928 L and K entries.
1929 (grub_cpio_mount): Zero-fill data.
1930 (handle_symlink): New function.
46bc1dc2
VS
1931 (grub_cpio_dir): Handle symlinks.
1932 (grub_cpio_open): Likewise.
1933 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 1934
c83a08d8
VS
19352011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 Fix iso9660 filename limitations and fix memory leaks.
1938
1939 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
1940 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
1941
45cdd3ea
VS
19422011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 Fix JFS file name length limitations.
1945
1946 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
1947 (grub_jfs_diropen): Fix maximum filename length.
1948 (grub_jfs_getent): Fix filename length.
1949 (grub_jfs_lookup_symlink): Fix size checks.
1950
94ef05c2
VS
19512011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1952
1953 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
1954 string.
1955
785ab8c7
VS
19562011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1957
eb0b6b45
VS
1958 Leverage BFS implementation to read AFS.
1959
1960 * Makefile.util.def (libgrubmods): Add afs.c.
1961 * grub-core/Makefile.core.def (afs): New module
1962 * grub-core/fs/afs.c: New file.
1963 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
1964
19652011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1966
1967 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 1968
c4a1628f
VS
19692011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1970
1971 * grub-core/fs/bfs.c: Run indent.
1972
5825b379
VS
19732011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1974
1975 BFS implementation based on the specification.
1976
1977 * grub-core/fs/bfs.c: New file.
1978 * Makefile.util.def (libgrubmods): Add bfs.c.
1979 * grub-core/Makefile.core.def (bfs): New module.
1980
42b2a706
VS
19812011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * util/grub-fstest.c (cmd_cp): Clarify error message.
1984 (cmd_cmp): Likewise.
1985
61b99bfc
YB
19862011-10-30 Yves Blusseau <blusseau@zetam.org>
1987
1988 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
1989 and befs_be.
1990
faba3d16
VS
19912011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 Remove afs and befs because of copyright problem.
1994
1995 * grub-core/fs/afs.c: Removed.
1996 * grub-core/fs/afs_be.c: Removed.
1997 * grub-core/fs/befs.c: Removed.
1998 * grub-core/fs/befs_be.c: Removed.
1999 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
2000 * grub-core/Makefile.core.def (afs): Removed.
2001 (afs_be): Likewise.
2002 (befs): Likewise.
2003 (befs_be): Likewise.
2004
c39224b0
VS
20052011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2006
2007 Prefer rockridge over Joliet.
2008
2009 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
2010 to ...
2011 (set_rockridge): ... here.
2012 (grub_iso9660_mount): Check rockridge on the primary label when
2013 discovering. Ignore Joliet if Rockridge is present.
2014
e551115a
VS
20152011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2016
2017 Use shifts in nilfs2.
2018
2019 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
2020 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
2021 (grub_nilfs2_palloc_entries_per_group): Replace with ...
2022 (grub_nilfs2_log_palloc_entries_per_group): ... this.
2023 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
2024 (grub_nilfs2_entries_per_block): Replaced with ...
2025 (grub_nilfs2_log_entries_per_block_log): ... this.
2026 (grub_nilfs2_blocks_per_group): Replaced with ...
2027 (grub_nilfs2_blocks_per_group_log): ... this.
2028 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
2029 (grub_nilfs2_blocks_per_desc_block_log): ... this.
2030 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
2031 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
2032 (grub_nilfs2_palloc_entry_offset): Replaced ...
2033 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
2034 (grub_nilfs2_dat_translate): Use shifts.
2035 (grub_nilfs2_read_inode): Likewise.
2036 (GRUB_MOD_INIT): Ensure that logs are correct.
2037
564dd58c
VS
20382011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 Use shifts in minix filesystem.
2041
2042 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
2043 (GRUB_MINIX_ZONE2SECT): Likewise.
2044 (grub_minix_data): Replace block_size with log_block_size.
2045 (grub_minix_read_file): Use shifts.
2046 (grub_minix_mount): Check block size and take a logarithm.
2047
ed9ba06d
VS
20482011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Use shifts in squash4.
2051
2052 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
2053 (squash_mount): Check block size and take logarithm.
2054 (direct_read): Use shifts.
2055
ad03fe76
VS
20562011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 Correct befs block counting logic.
2059
2060 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
2061 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
2062 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
2063 (grub_afs_read_inode): Use block_shift.
2064 (RANGE_SHIFT): New definition.
2065 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
2066 unexpected conditions, use shifts and appropriate types.
2067 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
2068
6563f63d
VS
20692011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * grub-core/disk/raid.c (scan_devices): Check partition.
2072 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
2073
5b1ae25f
VS
20742011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2075
2076 Support BFS (befs) UUID.
2077
2078 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
2079 (grub_afs_small_data_element_header): New struct.
2080 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
2081 (grub_afs_read_attribute) [MODE_BFS]: New function.
2082 (grub_afs_iterate_dir): Allocate for complete inode.
2083 (grub_afs_mount): Likewise.
2084 (grub_afs_uuid) [MODE_BFS]: New function.
2085 (grub_afs_fs) [MODE_BFS]: Add .uuid.
2086
f8d82408
VS
20872011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
2088
2089 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
2090 (zfs_unmount): Fix memory leak.
2091
5773fb64
VS
20922011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Support NTFS reparse points.
2095
2096 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
2097 (symlink_descriptor): New struct.
2098 (grub_ntfs_read_symlink): New function.
2099 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
2100 (grub_ntfs_open): Likewise.
2101
91c3fdde
VS
21022011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
2105
3be82e10
VS
21062011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 fstest xnu_uuid subcommand.
2109
2110 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
2111 grub-core/commands/xnu_uuid.c.
2112 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
2113 (fstest): Handle xnu_uuid.
2114 (options): Document xnu_uuid.
2115 (argp_parser): Parse xnu_uuid.
2116
8e32442e
VS
21172011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2118
2119 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
2120 -l argument. Add newline at the end if printing.
2121 (GRUB_MOD_INIT): Document -l.
2122
52a05075
VS
21232011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2124
2125 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
2126
1869edb5
VS
21272011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 ZFS multi-device and version 33 support.
2130
2131 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
2132 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
2133 (grub_zfs_data): Add multidev-ice-related fields.
2134 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
2135 (dva_get_offset): Make dva const.
2136 (zfs_fetch_nvlist): New function.
2137 (fill_vdev_info_real): Likewise.
2138 (fill_vdev_info): Likewise.
2139 (check_pool_label): Likewise.
2140 (scan_disk): Likewise.
2141 (scan_devices): Likewise.
2142 (read_device): Likewise.
2143 (read_dva): Likewise.
2144 (zio_read_gang): Use read_dva.
2145 (zio_read_data): Likewise.
2146 (zap_leaf_lookup): Add missing endian conversion.
2147 (zap_verify): Add missing endian conversion. All users updated.
2148 (fzap_lookup): Likewise.
2149 (fzap_iterate): Likewise.
2150 (dnode_get_path): Handle SA bonus.
2151 (nvlist_find_value): Make input const. All users updated.
2152 (unmount_device): New function.
2153 (zfs_unmount): Use unmount_device.
2154 (zfs_mount): Use scan_disk.
2155 (zfs_mtime): New function.
2156 (grub_zfs_open): Handle system attributes.
2157 (fill_fs_info): Likewise.
2158 (grub_zfs_dir): Likewise.
2159 (grub_zfs_fs): Add mtime.
2160 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
2161 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
2162 (SA_MTIME_OFFSET): Likewise.
2163 (SA_SYMLINK_OFFSET): Likewise.
2164 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
2165 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
2166 (fstest): Support zfsinfo.
2167 (argp_parser): Likewise.
2168
186b4028
VS
21692011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
2170
2171 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
2172 error.
2173
21742011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
2175
2176 ZFS fixes.
2177
2178 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
2179 sharing the same block. Iterate over correct number of indices.
2180 (dnode_get_path): Handle symlinks correctly.
2181
c0584900
VS
21822011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
2185
67e2bd71
VS
21862011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 Read label on HFS+.
2189
2190 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
2191 (grub_hfsplus_btree_search): Fix types.
2192 (grub_hfsplus_label): Implement.
2193
e9cc6b7b
VS
21942011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2195
2196 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
2197
19832ddb
VS
21982011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
2201
66b40850
VS
22022011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 Fix symlink handling on iso9660.
2205
2206 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
2207 All users updated.
2208 (grub_iso9660_susp_iterate): Accept zero-size iterate.
2209 (grub_iso9660_read_symlink): Moved most of code ...
2210 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
2211
db821363
VS
22122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2215 Use union to avoid breaking strict-aliasing rules.
2216
e1211949
VS
22172011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 Support multi-extent iso files.
2220
2221 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
2222 Add node.
2223 (grub_fshelp_node): Revamp. All users updated.
2224 (FLAG_*): New enum.
2225 (read_node): New function.
2226 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
2227 All users updated.
2228 (grub_iso9660_mount): Don't attempt to read sua when there is none.
2229 (get_node_size): New function.
2230 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
2231 entries.
2232 Fix memory leak on . and ..
2233 (grub_iso9660_read): Use read_node.
2234 (grub_iso9660_close): Free node.
2235
d4888031
VS
22362011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2237
2238 Fix tar 4G limit and handle paths containing dot.
2239
2240 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
2241 (canonicalize): New function.
2242 (grub_cpio_find_file): Use canonicalize. Store offs in
2243 grub_disk_addr_t.
2244 (grub_cpio_dir): Use grub_disk_addr_t.
2245 (grub_cpio_open): Likewise.
2246
9f12e664
VS
22472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2248
2249 Fix handling of uncompressed blocks on squashfs and break 4G limit.
2250
2251 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
2252 unused flags.
2253 (grub_squash_inode): Add long_file and block_size.
2254 (grub_squash_cache_inode): New struct.
2255 (grub_squash_dirent): Make types into enum.
2256 (SQUASH_TYPE_LONG_REGULAR): New type.
2257 (grub_squash_frag_desc): Add field size.
2258 (SQUASH_BLOCK_FLAGS): New enum.
2259 (grub_squash_data): Use grub_squash_cache_inode.
2260 (grub_fshelp_node): Make ino_chunk 64-bit.
2261 (read_chunk): Minor argument change. All users updated.
2262 (squash_mount): Use correct le_to_cpu.
2263 (grub_squash_open): Handle LONG_REGULAR.
2264 (direct_read): New function.
2265 (grub_squash_read_data): Handle blocks correctly.
2266
9f326fba
VS
22672011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2268
2269 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
2270
f4d9b64b
VS
22712011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
2272
2273 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
2274
5bbd28b8
VS
22752011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Fix 2G limit on ZFS.
2278
2279 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
2280 types.
2281 (uberblock_verify): Likewise.
2282 (dmu_read): Likewise.
2283 (grub_zfs_read): Likewise. Remove invalid cast.
2284
68c72069
VS
22852011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2286
2287 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
2288 (grub_jfs_blkno): Fix incorrect shift.
2289 (grub_jfs_read_file): Use more appropriate types.
2290
6e536dc8
VS
22912011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2292
2293 Support triple indirect on minix2 and minix3.
2294
2295 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
2296 Declare triple_indir_zone.
2297 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
2298 indirect.
2299
e0864e7a
VS
23002011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 Minix FS fixes.
2303
2304 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
2305 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
2306 Rename ctime to mtime. All users updated.
2307 (grub_minix_get_file_block): Fix types and double indirect computations.
2308
89481cab
VS
23092011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2310
2311 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
2312 if no label is found.
2313 (grub_fat_iterate_dir): Fix file size type.
2314 (grub_fat_iterate_dir): Likewise.
2315
f646e143
VS
23162011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2317
2318 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
2319 save some space.
2320 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
2321 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
2322
534d769e
VS
23232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
2326
e084ba18
VS
23272011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2328
2329 * util/import_gcry.py: Accept space between # and include.
2330
3471ecdf
VS
23312011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
2334
124df5f6
VS
23352011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2336
2337 Fine grainely disable warnings on lexer. Remove Wno-error on it.
2338
2339 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
2340 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
2341 yylex_strncpy.
2342 * grub-core/script/yylex.l: Add fine-grained #pragma.
2343
4defb8d5
VS
23442011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2345
2346 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
2347 New inline function.
2348 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
2349 Likewise.
2350 (memset) [GRUB_UTIL]: Likewise.
2351 (memcmp) [GRUB_UTIL]: Likewise.
2352
4e94ae65
VS
23532011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2354
2355 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
2356 inline function rather than a define.
2357
18c575e5
VS
23582011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 * util/grub-setup.c: Add missing include.
2361
f8bc22a8
VS
23622011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2363
2364 * util/ieee1275/grub-ofpathname.c: Add missing include.
2365
3ce69fc9
VS
23662011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2367
2368 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
2369 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
2370 Likewise.
2371
d1e293bb
VS
23722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2373
2374 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
2375 grub_memcmp usage.
2376
7a5c54a4
VS
23772011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
2378
2379 * util/grub-install.in: Add datarootdir as per automake manual
2380 suggestion.
2381 * util/grub-mknetdir.in: Likewise.
2382
23832011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
2384
2385 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
2386 suggestion.
2387 * util/grub.d/10_kfreebsd.in: Likewise.
2388 * util/grub.d/10_linux.in: Likewise.
2389 * util/grub.d/10_netbsd.in: Likewise.
2390 * util/grub.d/10_windows.in: Likewise.
2391 * util/grub.d/20_linux_xen.in: Likewise.
2392
766f7d08
VS
23932011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
2394
2395 Remove redundant grub_kernel_image_size.
2396
2397 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
2398 _edata and _start.
2399 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
2400 the small code. It moves it only by few bytes but simplifies the code.
2401 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
2402 _start.
2403 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
2404 (grub_kernel_image_size): Removed.
2405 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
2406 (grub_kernel_image_size): Removed.
2407 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
2408 compiled with Apple toolchain.
2409 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
2410 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
2411 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
2412 (grub_total_module_size): Likewise.
2413 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
2414 Removed.
2415 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
2416 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
2417 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
2418 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
2419 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
2420 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
2421 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
2422 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
2423 Removed.
2424 (grub_total_module_size): Removed.
2425 * util/grub-mkimage.c (image_target_desc): Remove image_size.
2426 (image_targets): Likewise.
2427 Set .compressed_size to no field on sparc.
2428 (generate_image): Remove kernel_image_size handling.
2429
fcf1d672
SJ
24302011-10-19 Szymon Janc <szymon@janc.net.pl>
2431
2432 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
2433 NULL pointer dereference.
2434
de9c615e
VS
24352011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2436
2437 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
2438 done with a dedicated section.
2439
2440 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
2441 Ensure the correct position of boot_path.
2442 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
2443 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
2444 other fields.
2445 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
2446 * include/grub/boot.h: Removed. All references removed.
2447 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2448 Removed.
2449 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
2450
e55599dc
VS
24512011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2452
2453 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
2454 name.
2455
36dd20ad
VS
24562011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2457
2458 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
2459
f8f72eb8
VS
24602011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2461
2462 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
2463 Don't add the bogus brackets.
2464
a374751b
VS
24652011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 ExFAT support.
2468
2469 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
2470 * grub-core/Makefile.core.def (exfat): New module.
2471 * grub-core/fs/exfat.c: New file.
2472 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
2473 (GRUB_FAT_ATTR_*): Make into an enum.
2474 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
2475 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
2476 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
2477 (GRUB_FAT_MAXFILE): Removed.
2478 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
2479 (grub_current_fat_bpb_t): New type.
2480 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
2481 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
2482 (grub_fat_dir_node_t): New type.
2483 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
2484 (fat_log2) [MODE_EXFAT]: Removed.
2485 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
2486 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
2487 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
2488 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
2489 (grub_fat_label) [MODE_EXFAT]: New function.
2490 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
2491 reserved_first_sector to 0.
2492
544c2487
VS
24932011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 Move grub_reboot out of the kernel.
2496
2497 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
2498 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
2499 * grub-core/lib/efi/reboot.c: ... here.
2500 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
2501 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
2502 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
2503 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
2504 * grub-core/lib/i386/reboot_trampoline.S: ... here.
2505 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
2506 * grub-core/lib/ieee1275/reboot.c: ... here.
2507 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
2508 * grub-core/lib/mips/arc/reboot.c: ... here.
2509 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
2510 * grub-core/lib/mips/loongson/reboot.c: ...here.
2511 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
2512 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
2513 * include/grub/emu/misc.h (grub_reboot): New function declaration.
2514 * include/grub/i386/reboot.h: New file.
2515 * include/grub/mips/loongson/ec.h: Fix includes.
2516 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
2517 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
2518 * grub-core/lib/i386/reboot.c: New file.
2519
a97501d2
VS
25202011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 Make grub_prefix into module to fix the arbitrary limit and save
2523 some space.
2524
2525 * grub-core/kern/emu/main.c (grub_prefix): Removed.
2526 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
2527 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
2528 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
2529 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
2530 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
2531 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
2532 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
2533 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
2534 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
2535 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
2536 * include/grub/ia64/efi/kernel.h: Removed.
2537 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
2538 (grub_prefix): Removed.
2539 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
2540 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
2541 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
2542 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
2543 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
2544 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
2545 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
2546 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
2547 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
2548 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
2549 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
2550 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
2551 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
2552 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
2553 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
2554 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
2555 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
2556 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
2557 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
2558 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
2559 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
2560 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
2561 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
2562 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
2563 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
2564 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
2565 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
2566 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
2567 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
2568 from module.
2569 * util/grub-mkimage.c (image_target_desc): Removed prefix and
2570 prefix_end.
2571 (image_targets): Likewise.
2572 (generate_image): Put prefix as a module.
2573
39705fad
VS
25742011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 Replace grub_module_iterate with FOR_MODULES.
2577
2578 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
2579 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
2580 (grub_efi_modules_addr): ...this.
2581 * grub-core/kern/efi/init.c (grub_modbase): New variable.
2582 (grub_efi_init): Set grub_modbase.
2583 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
2584 (grub_modbase): New variable.
2585 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
2586 (grub_modbase): New variable.
2587 (grub_machine_init): Set grub_modbase.
2588 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
2589 (grub_modbase): New variable.
2590 (grub_machine_init): Set grub_modbase.
2591 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
2592 (grub_modbase): New variable.
2593 (grub_machine_init): Set grub_modbase.
2594 * grub-core/kern/main.c (grub_module_iterate): Remove.
2595 (grub_modules_get_end): Use grub_modbase.
2596 (grub_load_modules): Use FOR_MODULES.
2597 (grub_load_config): Likewise.
2598 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
2599 (grub_modbase): New variable.
2600 (grub_machine_init): Set grub_modbase.
2601 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
2602 (grub_modbase): New variable.
2603 (grub_machine_init): Set grub_modbase.
2604 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
2605 Removed.
2606 (grub_modbase): New variable.
2607 (grub_machine_init): Set grub_modbase.
2608 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
2609 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
2610 (grub_module_iterate): Likewise.
2611 (grub_modbase): New variable declaration.
2612 (FOR_MODULES): New macro.
2613
2afb7f6c
VS
26142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2615
2616 * configure.ac: Check for __ctzdi2 and __ctzsi2.
2617 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
2618
366e34fa
VS
26192011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 Fix few obvious type discrepancies.
2622
2623 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
2624 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
2625 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
2626 variable.
2627 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
2628 and connected types.
2629 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
2630 offset.
2631 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
2632 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
2633 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
2634 and connected types.
2635
177b960e
VS
26362011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2637
2638 Fix python 3.x incompatibilities.
2639
2640 * gentpl.py: Put brackets around print strings.
2641 * util/import_gcry.py: Open explicitly as utf-8.
2642 Use in instead of has_key.
2643
3b619ae1
VS
26442011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
2645
2646 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
2647 (GRUB_XFS_INO_AGBITS): Make into inline function.
2648 (GRUB_XFS_INO_INOINAG): Likewise.
2649 (GRUB_XFS_INO_AG): Likewise.
2650 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
2651 (GRUB_XFS_EXTENT_OFFSET): Likewise.
2652 (GRUB_XFS_EXTENT_BLOCK): Likewise.
2653 (GRUB_XFS_EXTENT_SIZE): Likewise.
2654 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
2655 (GRUB_XFS_NEXT_DIRENT): Likewise.
2656 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
2657 (grub_xfs_read_file): Fix offset type.
2658
8bcebcb8
RM
26592011-10-15 Robert Millan <rmh@gnu.org>
2660
2661 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
2662
0017e5ef
RM
26632011-10-15 Robert Millan <rmh@gnu.org>
2664
2665 Fix build problem on FreeBSD and GNU/kFreeBSD.
2666
2667 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
2668
d8919552
VS
26692011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
2672
2673 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
2674 types.
2675 (grub_hfsplus_btree_recoffset): Likewise.
2676 (grub_hfsplus_btree_recptr): Likewise.
2677 (grub_hfsplus_find_block): Likewise.
2678 (grub_hfsplus_btree_search): Likewise.
2679 (grub_hfsplus_read_block): Likewise.
2680 (grub_hfsplus_read_file): Likewise.
2681 (grub_hfsplus_mount): Likewise.
2682 (grub_hfsplus_btree_iterate_node): Likewise.
2683 (grub_hfsplus_btree_search): Likewise.
2684 (grub_hfsplus_iterate_dir): Likewise.
2685 (grub_hfsplus_read): A small code simplification.
2686
c81296b6
VS
26872011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2688
2689 * grub-core/kern/emu/hostdisk.c
2690 (convert_system_partition_to_system_disk): Don't assume that children
2691 of mapper nodes are mapper nodes.
2692
0eb8ffb1
VS
26932011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
2696 * include/grub/misc.h (grub_isxdigit): New function.
2697 * grub-core/video/colors.c (my_isxdigit): Removed. All users
2698 switched to grub_isxdigit.
2699 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
2700 number starting with a letter.
2701
a98f4a08
RM
27022011-10-09 Robert Millan <rmh@gnu.org>
2703
2704 LVM support for FreeBSD and GNU/kFreeBSD.
2705
2706 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
2707 GNU/kFreeBSD.
2708 (LVM_DEV_MAPPER_STRING): Move from here ...
2709 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
2710 * util/getroot.c: Include `<grub/util/lvm.h>'.
2711 (grub_util_get_dev_abstraction): Enable
2712 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
2713 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
2714 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
2715 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
2716 support it.
2717 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
2718 GNU/kFreeBSD.
2719 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
2720 when LVM abstraction is required for ${GRUB_DEVICE}.
2721
050e8e90
SJ
27222011-10-06 Szymon Janc <szymon@janc.net.pl>
2723
2724 Add support for LZO compression in GRUB:
2725 - import of minilzo library,
2726 - LZO decompression for btrfs,
2727 - lzop files decompression.
2728
2729 * grub-core/io/lzopio.c: New file.
2730 * grub-core/lib/adler32.c: Likewise.
2731 * grub-core/lib/minilzo/lzoconf.h: Likewise.
2732 * grub-core/lib/minilzo/lzodefs.h: Likewise.
2733 * grub-core/lib/minilzo/minilzo.c: Likewise.
2734 * grub-core/lib/minilzo/minilzo.h: Likewise.
2735 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
2736 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
2737 grub-core/lib/minilzo/minilzo.c to common.
2738 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
2739 cflags in cppflags.
2740 * grub-core/Makefile.core.def (btrfs): Likewise.
2741 * grub-core/Makefile.core.def (lzopio): New module.
2742 (adler32): Likewise.
2743 * grub-core/fs/btrfs.c: Include minilzo.h.
2744 (GRUB_BTRFS_COMPRESSION_LZO): New define.
2745 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
2746 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
2747 (grub_btrfs_lzo_decompress): New function.
2748 (grub_btrfs_extent_read): Add support for LZO compression type.
2749 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
2750 (GRUB_USHRT_MAX): Likewise.
2751 (GRUB_UINT_MAX): Likewise.
2752 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
2753 (UINT_MAX): Likewise.
2754 (CHAR_BIT): Likewise.
2755 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
2756 grub-core/lib/posix_wrap/limits.h
2757 (UCHAR_MAX): Likewise.
2758 * include/grub/file.h (grub_file_filter_id): New compression filter
2759 GRUB_FILE_FILTER_LZOPIO.
2760 * include/grub/file.h (grub_file_filter_id): Set
2761 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
2762 * include/grub/types.h (grub_get_unaligned16): New function.
2763 (grub_get_unaligned32): Likewise.
2764 (grub_get_unaligned64): Likewise.
2765 * util/import_gcry.py (cryptolist): Add adler32.
2766
0eb8ffb1
VS
27672011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
2768
2769 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
2770 in perspective decreases the complexity of build system and fixes
2771 compilation right now.
2772
ce79cc99 27732011-10-01 Ales Nesrsta <starous@volny.cz>
2774
2775 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
2776 (fixed problem related to using UHCI with coreboot).
2777
8667a314
BC
27782011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
2779
2780 * gentpl.py: Use Autogen macros so that the output template file
2781 (Makefile.tpl) size is reduced.
2782
fc5efcc0
MK
27832011-09-29 Mads Kiilerich <mads@kiilerich.com>
2784
2785 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
2786 extra_dist.
2787
d1ab689d
ML
27882011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2789
2790 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
2791 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
2792
c05de032
ML
27932011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2794
2795 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
2796 _fullpath.
2797
cca7ccd8
ML
27982011-09-29 Mario Limonciello <mario_limonciello@dell.com>
2799
2800 Remove extra declaration of sleep for mingw32.
2801
2802 * util/misc.c (sleep) [__MINGW32__]: Removed.
2803 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
2804
e0b0dc83
GS
28052011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
2806
2807 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
2808 type and packname.
2809 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
2810 Resurrected.
2811 (NETBSD_BTINFO_BOOTWEDGE): New definition.
2812 (grub_netbsd_btinfo_bootwedge): New struct.
2813 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
2814 New function.
2815 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
2816
91a1a164
TH
28172011-09-28 Thomas Haller <thomas.haller@fen-net.de>
2818
2819 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
2820 loader.
2821
2ded951e
AB
28222011-09-28 Andreas Born <futur.andy@googlemail.com>
2823
2824 Fix incorrect identifiers in bash-completion.
2825
2826 * util/bash-completion.d/grub-completion.bash.in
2827 (_grub_mkpasswd-pbkdf2): Rename to ...
2828 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
2829 (_grub_script-check): Rename to ...
2830 (_grub_script_check): ... this. All users updated.
2831
69915030
VS
28322011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
2833
2834 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
2835 Return 0 if disk isn't biosdisk.
2836
20fd15f9
GS
28372011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2838
2839 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
2840 on NetBSD.
2841 * Makefile.util.def (grub-fstest): Likewise.
2842
1a7d7db9
GS
28432011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
2844
2845 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
2846 Get sector size from disk label.
2847
2221ab6c
CW
28482011-09-05 Colin Watson <cjwatson@ubuntu.com>
2849
2850 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
2851 */README* as well as README*.
2852 Reported by: Axel Beckert.
2853
ca51c4a0
VS
28542011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2855
2856 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
2857 case of less than 256 MiB of RAM.
2858
ab80f326
VS
28592011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 * grub-core/commands/wildcard.c (make_regex): Handle @.
2862
4155e697
VS
28632011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * util/grub-install.in: Move cryptodisk logic to appropriate place.
2866
ab178c08
SJ
28672011-08-21 Szymon Janc <szymon@janc.net.pl>
2868
2869 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
2870 AC_LANG_CONFTEST macros.
2871
7dc3c686
SJ
28722011-08-20 Szymon Janc <szymon@janc.net.pl>
2873
2874 Add grub-fstest option to uncompress data for commands.
2875
2876 * util/grub-fstest.c (uncompress): New var.
2877 (options): New option -u.
2878
fe8d4a7b
SJ
28792011-08-20 Szymon Janc <szymon@janc.net.pl>
2880
2881 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
2882 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
2883
a5219af1
SJ
28842011-08-20 Szymon Janc <szymon@janc.net.pl>
2885
2886 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
2887 file type was not recognized correctly (not gzip or corrupted).
2888
f87abff5
VS
28892011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2890
2891 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
2892 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
2893
d94497ea
VS
28942011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
2897 loongson.
2898 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
2899 video_radeon_fuloong2e.
2900 * grub-core/video/radeon_fuloong2e.c: New file.
2901 * include/grub/video.h (grub_video_id_t): Add new ID
2902 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
2903
0d1fd011
VS
29042011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2905
2906 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
2907 define.
2908 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
2909 that PRID matches the detected subplatform and reset the subplatform
2910 if it doesn't.
2911
84beb0ee
VS
29122011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2913
2914 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
2915
1227c133
VS
29162011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2917
2918 Fix PCI iterating on functions >= 4.
2919
2920 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
2921 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
2922 Removed.
2923 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
2924 (grub_pci_read): Fix bitmask.
2925 (grub_pci_read_word): Likewise.
2926 (grub_pci_read_byte): Likewise.
2927 (grub_pci_write): Likewise.
2928 (grub_pci_write_word): Likewise.
2929 (grub_pci_write_byte): Likewise.
2930
9594c689
VS
29312011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
2934 can still be specified in TARGET_CFLAGS)
2935
14a2562c
VS
29362011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
2939
2940 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
2941 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
2942 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
2943 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
2944 (FULOONG): Rename to ...
2945 (FULOONG2F): ... this. All users updated.
2946 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
2947 (machtype_fuloong2f_str): ... this.
2948 (machtype_fuloong2e_str): New string.
2949 Check for machtype_fuloong2e_str.
2950 * grub-core/loader/mips/linux.c (loongson_machtypes)
2951 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
2952 * grub-core/term/serial.c (loongson_defserial)
2953 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
2954 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
2955 loongson_defserial.
2956 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
2957 Rename to ...
2958 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
2959 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
2960 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
2961 to IMAGE_FULOONG2F_FLASH. All users updated.
2962 (image_targets): Rename images.
2963 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
2964
b526cbb6
SJ
29652011-08-19 Szymon Janc <szymon@janc.net.pl>
2966
2967 Make enable of disk cache statistics code configurable.
2968
2969 * configure.ac: --enable-cache-stats added.
2970 * config.h.in (DISK_CACHE_STATS): New define.
2971 * grub-core/Makefile.core.def (cacheinfo): New command.
2972 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
2973 * grub-core/commands/cacheinfo.c: New file.
2974 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
2975 moved to cacheinfo.c.
2976 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
2977 debug code.
2978 * include/grub/disk.h: Likewise.
2979
fb739ccd
SJ
29802011-08-19 Szymon Janc <szymon@janc.net.pl>
2981
2982 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
2983 * grub-core/Makefile.am: Likewise.
2984
2bba8cfd
VS
29852011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
2988 non-zero pull.
2989
43526629
VS
29902011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2991
2992 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
2993 All users updated.
2994 (grub_jfs_lookup_symlink): Use correct starting inode.
2995
5c144cc8
VS
29962011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
2997
2998 * util/grub-setup.c (main): Add missing gcry initialisation.
2999
b1257f65
VS
30002011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
3001
3002 Don't accept text modes on EFI when booting Linux.
3003
3004 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
3005 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
3006
828bc390
ML
30072011-08-15 Mario Limonciello <mario_limonciello@dell.com>
30082011-08-15 Colin Watson <cjwatson@ubuntu.com>
3009
3010 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
3011 use of "/path/.." as in grub-install for EFI as well as handling
3012 symlinks correctly.
3013 Fixes Debian bug #637768.
3014
5f60ccac
CW
30152011-08-15 Colin Watson <cjwatson@ubuntu.com>
3016
3017 * util/grub-probe.c: Remove duplicate #include.
3018
6dc212f9
RM
30192011-08-10 Robert Millan <rmh@gnu.org>
3020
3021 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
3022
3023 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
3024 function.
3025 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
3026 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
3027
66816d85
RM
30282011-08-03 Robert Millan <rmh@gnu.org>
3029
3030 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
3031 la_array as packed.
3032 Reported by: Zachary Bedell
3033
20168fca
CW
30342011-07-26 Colin Watson <cjwatson@ubuntu.com>
3035
3036 * configure.ac: The Loongson port requires grub-mkfont due to its
3037 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
3038 be built.
3039
303b6246
CW
30402011-07-26 Colin Watson <cjwatson@ubuntu.com>
3041
3042 * util/grub-install.in: Don't source grub-mkconfig_lib until after
3043 processing arguments (otherwise help2man fails when GRUB has not yet
3044 been installed).
3045
6795300e
VS
30462011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3047
41aa28ea
VS
3048 New script grub-mkstandalone.
3049
3050 * Makefile.util.def (grub-mkstandalone): New script.
3051 * docs/man/grub-mkstandalone.h2m: New file.
3052 * util/grub-mkstandalone.in: Likewise.
3053
30542011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 Support ATA disks with 4K sectors.
6795300e
VS
3057
3058 * include/grub/ata.h (grub_ata): New member log_sector_size.
3059 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
3060 (grub_ata_identify): Read sector size.
3061 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
3062
92227597
VS
30632011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3064
3065 * util/grub-install.in: Don't use uhci outside of x86.
3066
c77069f5
VS
30672011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * util/grub-mkrescue.in: Add missing quotes.
3070
30712011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
3072
3073 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
3074 dereference.
3075
583168a2
VS
30762011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
3079
6be1c01f
VS
30802011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3081
3082 * include/grub/video.h: add missing EXPORT_FUND on
3083 grub_video_edid_checksum and grub_video_edid_preferred_mode.
3084
a1167439
VS
30852011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3086
3087 * include/grub/mips/kernel.h: Fix define conflict.
3088
bf66054f
VS
30892011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
3092 all four ways.
3093
8fc4fa45
CW
30942011-07-21 Colin Watson <cjwatson@ubuntu.com>
3095
3096 Preferred resolution detection for VBE.
3097
3098 * grub-core/video/video.c (grub_video_edid_checksum): New function.
3099 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
3100 the Flat Panel extension, in line with the X.org VESA driver.
3101 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
3102 New function.
3103 (grub_vbe_bios_get_ddc_capabilities): Likewise.
3104 (grub_vbe_bios_read_edid): Likewise.
3105 (grub_vbe_get_preferred_mode): Likewise.
3106 (grub_video_vbe_setup): When the mode is "auto", try to get the
3107 preferred mode from VBE, and use the largest mode that is no larger
3108 than the preferred mode (some BIOSes expose a preferred mode that is
3109 not in their mode list!). If this fails, fall back to 640x480 as a
3110 safe conservative choice.
3111 (grub_video_vbe_get_edid): New function.
3112 (grub_video_vbe_adapter): Add get_edid.
3113 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
3114 (struct grub_video_adapter): Add get_edid.
3115 (grub_video_edid_checksum): Add prototype.
3116 (grub_video_edid_preferred_mode): Likewise.
3117 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
3118 structure.
3119
3120 * grub-core/commands/videoinfo.c (print_edid): New function.
3121 (grub_cmd_videoinfo): Print EDID if available.
3122
3123 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
3124 is more appropriate on a wider range of platforms than 640x480.
3125 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
3126 documentation.
3127
ca5572a9
VS
31282011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
3131
e4bcf625
VS
31322011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * po/POTFILES.in: Regenerate.
3135
c4edd548
VS
31362011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3137
3138 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
3139 incorrect memory usage.
3140
16a2bab0
VS
31412011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
3142
3143 * util/grub-install.in: Source grub-mkconfig_lib.
3144
2e418de6
VS
31452011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3146
3147 Remove getroot.c from core on emu platform.
3148
3149 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
3150 kern/emu/raid.c.
3151 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
3152 useless.
3153 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
3154 * util/getroot.c (get_win32_path): ... here.
3155 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
3156 * util/getroot.c (fini_libzfs): ... here.
3157 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
3158 * util/getroot.c (grub_get_libzfs_handle): ... here.
3159 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
3160 Moved from here...
3161 * util/getroot.c (grub_find_zpool_from_dir): ... here.
3162 * grub-core/kern/emu/misc.c
3163 (grub_make_system_path_relative_to_its_root): Moved from here...
3164 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
3165 * grub-core/kern/emu/getroot.c: Moved from here ...
3166 * util/getroot.c: ... here. All users updated.
3167 * grub-core/kern/emu/raid.c: Moved from here ...
3168 * util/raid.c: ... here. All users updated.
3169
def9832a
VS
31702011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
3171
3172 * po/POTFILES.in: Regenerate.
3173
cd8fe79a
VS
31742011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 Fix compilation on GNU/Linux.
3177
3178 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
3179 Disable geli.
3180 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
3181 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
3182 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
3183
a251b719
VS
31842011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
31852011-07-07 Michael Gorven <michael@gorven.za.net>
31862011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
3187
3188 LUKS and GELI support.
3189
3190 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
3191 grub-core/disk/luks.c, grub-core/disk/geli.c,
3192 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
3193 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
3194 grub-core/lib/arg.c.
3195 (libgrubmods.a): Remove gcrypts cflags and cppflags.
3196 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
3197 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
3198 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
3199 (grub-bin2h): Add libgcry.a.
3200 (grub-mkimage): Likewise.
3201 (grub-mkrelpath): Likewise.
3202 (grub-script-check): Likewise.
3203 (grub-editenv): Likewise.
3204 (grub-mkpasswd-pbkdf2): Likewise.
3205 (grub-pe2elf): Likewise.
3206 (grub-fstest): Likewise.
3207 (grub-mkfont): Likewise.
3208 (grub-mkdevicemap): Likewise.
3209 (grub-probe): Likewise.
3210 (grub-ofpath): Likewise.
3211 (grub-mklayout): Likewise.
3212 (example_unit_test): Likewise.
3213 (grub-menulst2cfg): Likewise.
3214 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
3215 * grub-core/Makefile.core.def (cryptodisk): New module.
3216 (luks): Likewise.
3217 (geli): Likewise.
3218 * grub-core/disk/AFSplitter.c: New file.
3219 * grub-core/disk/cryptodisk.c: Likewise.
3220 * grub-core/disk/geli.c: Likewise.
3221 * grub-core/disk/luks.c: Likewise.
3222 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
3223 grub_util_is_lvm.
3224 (grub_util_get_dm_abstraction): New function.
3225 (grub_util_follow_gpart_up): Likewise.
3226 (grub_util_get_geom_abstraction): Likewise.
3227 (grub_util_get_dev_abstraction): Use new functions.
3228 (grub_util_pull_device): Pull GELI and LUKS.
3229 (grub_util_get_grub_dev): Handle LUKS and GELI.
3230 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
3231 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
3232 (follow_geom_up): Removed.
3233 (grub_util_fd_seek): New function.
3234 (open_device): Use grub_util_fd_seek.
3235 (nread): Rename to ..
3236 (grub_util_fd_read): ... this. All users updated.
3237 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
3238 (grub_crypto_cbc_decrypt): Likewise.
3239 (grub_crypto_hmac_write): Likewise.
3240 (grub_crypto_hmac_buffer): Likewise.
3241 (grub_password_get): Extend to util.
3242 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
3243 New member modname.
3244 (gcry_md_spec) [GRUB_UTIL]: Likewise.
3245 * include/grub/cryptodisk.h: New file.
3246 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
3247 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
3248 LUKS and GELI.
3249 (grub_util_follow_gpart_up): New proto.
3250 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
3251 (grub_util_fd_read): Likewise.
3252 (grub_cryptodisk_cheat_mount): Likewise.
3253 (grub_util_cryptodisk_print_uuid): Likewise.
3254 (grub_util_get_fd_sectors): Likewise.
3255 * util/grub-fstest.c (mount_crypt): New var.
3256 (fstest): Mount crypto if requested.
3257 (options): New option -C.
3258 (argp_parser): Parse -C.
3259 (main): Init and fini gcry.
3260 * util/grub-install.in: Support cryptodisk install.
3261 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
3262 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
3263 cryptodisk.
3264 (prepare_grub_to_access_device): Likewise.
3265 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
3266 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
3267 (probe_cryptodisk_uuid): New function.
3268 (probe_abstraction): Likewise.
3269 (probe): Use new functions.
3270 * util/import_gcry.py: Create Makefile.utilgcry.def.
3271 Add modname member.
3272
9bfdcbbc
VS
32732011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 Lazy device scanning.
3276
3277 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
3278 (grub-setup): Remove util/raid.c.
3279 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
3280 * grub-core/disk/lvm.c (scan_depth): New variable.
3281 (grub_lvm_iterate): Rescan if necessary.
3282 (find_lv): New function based on grub_lvm_open.
3283 (grub_lvm_open): Use find_lv. Rescan on error.
3284 (is_node_readable): New function.
3285 (is_lv_readable): Likewise.
3286 (grub_lvm_scan_device): Skip already found disks.
3287 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
3288 Stop if searched device is found and readable.
3289 * grub-core/disk/raid.c (inscnt): New variable.
3290 (scan_depth): Likewise.
3291 (scan_devices): New function based on grub_raid_register. Abort if
3292 looked for device is found.
3293 (grub_raid_iterate): Rescan if needed.
3294 (find_array): NEw function based on -grub_raid_open.
3295 (grub_raid_open): Use find_array and rescan.
3296 (insert_array): Set became_readable_at.
3297 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
3298 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
3299 New function.
3300 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
3301 (grub_util_pull_device): New function.
3302 (grub_util_get_grub_dev): Call grub_util_pull_device.
3303 * util/raid.c: Moved to ..
3304 * grub-core/kern/emu/raid.c: ... here.
3305 (grub_util_raid_getmembers): New parameter "bootable".
3306 All users updated. Support 1.x.
3307 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
3308 All users updated.
3309 * include/grub/disk.h (grub_disk_pull_t): New enum.
3310 (grub_disk_dev): Change iterate prototype.
3311 All users updated.
3312 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
3313 New proto.
3314 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
3315 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
3316 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
3317 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
3318 All users updated.
3319 * include/grub/util/raid.h: Removed.
3320
1c358e59
VS
33212011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3322
3323 * po/POTFILES.in: Regenerate.
3324
abee94ed
VS
33252011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
3326
3327 Unify sparc init with other ieee1275.
3328
3329 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
3330 instead of kern/sparc64/ieee1275/init.c.
3331 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
3332 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
3333 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
3334 grub/machine/kernel.h.
3335 (grub_ieee1275_original_stack) [__sparc__]: New variable.
3336 (grub_claim_heap) [__sparc__]: Use sparc version.
3337 (grub_machine_init): Moved args parsing to
3338 (grub_parse_cmdline): ...this.
3339 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
3340 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
3341 New definition.
3342 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
3343
3344 Move BOOTP to separate file.
3345
3346 * grub-core/Makefile.core.def (net): Add net/bootp.c.
3347 * grub-core/net/net.c: Move all BOOTP functions to
3348 * grub-core/net/bootp.c: ... here.
3349
3350 Use frame interface on PXE.
3351
3352 * grub-core/Makefile.core.def (pxecmd): Removed.
3353 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
3354 * grub-core/commands/i386/pc/pxecmd.c: Removed.
3355 * grub-core/i386/pc/pxe.c: Moved from here ...
3356 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
3357 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
3358 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
3359
3360 EFI network support.
3361
3362 * grub-core/Makefile.core.def (efinet): New module.
3363 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
3364 here...
3365 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
3366 All users updated.
3367 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
3368 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
3369 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
3370 * grub-core/net/drivers/efi/efinet.c: New file.
3371 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
3372 (grub_efi_net_config): New extern var.
3373
3374 Various cleanups and bugfixes.
3375
3376 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
3377 error.
3378 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
3379 disk declared as partition.
3380 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
3381 leak on failure.
3382 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
3383 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
3384 (grub_debug_zalloc): Likewise.
3385 (grub_debug_realloc): Likewise.
3386 (grub_debug_memalign): Likewise.
3387 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
3388 Check that target is IPv4.
3389 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
3390 local-mac-address as fallback.
3391 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
3392 memory leak.
3393 * grub-core/net/ip.c (ipchksum): Rename to ...
3394 (grub_net_ip_chksum): ... this. All users updated.
3395 (grub_net_recv_ip_packets): Special handling for DHCP.
3396 * util/grub-mkimage.c (generate_image): Zero-out aout header.
3397
3398 Unify prefix handling
3399
3400 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
3401 (grub_machine_get_bootlocation): ... this.
3402 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
3403 (grub_machine_get_bootlocation): ... this.
3404 (grub_prefix): New variable.
3405 (prefix): Removed.
3406 (root_dev): New variable.
3407 (dir): Likewise.
3408 (main): Use new variables.
3409 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
3410 Revamped into ...
3411 (grub_machine_get_bootlocation): ... this.
3412 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
3413 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
3414 (grub_machine_get_bootlocation): ... this.
3415 (grub_machine_set_prefix): Removed.
3416 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
3417 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
3418 Revamped into ...
3419 (grub_machine_get_bootlocation): ... this.
3420 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
3421 (grub_set_prefix_and_root): ... this. All users updated.
3422 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
3423 Revamped into ...
3424 (grub_machine_get_bootlocation): ... this.
3425 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
3426 (grub_machine_get_bootlocation): New proto.
3427 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
3428
3429 Less intrusive and more reliable seek on network implementation.
3430
3431 * grub-core/kern/file.c (grub_file_net_seek): Removed.
3432 (grub_file_seek): Don't call grub_file_net_seek.
3433 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
3434 (grub_net_fs_read_real): .. this.
3435 (grub_net_seek_real): Use net->offset.
3436 (grub_net_fs_read): Seek if necessary.
3437
3438 Unify IEEE1275 netwotk config with the other platforms.
3439
3440 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
3441 New variable.
3442 (grub_machine_get_bootlocation): Support network.
3443 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
3444 Support type and device parsing.
3445 (grub_ieee1275_get_device_type): New function.
3446 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
3447 into ...
3448 (grub_ieee1275_net_config_real): ... this.
3449 (grub_ofnet_probecards): Removed.
3450 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
3451 * include/grub/ieee1275/ofnet.h: Removed.
3452 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
3453 extern var.
3454 (grub_ieee1275_get_device_type): New function.
3455
3456 Unify network device closing across platforms and make more robust.
3457
3458 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
3459 grub_grubnet_fini.
3460 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
3461 already.
3462 * grub-core/net/net.c (grub_net_network_level_interface_register):
3463 Update num_ifaces.
3464 (grub_net_card_unregister): Close all interfaces.
3465 (receive_packets): Don't poll if no iterfaces are registered.
3466 Open if necessary.
3467 (grub_net_fini_hw): New function.
3468 (grub_net_restore_hw): Likewise.
3469 (fini_hnd): New variable.
3470 (GRUB_MOD_INIT): Register preboot hook.
3471 (GRUB_MOD_FINI): Run and unregister preboot hook.
3472
3473 Poll network cards when idle.
3474
3475 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
3476 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
3477 * grub-core/net/net.c (receive_packets): Save last poll time.
3478 (grub_net_poll_cards_idle_real): New function.
3479 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
3480 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
3481 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
3482
3483 Rename ofnet interfaces.
3484
3485 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
3486 (grub_ofnet_findcards): Use ofnet_%s names.
3487
3488 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
3489
3490 Cleanup socket opening.
3491
3492 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
3493 (grub_net_fs_close): Likewise.
3494 (grub_net_fs_read_real): Use eof member.
3495 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
3496 (+grub_net_udp_close): New inline function.
3497
3498 * include/grub/net/tftp.h: Moved to the top of ...
3499 * grub-core/net/tftp.c: ... here.
3500 * include/grub/net/ip.h: Moved mostly to the top of ...
3501 * grub-core/net/ip.c: ... here.
3502 * include/grub/net/ethernet.h: Moved mostly to the top of ...
3503 * grub-core/net/ethernet.c: ... here.
3504
3505 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
3506
3507 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
3508 FS name.
3509
3510 * include/grub/net/ip.h (ipv4_ini): Removed.
3511 (ipv4_fini): Likewise.
3512
3513 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
3514 (grub_net_send_ip_packets): Likewise.
3515
cf1337aa
VS
35162011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3517
3518 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
3519 grub_read_cmos prototype.
3520
93c06ff9
VS
35212011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 VGA text support in qemu-mips
3524
3525 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
3526 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
3527 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
3528 text.
3529 * grub-core/kern/i386/qemu/init.c: Renamed to ...
3530 * grub-core/kern/vga_init.c: ... this.
3531 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
3532 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
3533 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
3534 Adjust.
3535 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
3536 GRUB_MACHINE_PCI_IO_BASE.
3537
748ccabe
VS
35382011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 MIPS qemu flash support.
3541
3542 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
3543 magic.
3544 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
3545 (grub_machine_init): Probe memory if its size isn't known.
3546 * util/grub-mkimage.c (image_targets): Add flash targets.
3547 (generate_image): Handle flash targets.
3548
d7345994
VS
35492011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3550
3551 MIPS qemu at_keyboard support.
3552
3553 * gentpl.py (videoinkernel): Add qemu-mips.
3554 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
3555 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
3556 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
3557 modules.
3558 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
3559 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
3560 * grub-core/term/serial.c (grub_serial_register)
3561 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
3562
a07a81b3
VS
35632011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
3564
3565 CMOS support on sparc.
3566
3567 * gentpl.py (cmos): Add powerpc and sparc.
3568 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
3569 powerpc and sparc.
3570 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
3571 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
3572 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
3573 grub_set_datetime_cmos.
3574 * grub-core/lib/ieee1275/cmos.c: New file.
3575 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
3576 (find_rtc): Set no_ieee1275_rtc on error.
3577 (grub_get_datetime): Call grub_get_datetime_cmos on error.
3578 (grub_set_datetime): Call grub_set_datetime_cmos on error.
3579 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
3580 fail. Move value to argument. All users updated
3581 (grub_cmos_write): Likewise.
3582 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
3583 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
3584 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
3585 grub_get_datetime_cmos and grub_set_datetime_cmos.
3586
77546584
GS
35872011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
3588
3589 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
3590 sourcing grub-mkconfig_lib.
3591 * util/update-grub_lib.in: Likewise.
3592 * util/grub.d/00_header.in: Likewise.
3593 * util/grub.d/10_hurd.in: Likewise.
3594 * util/grub.d/10_kfreebsd.in: Likewise.
3595 * util/grub.d/10_linux.in: Likewise.
3596 * util/grub.d/10_netbsd.in: Likewise.
3597 * util/grub.d/10_windows.in: Likewise.
3598 * util/grub.d/20_linux_xen.in: Likewise.
3599 * util/grub.d/30_os-prober.in: Likewise.
3600
54894791
CW
36012011-06-28 Colin Watson <cjwatson@ubuntu.com>
3602
3603 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
3604 default_bg_color rather than black.
3605 (grub_gfxterm_fullscreen): Likewise.
3606 (grub_gfxterm_background_color_cmd): Save new background color in
3607 default_bg_color.
3608
8d5d8444
VS
36092011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3610
3611 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
3612
5afeb5bd
VS
36132011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3614
3615 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
3616 mismerge.
3617
ba7df45e
VS
36182011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3619
3620 Chainloading on coreboot support.
3621
3622 * grub-core/Makefile.core.def (chain): Add coreboot.
3623 * grub-core/loader/i386/coreboot/chainloader.c: New file.
3624
d0b526b2
VS
36252011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
3628 if it happens.
3629
5ff1d945
VS
36302011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3631
3632 Implement time command.
3633
3634 * grub-core/Makefile.core.def (time): New module.
3635 * grub-core/commands/time.c: New file.
3636 * grub-core/script/parser.y: Remove "time" keyword.
3637 * grub-core/script/yylex.l: Likewise.
3638
5ebaad7e
VS
36392011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3640
3641 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
3642
bdea3798
VS
36432011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
3646 when handling leftovers.
3647
b28c5655
VS
36482011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
3651 so that help2man doesn't fail.
3652
b6f945dc
VS
36532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3654
3655 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
3656 type in pointers on sparc64.
3657 (get_card_packet): Likewise.
3658
f9b75e8a
CW
36592011-06-27 Colin Watson <cjwatson@ubuntu.com>
3660
3661 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
3662 with `*'.
3663 (grub_cmd_videoinfo): Fetch current video mode.
3664
1e3d9b86
VS
36652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3666
3667 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
3668 because of underlying system restrictions.
3669
efff4b1c
VS
36702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
3673 necessary.
3674
9fc9ce37
VS
36752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 Coreboot video support.
3678
3679 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
3680 (vbe): Likewise.
3681 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
3682 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
3683 here ...
3684 * grub-core/kern/i386/int.S: ... here.
3685 * grub-core/video/i386/pc/vbe.c: Updated includes.
3686 * grub-core/video/i386/pc/vga.c: Likewise.
3687 * include/grub/i386/coreboot/memory.h
3688 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
3689 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
3690 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
3691 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
3692 Disable interrupts.
3693 * include/grub/i386/pc/vga.h: Removed. All users updated.
3694
41bec7fe
VS
36952011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3696
3697 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
3698 definitions for dprintf.
3699 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
3700
ca80309d
VS
37012011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
3702
3703 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
3704 prototype.
3705 (get_card_packet): Likewise.
3706
9e322ce8
YB
37072011-06-26 Yves Blusseau <blusseau@zetam.org>
3708
3709 Display the path of the file when file is not found
3710
3711 * grub-core/fs/fat.c: Display the filename when file is not found.
3712 * grub-core/fs/fshelp.c: Likewise.
3713 * grub-core/fs/hfs.c: Likewise.
3714 * grub-core/fs/jfs.c: Likewise.
3715 * grub-core/fs/minix.c: Likewise.
3716 * grub-core/fs/ufs.c: Likewise.
3717 * grub-core/fs/btrfs.c: Likewise.
3718 * grub-core/commands/i386/pc/play.c: Likewise.
3719
cbf597af
SJ
37202011-06-26 Szymon Janc <szymon@janc.net.pl>
3721
3722 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
3723 pointer checks before calling grub_free().
3724 * grub-core/commands/wildcard.c (match_devices): Likewise.
3725 * grub-core/commands/wildcard.c (match_files): Likewise.
3726 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
3727 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
3728 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
3729 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
3730 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
3731 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
3732 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
3733 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
3734 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
3735
6295b32f
P
37362011-06-25 Patrick <p55@mailinator.com>
3737
3738 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
3739
77c0840b
VS
37402011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
3741
3742 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
3743 (grub_pxe_send): Likewise.
3744 (GRUB_MOD_INIT): Fix types.
3745
40ea05de
SJ
37462011-06-24 Szymon Janc <szymon@janc.net.pl>
3747
3748 * grub-core/io/xzio.c: Fix code style issues
3749
90162423
MRA
37502011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
37512011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
3752
3753 Network infrastructure.
3754 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
3755
3756 * include/grub/net/arp.h: New file.
90162423
MRA
3757 * include/grub/net/device.h: Likewise.
3758 * include/grub/net/ethernet.h: Likewise.
3759 * include/grub/net/ip.h: Likewise.
3760 * include/grub/net/netbuff.h: Likewise.
3761 * include/grub/net/tftp.h: Likewise.
3762 * include/grub/net/udp.h: Likewise.
3763 * include/grub/ieee1275/ofnet.h: Likewise.
3764 * include/grub/emu/export.h: Likewise.
3765 * include/grub/net.h: Likewise.
3766 * grub-core/net/arp.c: Likewise.
3767 * grub-core/net/ethernet.c: Likewise.
3768 * grub-core/net/ip.c: Likewise.
3769 * grub-core/net/udp.c: Likewise.
3770 * grub-core/net/tftp.c: Likewise.
3771 * grub-core/net/netbuff.c: Likewise.
3772 * grub-core/net/net.c: Likewise.
3773 * grub-core/net/drivers/emu/emunet.c: Likewise.
3774 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
3775 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
3776 export.h.
3777 * grub-core/Makefile.core.def (net): New module.
3778 (tftp): Likewise.
3779 (ofnet): Likewise.
3780 (emunet): Likewise.
3781 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
3782 network protocols.
3783 * grub-core/kern/device.c (grub_net_open) : New variable.
3784 (grub_device_open): Handle network device.
3785 (grub_device_close): Likewise.
3786 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
3787 (grub_grubnet_fini): Likewise.
3788 (grub_file_seek): Seek in network device.
3789 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
3790 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
3791 network root.
3792 (grub_machine_fini): Call grub_grubnet_fini.
3793 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
3794 network.
3795 (grub_ieee1275_get_aliasdevname): New function.
3796 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
3797 Add unofficial Solaris network info.
3798 (grub_multiboot_make_mbi): Likewise.
3799 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
3800 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
3801 * include/grub/device.h (grub_fs): Removed.
3802 * include/grub/err.h (grub_err_t): Add network-related values.
3803 * include/grub/i386/pc/pxe.h: Removed bootp parts.
3804 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
3805 (grub_ieee1275_get_aliasdevname): New proto.
3806 * include/grub/net.h: Rewritten.
423a1849 3807
031f22a0
VS
38082011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
3811 names.
3812
4388ca72
VS
38132011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
3816 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
3817 it truncates the output.
3818 Reported by: Ximin Luo.
3819
98e2f506
VS
38202011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3821
3822 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
3823
2a5e94d8
VS
38242011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3825
3826 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
3827 partmap before abstraction.
3828
535c1910
AK
38292011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
3830
3831 * util/grub-mkconfig_lib.in: Add missing quotes.
3832
bc09e1a2
VS
38332011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3834
3835 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
3836 old method if mountinfo would return /dev/root and /dev/root doesn't
3837 exist.
3838
290766fb
VS
38392011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3840
3841 ZFS zlib support
3842
3843 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
3844 (decomp_table): Add zlib entries.
3845 (zio_read): USe 8 bits for compression function rather than 3.
3846 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
3847
38482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 * grub-core/disk/ahci.c: Add missing license statements.
3851 * grub-core/fs/romfs.c: Likewise.
3852 * grub-core/lib/ia64/setjmp.S: Likewise.
3853 * grub-core/loader/i386/pc/freedos.c: Likewise.
3854 * grub-core/loader/ia64/efi/linux.c: Likewise.
3855 * grub-core/video/colors.c: Likewise.
3856 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
3857
5ab3f48a
VS
38582011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3859
3860 AHCI support.
3861
3862 * grub-core/Makefile.core.def (ata_pthru): Removed.
3863 (ahci): New module.
3864 (pata): Likewise.
3865 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
3866 on unload.
3867 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
3868 readwrite.
3869 (grub_hdparm_do_check_powermode_cmd): Likewise.
3870 (grub_hdparm_do_smart_cmd): Likewise.
3871 (grub_hdparm_set_val_cmd): Likewise.
3872 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
3873 * grub-core/disk/ahci.c: New file.
3874 * grub-core/disk/ata.c: Factor out the low-level part into ...
3875 * grub-core/disk/pata.c: ... here.
3876 * grub-core/disk/ata_pthru.c: Contents moved to ...
3877 * grub-core/disk/pata.c: ... here.
3878 * grub-core/disk/scsi.c (grub_scsi_names): New array.
3879 (grub_scsi_iterate): Use grub_scsi_names.
3880 (grub_scsi_open): Likewise.
3881 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
3882 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
3883 (grub_ata_regs_t): New struct.
3884 (grub_disk_ata_pass_through_parms): Likewise.
3885 (grub_ata_device): Renamed to ...
3886 (grub_ata): ... this.
3887 (grub_ata_dev): New struct.
3888 Removed all low-level inline functions.
3889 * include/grub/scsi.h: Add PATA and AHCI subsystems.
3890 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
3891 iterate hooks and open. All users updated.
3892 * util/grub-install.in: Handle AHCI disk module.
3893
c31dc5f5
SJ
38942011-06-23 Szymon Janc <szymon@janc.net.pl>
3895
3896 Add support for DRI and RSTn markers in JPEG files.
3897
3898 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
3899 (JPEG_MARKER_RST0): Likewise.
3900 (JPEG_MARKER_RST1): Likewise.
3901 (JPEG_MARKER_RST2): Likewise.
3902 (JPEG_MARKER_RST3): Likewise.
3903 (JPEG_MARKER_RST4): Likewise.
3904 (JPEG_MARKER_RST5): Likewise.
3905 (JPEG_MARKER_RST6): Likewise.
3906 (JPEG_MARKER_RST7): Likewise.
3907 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
3908 (grub_jpeg_decode_dri): New function.
3909 (grub_jpeg_decode_sos): Move image data related part into
3910 grub_jpeg_decode_data function.
3911 (grub_jpeg_decode_data): New function.
3912 (grub_jpeg_reset): New function.
3913 (grub_jpeg_decode_jpeg): Handle new markers.
3914
fe12fd5b
VS
39152011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3916
3917 * util/ieee1275/ofpath.c (check_sas): Close fd.
3918 (main): Free of_path.
3919 Reported by: David Volgyes <dvolgyes>.
3920
03147f46
VS
39212011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
3924 Reported by: David Volgyes <dvolgyes>.
3925
cad3237f
VS
39262011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3927
3928 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
3929 file after stat.
3930 Reported by: David Volgyes <dvolgyes>.
3931
13548d26
VS
39322011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3933
3934 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
3935
3936 Reported by: David Volgyes <dvolgyes>.
3937
e061a1b5
VS
39382011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3939
3940 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
3941 Prevent memory leak.
3942
1abe47dc
VS
39432011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3944
3945 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
3946 (main): Close file.
e061a1b5 3947 Reported by: David Volgyes <dvolgyes>.
1abe47dc 3948
fbc62666
VS
39492011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
3952 to continue if allocation is failed.
3953
3954 Reported by: David Volgyes <dvolgyes>.
3955
e98c83e9
DV
39562011-06-23 David Volgyes <dvolgyes>
3957
3958 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
3959 dereference.
3960
a199a8cd
VS
39612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3962
3963 Fix spurious warning.
3964
3965 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
3966 (acorn_partition_map_find): Use .bin member.
3967
e2d1dba0
VS
39682011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
3971 /dev/root as a valid device.
3972
8a5d6919
JM
39732011-06-23 Jim Meyering <meyering@redhat.com>
3974
e2d1dba0
VS
3975 Avoid NULL deref in grub_device_open.
3976
8a5d6919
JM
3977 * grub-core/kern/device.c (grub_device_open): Don't dereference
3978 a NULL pointer upon failed grub_env_get.
3979
f7db6f4a
VS
39802011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
3981
3982 Support non-512B sectors and agglomerate reads.
3983
3984 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
3985 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
3986 (disk_io_guid): Removed.
3987 (make_devices): Locate solely by BlockIO.
3988 (grub_efidisk_open): Fill log_sector_size and total_sectors.
3989 (grub_efidisk_read): Use read_blocks.
3990 (grub_efidisk_write): Use write_blocks.
3991 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
3992 log_sector_size.
3993 (get_safe_sectors): Handle non-512B sectors.
3994 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
3995 sectors.
3996 (grub_biosdisk_write): Handle non-512B sectors.
3997 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
3998 (grub_scsi_read): Remove special non-512B block handling (now handled
3999 one level up).
4000 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
4001 and do sanity checks.
4002 (grub_disk_adjust_range): Handle non-512B sectors.
4003 (transform_sector): New function.
4004 (grub_disk_read_small): Likewise.
4005 (grub_disk_read): Rewritten.
4006 (grub_disk_write): Handle non-512B sectors.
4007 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
4008 log_sector_size.
4009 (open_device): Use log_sector_size.
4010 (grub_util_biosdisk_read): Likewise.
4011 (grub_util_biosdisk_write): Likewise.
4012 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
4013 non-512B sectors.
4014 (pc_partition_map_embed): Likewise.
4015 * include/grub/disk.h (grub_disk): New field log_sector_size.
4016 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
4017 (GRUB_DISK_CACHE_BITS): Increased to 6.
4018 * util/grub-fstest.c (fstest): New command testload.
4019 (argp_parser): Likewise.
4020
881ac815
RM
40212011-06-16 Robert Millan <rmh@gnu.org>
4022
4023 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
4024 `ata' driver on kernel of FreeBSD 9.
4025
4026 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
4027 (get_ataraid_disk_name): New functions.
4028 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
4029 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
4030 get_ataraid_disk_name() and get_ada_disk_name().
4031
1e9aef7d
CW
40322011-06-13 Colin Watson <cjwatson@ubuntu.com>
4033
4034 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
4035 input format.
4036
351c7c8a
CW
40372011-05-29 Colin Watson <cjwatson@ubuntu.com>
4038
4039 * docs/grub.texi (Obtaining and Building GRUB): Substitute
4040 `ftp.gnu.org' for `alpha.gnu.org'.
4041
6b4e6430
CW
40422011-05-27 Colin Watson <cjwatson@ubuntu.com>
4043
4044 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
4045 partitions under /dev/disk/by-id/.
4046
c64db050
CW
40472011-05-27 Colin Watson <cjwatson@ubuntu.com>
4048
4049 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
4050 after ten consecutive open failures. Scanning all the way up to
4051 10000 is excessive and can cause serious performance problems in
4052 some configurations.
4053 Fixes Ubuntu bug #787461.
4054
245f4aba
VS
40552011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
4058 opening new one.
4059
f767c929
VS
40602011-05-21 Colin Watson <cjwatson@ubuntu.com>
40612011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
4062
4063 Don't stat devices unless we have to.
4064
4065 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
4066 dir == /dev/mapper.
4067 (grub_guess_root_device): Use already known os_dev if possible.
4068 * grub-core/kern/emu/hostdisk.c
4069 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
4070 if device is known to be a dm one.
4071
f35fa3a6
CW
40722011-05-20 Colin Watson <cjwatson@ubuntu.com>
4073
4074 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
4075 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
4076 Reported by: Pawel Tecza.
4077
9a79fcf2
VS
40782011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4079
4080 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
4081 (lsefisystab): Likewise.
4082 (lssal): Likewise.
4083 (lsefimmap): Likewise.
4084 (hdparm): Enable on qemu-mips.
4085 (setjmp): Add ia64 nodist.
4086 (serial): Simplify tags.
4087
63e3eea9
CW
40882011-05-18 Colin Watson <cjwatson@ubuntu.com>
4089
4090 * Makefile.util.def (grub-ofpathname): Install manual page.
4091
09728256
CW
40922011-05-18 Colin Watson <cjwatson@ubuntu.com>
4093
4094 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
4095
8b63a142
CW
40962011-05-18 Colin Watson <cjwatson@ubuntu.com>
4097
4098 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
4099
e775d8ed
VS
41002011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4101
4102 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
4103 into dprintf.
4104
bf947d36
VS
41052011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4106
4107 Use full 64-bit division.
4108
4109 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
4110 (grub_divmod64): ... this.
4111 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
4112 version.
4113
b84f26c5
CW
41142011-05-18 Colin Watson <cjwatson@ubuntu.com>
4115
4116 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
4117 `source'.
4118
5626056f
CW
41192011-05-18 Colin Watson <cjwatson@ubuntu.com>
4120
4121 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
4122 to avoid accidents when debugging with 'sh -x'.
4123 * grub-core/gensyminfo.sh.in: Likewise.
4124 * tests/example_scripted_test.in: Likewise.
4125 * tests/grub_cmd_regexp.in: Likewise.
4126 * tests/grub_script_blanklines.in: Likewise.
4127 * tests/grub_script_dollar.in: Likewise.
4128 * tests/grub_script_expansion.in: Likewise.
4129 * tests/grub_script_final_semicolon.in: Likewise.
4130 * tests/partmap_test.in: Likewise.
4131 * tests/util/grub-shell-tester.in: Likewise.
4132 * tests/util/grub-shell.in: Likewise.
4133
e2965f4a
CW
41342011-05-18 Colin Watson <cjwatson@ubuntu.com>
4135
4136 Move gfxmenu color handling to video, so that gfxterm can use it
4137 too.
4138
4139 * grub-core/gfxmenu/named_colors.c: Move to ...
4140 * grub-core/video/colors.c: ... here. Rename
4141 grub_gui_get_named_color to grub_video_get_named_color.
4142 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
4143 * grub-core/video/colors.c (my_isxdigit): ... here.
4144 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
4145 Move to ...
4146 * grub-core/video/colors.c (parse_hex_color_component): ... here.
4147 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
4148 to ...
4149 * grub-core/video/colors.c (grub_video_parse_color): ... here.
4150
4151 * include/grub/gui.h (grub_gui_color_t): Move to ...
4152 * include/grub/video.h (grub_video_rgba_color_t): ... here.
4153 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
4154 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
4155 * include/grub/gui.h (grub_gui_map_color): Move to ...
4156 * include/grub/video.h (grub_video_map_rgba_color): ... here.
4157 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
4158 to ...
4159 * include/grub/video.h (grub_video_get_named_color): ... here.
4160 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
4161 * include/grub/video.h (grub_video_parse_color): ... here.
4162
4163 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
4164 video/colors.c.
4165 (gfxmenu): Remove gfxmenu/named_colors.c.
4166 (video) [videomodules]: Add video/colors.c.
4167
4168 Add a background_color command.
4169
4170 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
4171 function.
4172 (GRUB_MOD_INIT): Register background_color command.
4173 (GRUB_MOD_FINI): Unregister background_color command.
4174 (redraw_screen_rect): Allow blend/replace of text layer to be
4175 controlled independently from whether there is a background bitmap.
4176 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
4177 changing bitmap.
4178
1e4b4390
VS
41792011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4180
26618ff0
VS
4181 Patch BPB in ntldr and chainloader --bpb.
4182
1e4b4390
VS
4183 * grub-core/fs/fat.c: Include grub/fat.h.
4184 (grub_fat_bpb): Moved to ...
4185 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
4186 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
4187 grub/ntfs.h.
4188 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
4189 Moved from here...
4190 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
4191 here.
4192 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
4193 New function.
4194 (grub_chainloader_cmd): Patch BPB if --bpb is given.
4195 (GRUB_MOD_INIT): Show --bpb.
4196 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
4197 * grub-core/normal/main.c (features): New variable.
4198 (GRUB_MOD_INIT): Set feature_* variables.
4199 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
4200 proto.
4201 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
4202
cf02731e
VS
42032011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4204
4205 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
4206 for cleanness.
4207
e3a1073f
VS
42082011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4209
4210 FreeDOS direct loading support.
4211
4212 * docs/grub.texi (Supported OS): Add FreeDOS.
4213 * grub-core/Makefile.core.def (freedos): New module.
4214 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
4215 variable.
4216 (grub_relocator16_boot): Handle %ebx.
4217 * grub-core/lib/i386/relocator16.S: Likewise.
4218 * grub-core/loader/i386/pc/freedos.c: New file.
4219
05caa461
VS
42202011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 Long Linux command line support.
4223
4224 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4225 (maximal_cmdline_size): New variable.
4226 (allocate_pages): Use maximal_cmdline_size.
4227 (grub_cmd_linux): Set and use maximal_cmdline_size.
4228 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
4229 (allocate_pages): Use maximal_cmdline_size.
4230 (grub_cmd_linux): Set and use maximal_cmdline_size.
4231 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
4232 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
4233 and cmdline_size.
4234
a2491e23
VS
42352011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
42362011-05-18 Colin Watson <cjwatson@ubuntu.com>
4237
4238 Improve devmapper support
4239
4240 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
4241 (grub_util_is_lvm): New function.
4242 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
4243 than lvm if not dmraid.
4244 Handle mapped md nodes.
4245 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
4246 (grub_util_device_is_mapped): ... this. Make always available. All users
4247 updated.
4248 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
4249 (convert_system_partition_to_system_disk): Handle lvm, mpath and
4250 dmraid nodes.
4251 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
4252
6ad6223e
VS
42532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
4254
4255 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
4256
4257 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
4258 * grub-core/modinfo.sh.in: New file.
4259 * grub-core/Makefile.core.def (modinfo.sh): New script.
4260 * util/grub-mknetdir.in: Use modinfo.sh.
4261 * util/grub-mkrescue.in: Likewise.
4262
543a8f6e
VS
42632011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4264
4265 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
4266 Fix potential usage of Elf32 instead of Elf64 when compiling on
4267 32-bit architecture. Add endianness macros while on it.
4268
4959e111
VS
42692011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4270
4271 Use mipsel- rather than mips- in directories involving mipsel ports to
4272 allow both endiannesses coexist.
4273
4274 * configure.ac: proparate target_cpu=mipsel rather than resetting to
4275 mips. All conditions adjusted.
4276 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
4277 variable.
4278 * util/grub-install.in: Adjust conditions to take renaming into account.
4279 * util/grub-mkimage.c (image_targets): Likewise. New target
4280 mips-qemu_mips-elf for bigendian mips.
4281
35341bbc
VS
42822011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 Avoid unnecessary copying on MIPS.
4285
4286 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
4287 early if src == dest.
4288 * util/grub-mkimage.c (generate_image): Arange for src == dest if
4289 compression is none.
4290
b772baed
VS
42912011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4292
4293 Reduce memory footprint on SGI by putting modules before the kernel
4294 as opposed to after.
4295
4296 * grub-core/Makefile.core.def (kernel): Increase linking address.
4297 (none_decompress): Likewise.
4298 (xz_decompress): Likewise.
4299 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
4300 address.
4301 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
4302 layout change.
4303 (grub_arch_modules_addr): New function.
4304 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
4305 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
4306 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
4307 here.
4308 * grub-core/kern/mips/startup.S (total_size): Rename to ...
4309 (grub_total_modules_size): ... this. Make global.
4310 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
4311 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
4312 New definition.
4313 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
4314 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
4315 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
4316 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
4317 * util/grub-mkimage.c (image_target_desc): New flag
4318 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
4319 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
4320 (generate_image): Handle images with modules before kernel.
4321
566a1917
VS
43222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4323
4324 Prevent potential loss of memory map by overwrite on qemu-mips.
4325
4326 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4327 Save ram size in $s4.
4328 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
4329 All users changed to grub_arch_memsize.
4330 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
4331 Loongson.
4332 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
4333 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
4334 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
4335 external variable.
4336
5d420cd9
CW
43372011-05-17 Colin Watson <cjwatson@ubuntu.com>
4338
4339 * .bzrignore: Remove grub-dumpbios.
4340
d064b830
CW
43412011-05-17 Colin Watson <cjwatson@ubuntu.com>
4342
4343 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
4344 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
4345 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
4346 existing options which append).
4347 * docs/grub.texi (Simple configuration): Document new options.
4348 Reported by: Ian Jackson. Fixes Debian bug #617538.
4349
3ca2b466
CW
43502011-05-17 Colin Watson <cjwatson@ubuntu.com>
4351
4352 * util/grub-fstest.c (cmd_cat): New function.
4353 (fstest): Handle CMD_CAT.
4354 (options): Add cat.
4355 (argp_parser): Handle cat.
4356
24c9143a
CW
43572011-05-17 Colin Watson <cjwatson@ubuntu.com>
4358
4359 * Makefile.util.def (grub-bin2h): Don't install.
4360 * docs/man/grub-bin2h.h2m: Remove.
4361
90f7ac19
VS
43622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
4365 place.
4366
8d4a5178
VS
43672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4368
4369 Reenable qemu-mips port.
4370
4371 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
4372 Fix small arc bug while on it.
4373 * gentpl.py: Handle qemu_mips.
4374 * grub-core/Makefile.am: Likewise.
4375 * grub-core/Makefile.core.def: Likewise.
4376 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
4377 inappropriate includes.
4378 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
4379 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
4380 * grub-core/kern/main.c (grub_modules_get_end)
4381 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
4382 * grub-core/kern/mips/qemu-mips: Moved to ..
4383 * grub-core/kern/mips/qemu_mips: ... this.
4384 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
4385 (grub_machine_init): Call terminfo_init and serial_init.
4386 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
4387 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
4388 New variable.
4389 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
4390 parameter passing.
4391 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
4392 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
4393 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
4394 * include/grub/mips/qemu_mips/cmos.h: New file.
4395 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
4396 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
4397 Removed.
4398 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
4399 Use correct mips-style address.
4400 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
4401 (GRUB_TICKS_PER_SECOND): Removed.
4402 (grub_get_rtc): Likewise.
4403 (grub_cpu_idle): Likewise.
4404 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
4405 New definition.
4406 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
4407 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
4408 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
4409 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
4410 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
4411 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
4412 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
4413 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
4414
400b9371
VS
44152011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 SGI ARCS port.
4418
4419 * Makefile.util.def (libgrubmods.a): Add dvh.c.
4420 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
4421 platforms.
4422 * configure.ac: New target mips-arc.
4423 * gentpl.py: Likewise.
4424 * grub-core/Makefile.am: Likewise.
4425 * grub-core/Makefile.core.def: Likewise.
4426 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
4427 (none_decompress): Likewise.
4428 (lsdev): New module.
4429 (datetime): Use lib/arc/datetime.c on ARC.
4430 (part_dvh): New module.
4431 * grub-core/commands/arc/lsdev.c: New file.
4432 * grub-core/disk/arc/arcdisk.c: Likewise.
4433 * grub-core/kern/mips/arc/init.c: Likewise.
4434 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
4435 aligned addresses.
4436 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
4437 support.
4438 (grub_arch_dl_relocate_symbols): Likewise.
4439 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
4440 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
4441 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
4442 platforms.
4443 * grub-core/lib/arc/datetime.c: New file.
4444 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
4445 pci.h on non-loongson.
4446 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
4447 (grub_linux_boot): Set unused registers to 0.
4448 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
4449 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
4450 * grub-core/mmap/mips/uppermem.c: ...here.
4451 * grub-core/partmap/dvh.c: New file.
4452 * grub-core/term/arc/console.c: Likewise.
4453 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
4454 (grub_terminfo_set_current): Add terminal "arc".
4455 (grub_terminfo_readkey): Support ARC sequences.
4456 * include/grub/arc/arc.h: New file.
4457 * include/grub/arc/console.h: Likewise.
4458 * include/grub/disk.h (grub_disk_dev_id): Add
4459 GRUB_DISK_DEVICE_ARCDISK_ID.
4460 * include/grub/mips/arc/kernel.h: New file.
4461 * include/grub/mips/arc/memory.h: Likewise.
4462 * include/grub/mips/arc/time.h: Likewise.
4463 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
4464 * include/grub/mips/kernel.h (grub_halt): ... here.
4465 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
4466 here...
4467 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
4468 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
4469 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
4470 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
4471 proto.
4472 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
4473 from here ...
4474 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
4475 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
4476 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
4477 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
4478 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
4479 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
4480 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
4481 (grub_phys_addr_t): Moved from here ...
4482 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
4483 (grub_vtop): Moved from here ...
4484 * include/grub/mips/memory.h (grub_vtop): ... here.
4485 (grub_map_memory): Moved from here ...
4486 * include/grub/mips/memory.h (grub_map_memory): ... here.
4487 (grub_unmap_memory): Moved from here ...
4488 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
4489 (grub_machine_mmap_iterate): Moved from here ...
4490 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
4491 (grub_mmap_get_lower): Moved from here ...
4492 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
4493 (grub_mmap_get_upper): Moved from here ...
4494 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
4495 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4496 here ...
4497 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4498 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
4499 here ...
4500 * include/grub/mips/time.h (grub_get_rtc): ... here.
4501 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
4502 here ...
4503 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
4504 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
4505 here ...
4506 * include/grub/mips/time.h (grub_cpu_idle): ... here.
4507 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
4508 definition.
4509 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
4510 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
4511 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
4512 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
4513 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
4514 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
4515 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
4516 (GRUB_MACHINE_LINK_ADDR): Likewise.
4517 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
4518 to 6.
4519 * util/grub-install.in: Run dvhtool on ARC.
4520 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 4521 (generate_image): Handle ECOFF output for mips-arc.
400b9371 4522
c8ecc840
VS
45232011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4524
4525 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
4526 blocks.
4527
153a4b55
VS
45282011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4529
4530 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
4531 after enabling port.
4532
ff44d107
VS
45332011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4534
4535 Skip incorrect USB devices.
4536
4537 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
4538 configcnt == 0.
4539 * include/grub/usb.h (grub_usb_err_t): New enum value
4540 GRUB_USB_ERR_BADDEVICE.
4541
638dbe4f
VS
45422011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
4543
4544 Fuloong video init support.
4545
4546 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
4547 well.
4548 (grub_vga_read_arx): New function.
4549 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
4550 definition.
4551 (framebuffer): New members io, mmioptr and mmiobase.
4552 (read_sis_cmd): New function.
4553 (write_sis_cmd): Likewise.
4554 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
4555 rather than 640x400.
4556 * grub-core/video/sis315_init.c: New file.
4557
c3fc520c
VS
45582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
4561 non-loongson.
4562 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
4563 to grub_dl_register_symbol.
4564
67b1e5c9
VS
45652011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4566
4567 Fix compilation errors.
4568
4569 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
4570 potentially unused.
4571 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
4572 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
4573 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
4574 to loongson machines.
4575
b756f75f
VS
45762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4577
4578 Several FS mtime support.
4579
4580 * grub-core/fs/affs.c (grub_affs_time): New struct.
4581 (grub_affs_file): New field mtime.
4582 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
4583 type. Removed 'size'. New field 'di'. All users updated.
4584 (grub_affs_mount): Simplify checsum checking.
4585 (grub_affs_iterate_dir): New helper grub_affs_create_node.
4586 (grub_affs_dir): Handle mtime.
4587 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
4588 (grub_cpio_dir): Likewise.
4589 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
4590 (grub_hfs_filerec): New field mtime.
4591 (grub_hfs_dir): Handle mtime.
4592 (grub_hfs_mtime): New function.
4593 (grub_hfs_fs): Register grub_hfs_mtime.
4594 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
4595 (grub_iso9660_dir): New field mtime.
4596 (grub_fshelp_node): New field dirent.
4597 (iso9660_to_unixtime): New function.
4598 (iso9660_to_unixtime2): Likewise.
4599 (grub_iso9660_read_symlink): Use node->dirent.
4600 (grub_iso9660_iterate_dir): Likewise.
4601 (grub_iso9660_dir): Set mtime.
4602 (grub_iso9660_mtime): New function.
4603 (grub_iso9660_fs): Register grub_iso9660_mtime.
4604 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
4605 (grub_jfs_inode): New fields atime, ctime and mtime.
4606 (grub_jfs_dir): Set mtime.
4607 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
4608 * grub-core/fs/ntfs.c (list_file): Set mtime.
4609 (grub_ntfs_dir): Likewise.
4610 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
4611 (grub_reiserfs_iterate_dir): Set mtime.
4612 (grub_reiserfs_dir): Likewise.
4613 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
4614 (grub_fshelp_node): Likewise.
4615 (grub_sfs_iterate_dir): Set mtime.
4616 (grub_sfs_dir): Likewise.
4617 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
4618 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
4619 (grub_xfs_inode): New fields atime, mtime, ctime.
4620 (grub_xfs_dir): Set mtime.
4621 * include/grub/datetime.h (grub_datetime2unixtime): New function.
4622 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
4623 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
4624
4625 Support UDF symlinks.
4626
4627 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
4628 (grub_ufs_read_symlink): New function. All users updated.
4629
4630 Check amiga partmap checksum.
4631
4632 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
4633 (grub_amiga_partition): Likewise.
4634 (amiga_partition_map_checksum): New function.
4635 (amiga_partition_map_iterate): Check checksum.
4636
5470225d
VS
46372011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 ROMFS support.
4640
4641 * Makefile.util.def (libgrubmods.a): Add romfs.
4642 * grub-core/Makefile.core.def (romfs): New module.
4643 * grub-core/fs/romfs.c: New file.
4644
d4680a35
VS
46452011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 Squashfs v4 support.
4648
4649 * Makefile.util.def (libgrubmods.a): Add squash4.
4650 * grub-core/Makefile.core.def (squash4): New module.
4651 * grub-core/fs/squash4.c: New file.
4652 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
4653 disk_input_start, disk_input.
4654 (get_byte): Handle disk_input.
4655 (grub_zlib_disk_read): New function.
4656 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
4657
bcb18e74
FZ
46582011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
46592011-05-15 Feiran Zheng <famcool@gmail.com>
4660
4661 * Makefile.util.def (libgrubmods.a): Add minix3.
4662 * grub-core/Makefile.core.def (minix3): New module.
4663 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
4664 (GRUB_MINIX_BSIZE): Removed.
4665 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
4666 (grub_minix_ino_t): New type.
4667 (grub_minix_le_to_cpu_ino): New macro.
4668 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
4669 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
4670 (grub_minix_data): New field block_size.
4671 (grub_minix_read_file): Handle 64-bit correctly.
4672 * grub-core/fs/minix3.c: New file.
4673
32297d5f
TG
46742011-05-15 Tristan Gingold <gingold@free.fr>
46752011-05-15 Robert Millan <rmh.grub@aybabtu.com>
46762011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4677
4678 IA64 support.
4679
4680 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
4681 * configure.ac: Add ia64-efi target.
4682 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
4683 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
4684 * gentpl.py: Add ia64_efi platform.
4685 Rename x86_efi to efi and Add ia64-efi. All users updated.
4686 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
4687 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
4688 Remove kern/generic/rtc_get_time_ms.c on EFI.
4689 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
4690 kern/ia64/dl_helper.c on ia64-efi.
4691 Add kern/emu/cache.c on emu.
4692 (linux): Use on loader/ia64/efi/linux.c on ia64.
4693 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
4694 whether symbol is a function.
4695 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
4696 (grub_symbol): New field 'isfunc'.
4697 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
4698 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
4699 (grub_dl_load_segments): Place all sections into the same region.
4700 [__ia64__]: Create trampolines and got.
4701 [GRUB_MACHINE_EMU]: Call mprotect.
4702 (grub_dl_resolve_symbols): Resolve symbol type as well.
4703 [__ia64__]: Create function descriptors.
4704 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
4705 (grub_rtc_get_time_ms): ... this. Expressions simplified.
4706 (grub_get_rtc): New function.
4707 * grub-core/kern/emu/cache.c [__ia64__]: New file.
4708 * grub-core/kern/emu/cache.S: Renamed to ...
4709 * grub-core/kern/emu/cache_s.S: ... this.
4710 [__ia64__]: Add a nop.
4711 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
4712 [__ia64__]: New function.
4713 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
4714 * grub-core/kern/ia64/dl.c: New file.
4715 * grub-core/kern/ia64/dl_helper.c: Likewise.
4716 * grub-core/kern/ia64/efi/init.c: New file.
4717 * grub-core/kern/ia64/efi/startup.S: Likewise.
4718 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
4719 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
4720 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
4721 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
4722 * grub-core/loader/ia64/efi/linux.c: New file.
4723 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
4724 (GRUB_MOD_DEP): Likewise.
4725 (grub_dl) [__ia64__]: New fields got and tramp.
4726 (grub_dl): New field 'base'.
4727 (grub_dl_register_symbol): New argument isfunc. All users updated.
4728 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
4729 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
4730 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
4731 (grub_ia64_dl_get_tramp_got_size): New proto.
4732 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
4733 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
4734 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
4735 * include/grub/efi/api.h: Skip call wrappers on ia64.
4736 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
4737 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
4738 * include/grub/elf.h (ELF_ST_INFO): New definition.
4739 * include/grub/ia64/efi/kernel.h: New file.
4740 * include/grub/ia64/efi/memory.h: Likewise.
4741 * include/grub/ia64/efi/time.h: Likewise.
4742 * include/grub/ia64/kernel.h: Likewise.
4743 * include/grub/ia64/setjmp.h: Likewise (from glibc).
4744 * include/grub/ia64/time.h: New file.
4745 * include/grub/ia64/types.h: Likewise.
4746 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
4747 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
4748 New protos.
4749 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
4750 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
4751 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
4752 * util/grub-mkimage.c (image_target_desc): New field pe_target.
4753 All users updated.
4754 (EFI64_HEADER_SIZE): New definition. All users updated.
4755 (image_targets): Add ia64-efi.
4756 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
4757 jumpers_addr. All users updated.
4758 Create function descriptors.
4759 (count_funcs): New function.
4760 (unaligned_uint32): New struct.
4761 (MASK20): New definition.
4762 (MASK19): Likewise.
4763 (MASKF21): Likewise.
4764 (add_value_to_slot_20b): New function.
4765 (add_value_to_slot_21_real): Likewise.
4766 (add_value_to_slot_21): Likewise.
4767 (ia64_kernel_trampoline): New struct.
4768 (nopm): New variable.
4769 (jump): Likewise.
4770 (make_trampoline): New function.
4771 (relocate_addresses): Handle ia64.
4772 (make_reloc_section): Likewise.
4773 (load_image): Likewise.
4774
983b414d
VS
47752011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4776
4777 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
4778 warning. Move variables before code while on it.
4779
5d063cdc
VS
47802011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
4781
4782 Fuloong support.
4783
4784 * configure.ac: Rename yeeloong platform to loongson. All users updated.
4785 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
4786 * grub-core/boot/mips/loongson/fuloong.S: New file.
4787 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
4788 Explicitly init CS5536.
4789 [FULOONG]: Don't use serial until CS5536 is available.
4790 Set GPIO based on dumps.
4791 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
4792 [FULOONG]: Handle GPIO and memory controller differences.
4793 Parse machine type in $a2.
4794 * grub-core/boot/mips/startup_raw.S: Determine and save the
4795 architecture.
4796 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
4797 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
4798 init on architecture type.
4799 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
4800 SIS315E. Don't init at_keyboard on fuloong.
4801 (grub_halt): Support Fuloong.
4802 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
4803 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
4804 (loongson_machtypes): New array.
4805 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
4806 type.
4807 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
4808 config. All users updated. Handle CS5536 serial.
4809 * grub-core/term/serial.c (grub_serial_register): Conditionalise
4810 default port on machine type. Register serial as inactive.
4811 * grub-core/video/sis315pro.c: New file.
4812 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
4813 definition.
4814 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
4815 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
4816 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
4817 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
4818 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
4819 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
4820 to ...
4821 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
4822 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
4823 definition.
4824 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
4825 (grub_arch_machine): New extern var.
4826 * include/grub/mips/loongson/serial.h
4827 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
4828 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
4829 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
4830 (GRUB_MACHINE_SERIAL_PORT0): ... this.
4831 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
4832 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
4833 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
4834 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
4835 * include/grub/term.h (grub_term_register_input_inactive): New inline
4836 function.
4837 (grub_term_register_output_inactive): Likewise.
4838 * include/grub/video.h (grub_video_driver_id): New value
4839 GRUB_VIDEO_DRIVER_SIS315PRO.
4840 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
4841 New field "names". All users updated.
4842 New field value IMAGE_FULOONG_FLASH.
4843 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
4844
6ada82d1
JU
48452011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
4846
4847 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
4848 and add some clarification.
4849
90c571a4
VS
48502011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4851
4852 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
4853 platforms if kernel is compressed.
4854
de04eecf
VS
48552011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4856
4857 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
4858 unused modules since currently referrence counter isn't reliable and
4859 there isn't much memory to recover there anyway.
4860
57688121
VS
48612011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4862
4863 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
4864 rather than resetting it to allow modules to reference themselves
4865 in init.
4866
3d2c7e35
VS
48672011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4868
4869 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
4870 counter on dependencies since grub_dl_unref already handles this.
4871
b25db218
VS
48722011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4873
4874 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
4875 on error if not already done.
4876
25a45338
VS
48772011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4878
4879 Fix few potential memory misusage.
4880
4881 * grub-core/font/font.c (load_font_index): Don't free char_index to
4882 avoid double free.
b25db218
VS
4883 (grub_font_load): Zero-fill font at alloc for safety.
4884 Close file on error.
4885 (free_font): Free bmp_idx.
25a45338 4886
0cac83df
VS
48872011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4888
4889 * docs/grub.texi (Installation): Fix several outdated claims.
4890
2217a143
VS
48912011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 Handle module_license on windows.
4894
4895 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
4896 sections shifted.
4897 (insert_string): Make argument const char * instead of char *.
4898 (write_section_data): Handle long section names.
4899 Handle module_license.
4900
d4de6b01
VS
49012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4902
4903 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
4904 handle class-free menuentries.
4905 (grub_normal_add_menu_entry): Add a check to be sure.
4906
4c2a3b43
VS
49072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
4908
4909 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
4910 PgUp and PgDown.
4911
85c6210f
VS
49122011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4913
4914 * configure.ac: Bump version to 1.99.
4915
36084912
VS
49162011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4917
4918 Give ATA device a bit more time on first try in order to allow disks
4919 to spin up.
4920
4921 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
4922 if dev->present is 1. Reset dev->present on failure.
4923 (grub_ata_device_initialize): Set dev->present to 1.
4924 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
4925 (grub_ata_device): New member 'present'.
4926
bda0e219
VS
49272011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4928
4929 * util/grub-mkimage.c (generate_image): Update hash.
4930
19e1c41b
VS
49312011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4932
4933 Flush caches on DMA memory.
4934
4935 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
4936 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
4937 (grub_dma_free): Likewise.
4938 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
4939
91bbcc0c
VS
49402011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4941
4942 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
4943 to avoid asm treating ld and sd as macros.
4944
60ddfad3
VS
49452011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
4948 decompressor.
4949
a298aa04
VS
49502011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4951
4952 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
4953 grub_decompress_core since later would fail if grub_decompress_core
4954 is too far.
4955
9b44feca
VS
49562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
4959 R_MIPS_JALR since it's used by newer compiler.
4960
56dbe7b4
VS
49612011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
4962
4963 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
4964
52856af2
VS
49652011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
4968 file_path to 0 for surety.
4969 (grub_chainloader_boot): Set exit_data to NULL.
4970 Unset the loader once done.
4971 (grub_cmd_chainloader): Fix confusing error message if file is empty.
4972
9c9bfc6d
VS
49732011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
4976 unknown key into a dprintf.
4977
dd94a3df
VS
49782011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4979
4980 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
4981 on first non-existant partition.
4982
fa68d99c
VS
49832011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4984
4985 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
4986 openning fails.
4987 Reported by: Mark Korenberg.
4988
157effb7
VS
49892011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4990
4991 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
4992 overflow.
4993
ea75312f
VS
49942011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4995
4996 * util/grub-mkimage.c (main): Explicitely flush and sync the output
4997 before closing to ensure that it will be readable by grub-setup.
4998
072b5d31
VS
49992011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
5002 (devpath_1): Use MAKE_PIWG_PATH.
5003 (devpath_2): Likewise.
5004 (devpath_3): Likewise.
5005 (devpath_4): Likewise.
5006 (devpath_5): Likewise.
5007 (devpath_6): Likewise.
5008
5009 The appleldr.mod was checked that to be binary identical to previous
5010 version.
5011
7fae0051
Z
50122011-05-05 Zach <mikezackles>
5013
5014 Support 2010 Macbooks.
5015
5016 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
5017 (devs): Add devpath_6.
5018
7c515bee
VS
50192011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5020
5021 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
5022 /dev/random. /dev/urandom is good enough for our purposes (salting).
5023
ed660bd8
VS
50242011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5025
5026 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
5027
ee5614b7
VS
50282011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5029
5030 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
5031 hexadecimal.
5032
664889a6
VS
50332011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
5034
5035 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
5036 and not 0 on failure.
5037
bd405bbc
CW
50382011-05-03 Colin Watson <cjwatson@ubuntu.com>
5039
5040 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
5041 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
5042 disk; otherwise grub_fs_probe will not fall back to the next
5043 filesystem.
5044 (grub_pxefs_open): Likewise, for consistency.
5045 Reported and tested by: Ezekiel Grave.
5046
4ebff753
CW
50472011-05-03 Colin Watson <cjwatson@ubuntu.com>
5048
5049 * tests/partmap_test.in: Don't hardcode path to parted.
5050 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
5051
8f942553
CW
50522011-05-01 Colin Watson <cjwatson@ubuntu.com>
5053
5054 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
5055 of `ls' to find out which devices are available.
5056
3c62402d
VS
50572011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
5060 than source address for efi mmap buffer.
5061
723f63f2
VS
50622011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
5065 wrong action on non-detecting the magic.
5066
68797f92
VS
50672011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
5070 already supplied by another part of the module (fixes compilation on
5071 FreeBSD).
5072
6be8715d
VS
50732011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5074
5075 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
5076 match the one used by mdadm.
5077
e91dba5b
CW
50782011-04-21 Colin Watson <cjwatson@ubuntu.com>
5079
5080 * po/README: Add instructions for creating po/LINGUAS.
5081
c85140b3
CW
50822011-04-21 Colin Watson <cjwatson@ubuntu.com>
5083
5084 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
5085 #551428.
5086
5087 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
5088 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
5089 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
5090 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
5091 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
5092 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
5093 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
5094 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
5095 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
5096 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
5097 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
5098 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
5099 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
5100 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
5101 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
5102 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
5103 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
5104 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
5105 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
5106 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
5107 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
5108 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
5109
92051871
CW
51102011-04-21 Colin Watson <cjwatson@ubuntu.com>
5111
5112 * grub-core/kern/emu/getroot.c
5113 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
5114 test that was incorrectly reintroduced in r3214.
5115 Reported by: Ian Dall. Fixes Savannah bug #33133.
5116
b13f79a4
CW
51172011-04-21 Colin Watson <cjwatson@ubuntu.com>
5118
5119 Fix stack pointer handling in 16-bit relocator.
5120
5121 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
5122 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
5123 Fixes Ubuntu bug #683904.
5124
9b710a88
VS
51252011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5126
5127 * configure.ac: Bump version to 1.99~rc2.
5128
d97e7b59
VS
51292011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5130
5131 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
5132 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
5133 * grub-core/lib/x86_64/setjmp.S: Likewise.
5134 * grub-core/lib/mips/setjmp.S: Likewise.
5135 * grub-core/lib/powerpc/setjmp.S: Likewise.
5136 * grub-core/lib/sparc64/setjmp.S: Likewise.
5137
0624551c
VS
51382011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
5139
5140 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
5141 * grub-core/lib/efi/datetime.c: Likewise.
5142
e8f28d4c
VS
51432011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5144
5145 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
5146 New function.
5147 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
5148 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
5149 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
5150
bba79a15
VS
51512011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5152
5153 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
5154 bitmap.
5155 (grub_gfxterm_term_init): Likewise.
5156
abc474ef
VS
51572011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 Take into account the decorations the computing menu entry width.
5160
5161 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
5162 (grub_gfxmenu_create_box): Register get_border_width.
5163 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
5164 if available.
5165 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
5166 get_border_width.
5167
e74b3947
EP
51682011-04-18 Endres Puschner <code@e7p.de>
5169
5170 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
5171 Don't skip first class.
5172
34faa595
VS
51732011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5174
5175 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
5176 chunks.
5177 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
5178
93a777e3
VS
51792011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5180
5181 Complete 64-bit division support.
5182
5183 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
5184 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
5185 * include/grub/misc.h (grub_divmod64): Rename to ...
5186 (grub_divmod64_full): ... this.
5187 (grub_divmod64): New inline function.
5188
a5102d94
VS
51892011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5190
5191 * util/grub-mkimage.c (generate_image): Add forgotten comma.
5192
f3fb7b36
VS
51932011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
5196 performing the necessary test.
5197
9ac718b0
VS
51982011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
5201 (kfreebsd.elf): Likewise.
5202 (pc-chainloader.elf): Likewise.
5203 (ntldr.elf): Likewise.
5204
50d2cc5a
VS
52052011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 Identify RAID by its UUID rather than (guessed) name.
5208
5209 * grub-core/disk/raid.c (ascii2hex): New function.
5210 (grub_raid_open): Accept mduuid/%s specification.
5211 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
5212 (get_mdadm_uuid): ... this.
5213 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
5214
e03f7bea
VS
52152011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
5216
5217 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
5218 to negative size.
5219
e74c3112
CW
52202011-04-13 Colin Watson <cjwatson@ubuntu.com>
5221
5222 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
5223 btrfs subvolume.
5224 * util/grub.d/20_linux_xen.in: Likewise.
5225
78fa584f
CW
52262011-04-13 Colin Watson <cjwatson@ubuntu.com>
5227
5228 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
5229 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
5230
5231 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
5232 Build a list of relevant visible mounts using the mnt_id and
5233 parent_mnt_id fields, and then scan that list at the end.
5234
9d5f8162
CW
52352011-04-12 Colin Watson <cjwatson@ubuntu.com>
5236
5237 * docs/grub.texi (normal): New section.
5238 (normal_exit): New section.
5239 (Embedded configuration): Add reference to normal.
5240 (GRUB only offers a rescue shell): Likewise.
5241 * docs/grub-dev.texi (Error Handling): Fix typo.
5242
09a9d66f
CW
52432011-04-12 Colin Watson <cjwatson@ubuntu.com>
5244
5245 * NEWS: Drop obsolete entry about probe-only btrfs support.
5246
0c676933
CW
52472011-04-12 Colin Watson <cjwatson@ubuntu.com>
5248
5249 * util/import_gcry.py: Fix typo.
5250
ec9f5e0d
VS
52512011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5252
5253 * NEWS: Add btrfs support.
5254
fe6b2cba
VS
52552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
52562011-04-11 Colin Watson <cjwatson@ubuntu.com>
5257
5258 BtrFS support. Written by me (Vladimir) with important bugfixes and
5259 even more important testing by Colin.
5260
5261 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
5262 * grub-core/Makefile.core.def (btrfs): Add crc.c.
5263 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
5264 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
5265 mem_input_off and mem_input. All users updated to accept in-RAM input.
5266 (gzio_seek): New function.
5267 (test_zlib_header): Likewise.
5268 (grub_gzio_read): Likewise.
5269 (grub_zlib_decompress): Likewise.
5270 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
5271 Accept partial and non-virtual mounts.
5272 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
5273 avoid receiving /dev/dm-X as device.
5274 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
5275 Handle bind and partial mounts.
5276 * grub-core/lib/crc.c: New file.
5277 * include/grub/deflate.h: Likewise.
5278 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
5279 proto.
5280 * include/grub/lib/crc.h: New file.
5281
e745cf0c
VS
52822011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 Implement automatic module license checking according to new GNU
5285 guidelines.
5286
5287 * grub-core/kern/dl.c (grub_dl_check_license): New function.
5288 (grub_dl_load_core): Use grub_dl_check_license.
5289 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
5290 (GRUB_MOD_LICENSE): Likewise.
5291 (GRUB_MOD_DUAL_LICENSE): Likewise.
5292 All modules updated.
5293
2a9bc016
CW
52942011-04-11 Colin Watson <cjwatson@ubuntu.com>
5295
5296 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
5297 reserved_first_sector to 1. btrfs reserves plenty of space for boot
5298 loaders.
5299 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
5300
8a3bc88e
VS
53012011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
5304
af869a4a
VS
53052011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5306
5307 * util/grub-fstest.c (read_file): Report GRUB error if file opening
5308 failed.
5309
9ee8d94f
VS
53102011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/kern/file.c (grub_file_open): Don't take into account the
5313 parenthesis in the middle of the filename.
5314
b01abe3e
VS
53152011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
5318 rather than trying to put initrd way too high.
5319 Reported by: Ryan Lortie <desrt@desrt.ca>
5320
335bda1e
VS
53212011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5322
5323 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
5324 improperly removed string.
5325
5ca1a64d
VS
53262011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5327
5328 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
5329 is_disk.
5330 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
5331 (open_device) Likewise.
5332 (grub_util_biosdisk_close): Likewise.
d8ce9995 5333 Reported by: Mark Korenberg.
5ca1a64d 5334
cbac5b1e
AK
53352011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
5336
5337 * util/grub-mkconfig_lib.in: Add missing quotes.
5338
088cdb65
CW
53392011-04-10 Colin Watson <cjwatson@ubuntu.com>
5340
5341 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
5342 is NULL.
5343
8b8a81fa
VS
53442011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5345
5346 Dynamically count the number of lines for the lower banner.
5347
5348 * grub-core/normal/menu_entry.c (per_term_screen): New member
5349 num_entries.
5350 (print_down): Use num_entries.
5351 (update_screen): Likewise.
5352 (grub_menu_entry_run): Set num_entries.
5353 * grub-core/normal/menu_text.c (menu_viewer_data): New member
5354 num_entries.
5355 (grub_print_message_indented): Move real part to ...
5356 (grub_print_message_indented_real): ... here. Additional argument
5357 dry_run.
5358 (draw_border): Additional argument num_entries.
5359 (print_message): Additional argument dry_run.
5360 (print_entries): Receive menu viewer data.
5361 (grub_menu_init_page): New argment num_entries.
5362 (menu_text_set_chosen_entry): Use num_entries.
5363 (grub_menu_try_text): Likewise.
5364 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
5365 All users updated.
5366 (grub_ucs4_count_lines): New function.
5367 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
5368 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
5369 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
5370 (grub_term_border_height): Likewise.
5371 (grub_term_num_entries): Likewise.
5372
277f955b
VS
53732011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
5374
5375 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
5376 Remove now unused string.
5377
536ce85a
CW
53782011-04-09 Colin Watson <cjwatson@ubuntu.com>
5379
5380 * docs/grub-dev.texi (Finding your way around): Update for 1.99
5381 build system.
5382 (Getting started): GRUB is developed in Bazaar now, not Subversion.
5383
5384 (Comment): Fix typo.
5385 (Getting started): General copy-editing.
5386 (Typical Development Experience): Likewise.
5387 (Error Handling): Likewise.
5388 (Video API): Likewise.
5389
2cf09e32
CW
53902011-04-09 Colin Watson <cjwatson@ubuntu.com>
5391
5392 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
5393 throughout.
5394
1ec652f4
VS
53952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5396
5397 * util/grub-mkimage.c (main): Handle special naming of yeeloong
5398 directory.
5399
2c583728
CW
54002011-04-08 Colin Watson <cjwatson@ubuntu.com>
5401
5402 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
5403 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
5404 "development".
5405
d7a565e9
VS
54062011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
5409 grub_strcpy since the lines aren't necessarily 0-terminated.
5410
7c2e4909
VS
54112011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
5414 root on legacy.
5415
34c09785
VS
54162011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5417
5418 * grub-core/commands/probe.c (options): Argument to set isn't optional.
5419 (GRUB_MOD_INIT): DEVICE isn't optional.
5420
6a6f8058
VS
54212011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5422
5423 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
5424 word on new line if it's too long anyway. Fixes a hang.
5425
2e335e90
VS
54262011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5427
5428 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
5429 const.
5430 * util/grub-setup.c (main): Reuse md device name if available.
5431 * util/raid.c (grub_util_raid_getmembers): Receive device name and
5432 not GRUB name as argument.
5433 Based on patch by: Florian Wagner <fwagner>.
5434
10a7a867
VS
54352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5436
5437 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
5438 Place mbi on low memory for better compatibility.
5439
7a3d6cd9
VS
54402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5441
5442 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
5443
18dd6b47
VS
54442011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
54452011-04-08 Colin Watson <cjwatson@ubuntu.com>
5446
5447 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 5448 * conf/Makefile.common: Likewise.
18dd6b47 5449
3c0e3f14
VS
54502011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5451
f7148863
VS
5452 * grub-core/normal/menu.c: Add missing include.
5453
54542011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5455
5456 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 5457
6d1fa41f
MZ
54582011-04-08 Martin Zuther <mzuther@mzuther.de>
5459
5460 * util/grub-mkconfig.in: Ignore emacsen backup.
5461
478182a8
VS
54622011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5463
5464 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
5465 on open.
5466 (grub_util_biosdisk_close): Likewise.
5467
72a89a54
VS
54682011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
5469
5470 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
5471 const attribute and use grub_isdigit.
5472
b5ebecfa
A
54732011-04-06 Andrey <dev_null@ukr.net>
5474
5475 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
5476 gcc warning.
5477
7755f66e
VS
54782011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5479
5480 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
5481 useful grub_dprintf's.
5482
461121ff
VS
54832011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5484
5485 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
5486
2a961775
VS
54872011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
5490
adf594cc
VS
54912011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5492
5493 Output errors if theme loading failed.
5494
5495 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
5496 grub_gfxterm_fullscreen on error paths to ...
5497 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
5498 theme loading error.
5499
665900a3
VS
55002011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
5503 space for older compilers.
5504 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
5505
a562b479
VS
55062011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
5509 and report them as not RAID members since they are useless for GRUB.
5510 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
5511
850e9373
VS
55122011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5513
5514 Increase LVM implementation robustness in order not to crash on
5515 configurations like pvmove. Previously code assumed that in some places
5516 only lvs or only pvs are used whereas it seems that they are used
5517 interchangeably.
5518
5519 * grub-core/disk/lvm.c (read_node): New function.
5520 (read_lv): Use read_node.
5521 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
5522 Match volumes only at the end when all lvs are found. Take both
5523 pvs (first) and lvs (second) into account.
5524 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
5525 mirror_* into node_*. All users updated.
5526 (grub_lvm_stripe): Merge this ...
5527 (grub_lvm_mirror): ... and this ...
5528 (grub_lvm_node): ... into this. All users updated.
5529
6f332153
VS
55302011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5531
5532 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
5533 of function to allow further scanning for LVMs.
5534
829ea451
VS
55352011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5536
5537 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
5538 on failed seek as it breaks open fd reusage.
5539
09ceb9a5
VS
55402011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5541
5542 * util/grub-install.in: Add a recommendation to use --recheck before
5543 reporting bugs.
5544
67e11623
VS
55452011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
5548 are obtained.
5549
caee5efd
VS
55502011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
5551
5552 GRUB developper manual based on existing Internals section and
5553 contributions by the various authors with active copyright assignment.
5554
5555 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
5556 * docs/font_char_metrics.png: New file.
5557 * docs/font_char_metrics.txt: Likewise.
5558 * docs/grub-dev.texi: Likewise.
5559 * docs/grub.texi (Internals): Move from here ...
5560 * docs/grub-dev.texi: ... here.
5561
2cccc747
CW
55622011-04-01 Colin Watson <cjwatson@ubuntu.com>
5563
5564 Store the loopback device as data on loopback grub_disk structures,
5565 rather than the file it points to. This fixes use of freed memory
5566 if an existing loopback device is replaced.
5567
5568 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
5569 disk->data, not dev->file.
5570 (grub_loopback_read): Adjust file assignment to match.
5571 Fixes Ubuntu bug #742967.
5572
186ae367
CW
55732011-04-01 Colin Watson <cjwatson@ubuntu.com>
5574
5575 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
5576 when replacing an existing device.
5577
cfed2ad0
VS
55782011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
5579
5580 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
5581 memory corruptions.
5582
5583 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
5584 unsigned.
5585 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
5586 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
5587 (grub_jfs_read_inode): Likewise.
5588 (grub_jfs_opendir): Likewise. Remove now useless casts.
5589 (grub_jfs_getent): Likewise.
5590 Make ino a grub_uint32_t rather than int.
5591 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
5592 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
5593 division and module with bit operations.
5594 (grub_jfs_find_file): Make ino a grub_uint32_t.
5595 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
5596
05d2ed32
CW
55972011-04-01 Colin Watson <cjwatson@ubuntu.com>
5598
5599 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
5600 warning. (This was in fact always initialised before use, but GCC
5601 wasn't smart enough to prove that.)
5602 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
5603
91dc6073
VS
56042011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
5607 stack alignment.
5608 (efi_wrap_1): Likewise.
5609 (efi_wrap_2): Likewise.
5610 (efi_wrap_3): Likewise.
5611 (efi_wrap_4): Likewise.
5612 (efi_wrap_5): Likewise.
5613 (efi_wrap_6): Likewise.
5614 (efi_wrap_10): Likewise.
5615 Based on information by: Red Hat/Peter Jones.
5616
a8afc1d1
CW
56172011-03-31 Colin Watson <cjwatson@ubuntu.com>
5618
5619 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
5620 set-but-not-used variable.
5621
a826cc7d
CW
56222011-03-31 Colin Watson <cjwatson@ubuntu.com>
5623
5624 * docs/grub.texi (Simple configuration): Be more explicit about
5625 GRUB_DEFAULT, and add an example.
5626 Reported by: Leslie Rhorer.
5627
875b67ba
CW
56282011-03-30 Colin Watson <cjwatson@ubuntu.com>
5629
5630 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
5631 shell".
5632
fd7cd914
AS
56332011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5634
5635 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
5636 * util/grub.d/20_linux_xen.in: Likewise.
5637
090b1b6a
VS
56382011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 * util/grub.d/10_linux.in: Try alternative config filenames where
5641 we parse config file.
5642 * util/grub.d/20_linux_xen.in: Likewise.
5643
baad885c
AS
56442011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
5645
5646 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
5647 * util/grub.d/20_linux_xen.in: Likewise.
5648
241e41f5
VS
56492011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/disk/raid.c (insert_array): Add few potentially
5652 useful grub_util_info.
5653 (grub_raid_register): Likewise.
5654
56445fb2
VS
56552011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5656
5657 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
5658 Preserve partition number in mdadm code path.
5659
c871b1c6
VS
56602011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
5663 few potentially useful grub_util_info.
5664
5e631b4f
CW
56652011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5666
5667 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
5668
2d5d0333
CW
56692011-03-30 Colin Watson <cjwatson@ubuntu.com>
5670
5671 * docs/grub.texi (default): Use @example rather than nested
5672 itemized lists to avoid breaking gendocs.
5673
3d7ed04e
CW
56742011-03-30 Colin Watson <cjwatson@ubuntu.com>
5675
5676 * docs/grub.texi (Future): Update.
5677
abf04200 56782011-03-30 Colin Watson <cjwatson@ubuntu.com>
5679
5680 * docs/grub.texi (Environment): New chapter.
5681 (Changes from GRUB Legacy): Link to "Environment block" section for
5682 details of limitations.
5683 (Simple configuration): Likewise. Link to documentation of gfxmode
5684 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
5685 respectively.
5686 (Shell-like scripting): Note that normal variables are stored in the
5687 environment.
5688 (gettext): Link to documentation of lang and locale_dir.
5689 (list_env): New section.
5690 (load_env): New section.
5691 (save_env): New section.
5692
5693 (Reporting bugs): Fix typo.
5694
e1ad0edd
VS
56952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5696
5697 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
5698 the example.
5699
5d803174
VS
57002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
5701
5702 * grub-core/term/at_keyboard.c (set_scancodes)
5703 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
5704
2a2da1d0
CW
57052011-03-30 Colin Watson <cjwatson@ubuntu.com>
5706
5707 * docs/grub.texi (Menu-specific commands): Remove some semantics
5708 that were true in GRUB Legacy but not in GRUB 2.
5709 (submenu): New section.
5710 (false): New section.
5711 (read): New section.
5712 (true): New section.
5713
a7527639
CW
57142011-03-30 Colin Watson <cjwatson@ubuntu.com>
5715
5716 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
5717
57182011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
5719
5720 * docs/grub.texi (Simple configuration): Explain some of the
5721 current limitations of grub-mkconfig.
8a748df2 5722 Reported by: Leslie Rhorer.
e30af029 5723
fc858482
VS
57242011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5725
5726 Old macs search for boot.efi rather than for bootia32.efi.
5727
5728 * util/grub-install.in: Copy bootia32.efi to boot.efi.
5729 * util/grub-mkrescue.in: Likewise.
5730 Suggested by: Peter Jones.
5731
e1eb511d
VS
57322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5733
5734 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
5735
70e75364
VS
57362011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5737
5738 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
5739 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
5740 (grub_lvm_mirror): New struct.
5741 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
5742 (grub_lvm_iterate): Iterate only visible volumes.
5743 (grub_lvm_read): Factor out to ..
5744 (read_lv): ... this. Support mirrors.
5745 (grub_lvm_read): New wrapper function.
5746 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
5747 stripped or mirrored.
5748
fc18f6a3
VS
57492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
5752
5c650f4c
CW
57532011-03-29 Colin Watson <cjwatson@ubuntu.com>
5754
5755 * docs/grub.texi (loopback): New section.
5756
61d7156b
CW
57572011-03-29 Colin Watson <cjwatson@ubuntu.com>
5758
5759 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
5760 removed -p option.
5761
994b8264
CW
57622011-03-29 Colin Watson <cjwatson@ubuntu.com>
5763
5764 * docs/grub.texi (BIOS installation): New section, partly based on
5765 previous text in other sections.
5766 (Installing GRUB using grub-install): Replace BIOS discussion with a
5767 cross-reference.
5768 (Images): Likewise.
5769
9e4d19e0
VS
57702011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5771
5772 * grub-core/kern/emu/hostdisk.c (find_partition_start)
5773 [HAVE_DIOCGDINFO]: Add safety checks.
5774
a307c0b2
VS
57752011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5776
5777 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
5778 per default compiled in kernel and prior to 8.0 isn't shipped at all.
5779
b4db4f39
CW
57802011-03-29 Colin Watson <cjwatson@ubuntu.com>
5781
5782 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
5783 real_sb->size is zero (e.g. RAID-0), get the disk size from
5784 real_sb->data_size instead.
5785 Fixes Ubuntu bug #743136.
5786
35e5f84c
VS
57872011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5788
5789 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
5790 printf clauses for printing size and start.
5791
d2e29d81
VS
57922011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5793
5794 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
5795 Reported and tested by: Timothy Nikkel.
5796
ed5587af
VS
57972011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5798
5799 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
5800 (dirty_region_add_real): ... this.
5801 (dirty_region_add): Don't discard margin refresh when performing
5802 scheduled repaint.
5803
a1dc717c
VS
58042011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 * grub-core/lib/relocator.c (allocate_regstart)
5807 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
5808 terminals are capabple of malloc-free operation.
5809 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5810 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
5811
9f3677d3
VS
58122011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
5813
5814 * util/grub-setup.c: Copy the partition table zone if floppy support
5815 is disabled, even if no partition table is found.
5816
5817 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
5818 during POST if an invalid partition table is contained in the PBR
5819 of the active partition when GRUB is installed to a partition.
5820
24148725
CW
58212011-03-28 Colin Watson <cjwatson@debian.org>
5822
5823 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
5824 comment.
5825
f329eda7
CW
58262011-03-28 Colin Watson <cjwatson@debian.org>
5827
5828 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
5829 to be specific about what kind of RAID device we're scanning for.
5830
c482ad98
SG
58312011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
5832
5833 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
5834 return freed string.
5835
5ee04984
VS
58362011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5837
5838 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
5839
f4727da9
VS
58402011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5841
5842 Use libgeom on FreeBSD to detect partitions.
5843
5844 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
5845 (grub-mkrelpath): Likewise.
5846 (grub-script-check): Likewise.
5847 (grub-editenv): Likewise.
5848 (grub-mkpasswd-pbkdf2): Likewise.
5849 (grub-fstest): Likewise.
5850 (grub-mkfont): Likewise.
5851 (grub-mkdevicemap): Likewise.
5852 (grub-probe): Likewise.
5853 (grub-setup): Likewise.
5854 (grub-ofpathname): Likewise.
5855 (grub-mklayout): Likewise.
5856 (example_unit_test): Likewise.
5857 (grub-menulst2cfg): Likewise.
5858 * grub-core/Makefile.core.def (grub-emu): Likewise.
5859 (grub-emu-lite): Likewise.
5860 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
5861 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
5862 define HAVE_DIOCGDINFO.
5863 (follow_geom_up) [FreeBSD]: New function.
5864 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
5865 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
5866 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
5867 unconditionally of HAVE_DIOCGDINFO.
5868
82fe6c75
VS
58692011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
5870
5871 Fix FreeBSD compilation problem.
5872
5873 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
5874 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
5875
4c6c9431
CW
58762011-03-24 Colin Watson <cjwatson@ubuntu.com>
5877
5878 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
5879 Switch back to page zero before loading a kernel, since some kernel
5880 drivers expect that.
5881 Thanks to: Felix Kuehling.
5882
c7064d94
VS
58832011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5884
5885 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
5886 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
5887 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
5888
3f71cded
VS
58892011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
5892 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
5893
ef6de21a
VS
58942011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5895
5896 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
5897 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
5898 malloc is disabled.
5899
8bc66a2c
VS
59002011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
5901
5902 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
5903 for modules headers when counting the needed allocation size.
5904
5657722c
VS
59052011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5906
5907 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
5908 if no ASCII character is found to prevent crash.
5909
41a85f55
AK
59102011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
5911
5912 * grub-core/video/bitmap.c (match_extension): Ignore case.
5913
59e1e5f1
VS
59142011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5915
5916 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
5917
bd4d051a
VS
59182011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5919
5920 * grub-core/script/parser.y: Declare "time" as valid argument.
5921
bae7fcc1
PJ
59222011-03-23 Peter Jones <pjones@redhat.com>
5923
5924 Fix incorrect assert failure reporting.
5925
5926 * grub-core/tests/example_functional_test.c (example_test): Add
5927 a failure comment.
5928 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
5929 (failure_start): ...this. Check that malloc succeeded.
5930 Don't call xvasprintf. Return failure struct.
5931 (failure_append_vtext): New function.
5932 (failure_append_text): Likewise.
5933 (add_failure): Likewise.
5934 (grub_test_assert_helper): Likewise.
5935 * include/grub/test.h (grub_test_assert_helper): New declaration.
5936 (grub_test_assert): Macro rewritten.
5937
537dc9be
VS
59382011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
5941
fa3e01bf
VS
59422011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5943
5944 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
5945
b1d28404
VS
59462011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5947
5948 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
5949 into GRUB-style one.
5950
2e3e2e09
VS
59512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5952
5953 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
5954 error and not grub_errno.
5955 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
5956
ed57e557
VS
59572011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5958
5959 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
5960 GRUB_USB_SPEED_NONE in case of failure and not the error code.
5961
d1611f01
VS
59622011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * grub-core/efiemu/i386/pc/cfgtables.c
5965 (grub_machine_efiemu_init_tables): Make declaration a prototype.
5966 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
5967 (grub_xnu_unlock): Likewise.
5968 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
5969
7d4e39d6
VS
59702011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
5971
5972 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
5973 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
5974 * grub-core/commands/hashsum.c (aliases): Likewise.
5975 * grub-core/commands/setpci.c (pci_registers): Likewise.
5976 * grub-core/disk/usbms.c (attach_hook): Likewise.
5977 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
5978 (zio_checksum_table): Likewise.
5979 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
5980 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
5981 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
5982 * grub-core/lib/relocator.c (leftovers): Likewise.
5983 (extra_blocks): Likewise.
5984 * grub-core/loader/i386/bsd.c (relocator): Likewise.
5985 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
5986 (modules_last): Likewise.
5987 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
5988 (devices): Likewise.
5989 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
5990 (modules_last): Likewise.
5991 * grub-core/normal/auth.c (users): Likewise.
5992 * grub-core/normal/context.c (initial_menu): Likewise.
5993 (current_menu): Likewise.
5994 * grub-core/normal/crypto.c (crypto_specs): Likewise.
5995 * grub-core/term/serial.c (grub_serial_ports): Likewise.
5996 (grub_serial_terminfo_input_template): Likewise.
5997 (grub_serial_terminfo_output_template): Likewise.
5998 (grub_serial_terminfo_input): Likewise.
5999 (grub_serial_terminfo_output): Likewise.
6000 (registered): Likewise.
6001 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
6002
40fc4659
VS
60032011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6004
6005 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
6006 grub_video_mode_type_t.
6007 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
6008 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
6009 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
6010
2da48d28
VS
60112011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 * util/grub-install.in: Correct the x86-64 name as x86_64.
6014
9b43bf39
CW
60152011-03-11 Colin Watson <cjwatson@ubuntu.com>
6016
6017 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
6018 initial chunk read from the kernel always includes GRUB's multiboot
6019 header, which is now outside the first sector.
6020
be1a7ce0
CW
60212011-03-09 Colin Watson <cjwatson@ubuntu.com>
6022
6023 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
6024 cached mmap_size, so that this works correctly when called multiple
6025 times.
6026 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
6027
83a3c48d
CW
60282011-03-09 Colin Watson <cjwatson@ubuntu.com>
6029
6030 * docs/grub.texi (Simple configuration): Tidy up formatting.
6031
57d75699
SJ
60322011-03-07 Szymon Janc <szymon@janc.net.pl>
6033
6034 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
6035 Set-but-not-used variable removed.
6036
028501a0
VS
60372011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6038
6039 Workaround yet another IEEE1275 bug.
6040
6041 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
6042 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
6043 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
6044 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
6045 is set.
6046 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
6047 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
6048
d998657d
VS
60492011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
6052 error.
6053
fee7cdd4
CW
60542011-02-11 Colin Watson <cjwatson@ubuntu.com>
6055
6056 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
6057 empty, since in that case we can only generate either nothing or a
6058 syntactically invalid configuration file.
6059 Reported by: Michal Suchanek. Fixes Debian bug #612898.
6060
97286eb5
CW
60612011-02-09 Colin Watson <cjwatson@ubuntu.com>
6062
6063 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
6064 (Making a GRUB bootable CD-ROM): Likewise.
6065 (Invoking grub-mkrescue): New section.
6066 Reported by: Yann Dirson. Fixes Debian bug #612585.
6067
22b28eb3
CW
60682011-02-09 Colin Watson <cjwatson@ubuntu.com>
6069
6070 * util/grub-install.in: Remove unnecessary brackets from tr
6071 arguments.
6072 * util/grub.d/10_hurd.in: Likewise.
6073 * util/grub.d/10_kfreebsd.in: Likewise.
6074 * util/grub.d/10_linux.in: Likewise.
6075 * util/grub.d/20_linux_xen.in: Likewise.
6076 Reported by: Jamie Heilman. Fixes Debian bug #612564.
6077
7e735e43
CW
60782011-02-08 Colin Watson <cjwatson@ubuntu.com>
6079
6080 * include/grub/file.h (not_easly_seekable): Rename to ...
6081 (not_easily_seekable): ... this. Update all users.
6082
800f1881
CW
60832011-01-28 Colin Watson <cjwatson@ubuntu.com>
6084
6085 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
6086 grub-mkrescue.
6087
3281d3d6
VS
60882011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6089
6090 * util/grub-mkimage.c (generate_image): Refuse to create the images
6091 bigger than the actual flash (512K) in Loongson machines. 512K is also
6092 the biggest chip supported by them.
6093
3533413c
VS
60942011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6095
6096 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
6097
73ae4f4f
VS
60982011-01-22 Anthony DeRobertis <anthony@derobert.net>
6099
6100 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
6101 super_offset field.
6102
37f4f608
VS
61032011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6104
6105 * util/grub-install.in: Ignore install device on platforms
6106 where it doesn't make sense. Always use UUIDs except on pc, efi and
6107 sparc64.
6108 Reported by: Daniel Kahn Gillmor.
6109
03a4ccb5
VS
61102011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6111
6112 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
6113
ffc8f4d8
VS
61142011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
6117 (iterate_real): Don't rely on partition being non-NULL.
6118
80f23be7
VS
61192011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6120
6121 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
6122 supported platforms. Put a compile time assert for this rather than
6123 generate a warning with 32-bit shift.
6124
5d4f4dd5
VS
61252011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6126
6127 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
6128 logical expression more readable.
6129
e489601a
VS
61302011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6131
6132 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
6133 even if some elements have a name.
6134 Reported by: Alexander GQ Gerasiov.
6135
96e0a6ea
CW
61362011-01-22 Colin Watson <cjwatson@ubuntu.com>
6137
6138 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
6139 path unreadable if `grub-probe -t abstraction' fails, for example if
6140 memberlist fails on an LVM volume group.
6141 Reported by: Darius Jahandarie.
6142
81431e2b
CW
61432011-01-22 Colin Watson <cjwatson@ubuntu.com>
6144
6145 * docs/grub.texi (Simple configuration): Document
6146 GRUB_PRELOAD_MODULES.
6147
5e79d66a
CW
61482011-01-17 Colin Watson <cjwatson@ubuntu.com>
6149
6150 * .bzrignore: Remove nonexistent grub-pbkdf2.
6151
646ada34
VS
61522011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
6153
6154 * configure.ac: Bump version to 1.99~rc1.
6155
04360337
VS
61562011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
6157
6158 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
6159 for safety.
6160
46c9db88
VS
61612011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6162
6163 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
6164 module.
6165
61662011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
6167
6168 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
6169
4fbf1852
VS
61702011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6171
6172 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
6173 diskdevid.
6174
f1632d4d
VS
61752011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6176
6177 Fix compilation on cygwin.
6178
6179 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
6180 -R .drectve on cygwin.
6181 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
6182 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
6183 (COND_CYGWIN): New condition.
6184 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
6185 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
6186 not @TARGET_OBJ2ELF@.
6187 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
6188 type to determine whether aux is to be used.
6189
0b5e127b
VS
61902011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
6193 realpath'ed device string.
6194 Handle floppy (somewhat).
6195 Issue error in unknown case rather than garbage.
6196 Reported by: Axel Beckert.
6197
173b71e9
VS
61982011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6199
6200 * util/grub.d/00_header.in (load_video): Handle the case when no video
6201 drivers available.
6202 Thanks to: Axel Beckert.
6203
f8f479db
VS
62042011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6205
6206 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
6207 variable. Fixes problem on big endian platforms.
6208
8fc0a245
VS
62092011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6210
6211 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
6212 It doesn't work well there.
6213
b8494fbe
VS
62142011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6215
6216 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
6217 warning.
6218 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
6219 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
6220 counter.
6221
b44a558c
VS
62222011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6223
6224 Use alias->path rather than buggy "canon".
6225
6226 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
6227 (ofdisk_hash_add): New argument curcan. All users updated.
6228
51fa856c
CW
62292011-01-11 Colin Watson <cjwatson@ubuntu.com>
6230
6231 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
6232
9da068a5
VS
62332011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6234
6235 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
6236 loadmask before doing any calculations. Use correct type for offset.
6237 (grub_linux_load64): Likewise.
6238
86205c94
CW
62392011-01-11 Colin Watson <cjwatson@ubuntu.com>
6240
6241 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
6242 with NULL.
6243 (console_grub_equivalences_unshift): Likewise.
6244 Reported by: Daniel Dehennin.
6245
4531a206
VS
62462011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
6249 (set_env_limn_ro): Likewise.
6250 (GRUB_MOD_INIT): Likewise.
6251 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
6252 ARRAY_SIZE while on it.
6253 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
6254 * grub-core/normal/context.c (grub_env_export): Move from here ...
6255 * grub-core/kern/env.c (grub_env_export): ... here.
6256 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
6257 prefix.
6258 * grub-core/kern/main.c (grub_main): Export root and prefix.
6259 * include/grub/env.h (grub_env_export): Export.
6260 Reported by: Seth Goldberg.
6261
45146057
VS
62622011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6263
6264 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6265 Take into account space used by ELF sections and multiboot palette.
6266 Reported by: Grégoire Sutre.
6267
f093110b
VS
62682011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6269
6270 * BUGS: New file.
6271
3395fe52
VS
62722011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6273
6274 Pass more appropriate video id to Linux.
6275
6276 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
6277 grub_video_get_driver_id and variable gfxpayloadforcelfb to
6278 fill have_vga.
6279 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
6280 shift params->lfb_size.
6281 * include/grub/i386/linux.h: Make an enume out of have_vga values.
6282
c2fa6cbb
VS
62832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6284
6285 * util/grub-menulst2cfg.c: Add missing include of misc.h.
6286
b3ff6ff0
VS
62872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
6290 separator and pass bootpath/devid even if only one of them is available.
6291 Reported by: Seth Goldberg.
6292
ae67942e
VS
62932011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6294
6295 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
6296 implementations bug on them.
6297
6298 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
6299 memory.
6300 (filter_memory_map): Likewise.
6301
d570097a
VS
63022011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6303
6304 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
6305 Reported by: nebuchadnezzar.
6306
a508e776
VS
63072011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6308
6309 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
6310 Reported by: nebuchadnezzar.
6311
dcb883b1
VS
63122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6313
6314 Submenu default support.
6315
6316 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
6317 auto_boot. All users updated.
6318 Declared static.
6319 Handle chosen and default with submenus.
6320 (grub_menu_execute_with_fallback): Declared static.
6321 Don't notify failure if autobooted. Upper level does it.
6322 (menuentry_eq): New function.
6323 (get_entry_number): Use menuentry_eq.
6324 (show_menu): New parameter "autobooted". All users updated.
6325 (grub_show_menu): Likewise.
6326 * include/grub/normal.h (grub_show_menu): Likewise.
6327 * include/grub/menu.h (grub_menu_execute_entry): Removed.
6328 (grub_menu_execute_with_fallback): Likewise.
6329
6fef99b4
VS
63302011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6331
6332 * util/grub-mklayout.c (usage): Update help text.
6333
47a77af5
VS
63342011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6335
6336 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
6337
ce6bb3ee
VS
63382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6339
6340 * util/grub-menulst2cfg.c (main): Trim the line.
6341
db87be2a
VS
63422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
6345 (grub_machine_init): Don't check amount of low memory as reportedly
6346 INT 12h can be broken and if low memory is too low we wouldn't have
6347 gotten into grub_machine_init anyway.
6348
c49849cc
VS
63492011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6350
6351 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
6352 (grub_machine_mmap_iterate): Take low memory into account
6353
b1969b30
VS
63542011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6355
6356 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
6357 badfs.
6358 Reported by: TiCPU.
6359
cf0eaf13
VS
63602011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
6363 members errors.
6364
1f060f39
GS
63652011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6366
6367 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
6368 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
6369
a21e5672
GS
63702011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
6371
6372 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
6373 openbsd and netbsd types being in part_bsd module.
6374
c88172fa
VS
63752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6376
6377 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
6378 (_FILE_OFFSET_BITS): Likewise.
6379 Reported by: Seth Goldberg.
6380
53798c4b
GS
63812011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
6382
6383 * configure.ac: Check for libdevmapper header.
6384
e7121b69
VS
63852011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
6388 avoid aliasing.
6389 (fzap_lookup): Likewise.
6390 (dnode_get): Likewise.
6391 (make_mdn): Likewise.
6392 (zfs_mount): Likewise.
6393 (fzap_iterate): Use temporary pointer to avoid aliasing.
6394 (grub_zfs_read): Likewise.
6395 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
6396 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
6397 pointers to avoid aliasing.
6398 (grub_cmd_xnu_kernel64): Likewise.
6399 (grub_xnu_load_driver): Likewise.
6400
fc836af9
VS
64012011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6402
6403 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
6404 aliasing warning.
6405 (grub_cmd_terminal_output): Likewise.
6406 Reported and tested by: Grégoire Sutre.
6407
f9f37648
VS
64082011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
6411 warning.
6412 Reported and tested by: Grégoire Sutre.
6413
ec1dfd63
VS
64142011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6415
6416 * configure.ac: Do CPU substitution even if it's specified explicitly.
6417 Reported and tested by: Alain Greppin.
6418
9462775a
VS
64192011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6420
6421 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
6422 Reported and tested by: Alain Greppin.
6423
0fd48e35
VS
64242011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6425
6426 Satisfy some bison versions need for inttypes.h.
6427
6428 * grub-core/lib/posix_wrap/inttypes.h: New file.
6429 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
6430 (int16_t): Likewise.
6431 (int32_t): Likewise.
6432 (int64_t): Likewise.
6433 Reported and tested by: Alain Greppin.
6434
43f1bc83
VS
64352011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
6438 Silence spurious warning.
6439 Reported and tested by: Alain Greppin.
6440
64d1f041
SJ
64412011-01-07 Szymon Janc <szymon@janc.net.pl>
6442
6443 * docs/grub.texi (Support automatic decompression): Update with xz
6444 decompression support.
6445
25953e10
SJ
64462011-01-07 Szymon Janc <szymon@janc.net.pl>
6447
6448 Improve loaders' kernel command line handling.
6449
6450 * grub-core/lib/cmdline.c: New file.
6451 * include/grub/lib/cmdline.h: Likewise.
6452 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
6453 grub_create_loader_cmdline to create kernel command line.
6454 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6455 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
6456 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
6457 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
6458 (linux): Add lib/cmdline.c on common.
6459
e72d259f
VS
64602011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6461
6462 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
6463 inopos might be unaligned.
6464
c0cf26da
VS
64652011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
6468 endian transformations.
6469 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6470 Based on report by: Doug Nazar.
6471
0ca09e6c
DN
64722011-01-07 Doug Nazar <nazard.michi@gmail.com>
6473
6474 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
6475 array->members[i].start_sector.
6476 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
6477
014b6806
VS
64782011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
6479
6480 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
6481 Reported and tested by: Grégoire Sutre.
6482
415502c2
CW
64832011-01-06 Colin Watson <cjwatson@ubuntu.com>
6484
6485 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
6486 avoid causing test failures by clearing the screen.
6487
71b6a2b7
CW
64882011-01-06 Colin Watson <cjwatson@ubuntu.com>
6489
6490 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
6491 Fix prefix check to handle the case where dir ends with a slash
6492 (most significantly, "/" itself).
6493 Reported by: Michael Vogt.
6494
b3f8d28a
VS
64952011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6496
6497 Run terminfo_cls on initing terminfo output to clear the screen and
6498 move the cursor to (0,0).
6499
6500 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
6501 Call grub_terminfo_output_init.
6502 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
6503 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
6504 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
6505
4c3e4f37
VS
65062011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6507
6508 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
6509 only when needed.
6510
488f71f1
VS
65112011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6512
6513 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
6514 CTRL.
6515
18a38098
VS
65162011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 The E820 type 5 is BADRAM, not EXEC_CODE.
6519
6520 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6521 (GRUB_E820_BADRAM): New define.
6522 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
6523 into reserved. Propagate BADRAM.
6524 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
6525 (GRUB_E820_BADRAM): New define.
6526
9eae2084
VS
65272011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
6530 Ignore the memory post-4G.
6531 (grub_relocator_firmware_alloc_region): Additional debug statement.
6532
ebc71d28
VS
65332011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
6536 names.
6537 Reported by: David Pravec.
6538
446fa400
VS
65392011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6540
6541 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
6542 BIOSes.
6543
a0159f37
VS
65442011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6545
6546 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
6547 Prevent overflow.
6548 (grub_reed_solomon_recover): Likewise.
6549
e5146ca1
VS
65502011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
6553
65542011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
6555
6556 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
6557 variable.
6558
5b1bdf12
CW
65592011-01-04 Colin Watson <cjwatson@ubuntu.com>
6560
6561 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
6562 descriptions of extract_legacy_entries_source and
6563 extract_legacy_entries_configfile.
6564 Reported by: Seung Soo, Ha.
6565
99d925aa
CW
65662011-01-03 Colin Watson <cjwatson@ubuntu.com>
6567
6568 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
6569 on devices that do not implement function 0.
6570
4af0504b
DV
65712011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
6572
6573 * grub-core/fs/hfsplus.c: Make parent unsigned.
6574 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
6575 overflows.
6576 (grub_hfsplus_cmp_extkey): Likewise
6577
469ee10a
VS
65782011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6579
6580 * util/grub-install.in: Correctly use bootloader_id and not
6581 GRUB_DISTRIBUTOR on efibootmgr line.
6582
323a8e9c
VS
65832011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
6586
1b394975
IC
65872010-12-31 Ian Campbell <ijc@hellion.org.uk>
6588
6589 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
6590 Xen and reorder menu item wording to make it clearer that this entry
6591 will launch Xen. Print separate messages when loading Xen and
6592 Linux.
6593
275bff5f
VS
65942010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
6597 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
6598 loop in case of incorrect amiga partmap.
6599
307806cb
VS
66002010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
6603 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
6604 Reported by:EHeM.
6605
b12b923e
VS
66062010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
6607
6608 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
6609 spurious warning.
6610 Reported by: crocket
6611
14b48a19
VS
66122010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
6615 Preload EFIemu.
6616 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
6617
693db2df
VS
66182010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6619
6620 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
6621 is loaded
6622 (grub_cmd_xnu_kextdir): Likewise.
6623 (grub_cmd_xnu_splash): Likewise.
6624
c7638645
VS
66252010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6626
6627 Avoid using Reed-Solomon with 0 redundancy.
6628
6629 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
6630 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
6631 or 0 redundancy.
6632 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
6633 (grub_reed_solomon_recover): Likewise.
6634
25dd4780
VS
66352010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
6636
6637 Don't use disk subsystem in freebsd_boot.
6638
6639 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
6640 (freebsd_biosdev): Likewise.
6641 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
6642 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
6643
0b2db943
VS
66442010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Handling of files of unknown size is currently limited. They can't be
6647 used e.g. for initrd or modules. Moreover gzip handling of not
6648 easily seekable files is buggy. Disable unknown file size for now. May
6649 be inefficient but works.
6650
6651 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
6652 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
6653
5c408d0f
MP
66542010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
6655
6656 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
6657 floppy probe.
6658
190a011a
JD
66592010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
6660
6661 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
6662
022d01b8
SL
66632010-12-25 Shea Levy <shlevy>
6664
6665 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
6666
c4855fdc
VS
66672010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
6670 Windows Server 2008.
6671 Reported by: Devin Giddings.
6672
0354b867
VS
66732010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6674
6675 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
6676 writing an error message because of async power management.
6677 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
6678 (grub_reboot): Likewise.
6679
ab66c69f
JU
66802010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
6681
6682 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
6683 keep unit tests from failing when they shouldn't.
6684
1426ef35
CW
66852010-12-21 Colin Watson <cjwatson@ubuntu.com>
6686
6687 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
6688 previous patch increased the size of the RS code by 20 bytes (at
6689 least with gcc-4.4), so increase this by 20 bytes to match.
6690 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
6691
20641b6b
CW
66922010-12-21 Colin Watson <cjwatson@ubuntu.com>
6693
6694 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
6695 scratch area. Make sure to initialise chosen in standalone mode as
6696 well as non-standalone.
6697 Reported by: Robert Hooker and Andy Whitcroft.
6698 Tested by: Andy Whitcroft.
6699
d060ad60
CW
67002010-12-21 Colin Watson <cjwatson@ubuntu.com>
6701
6702 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
6703 constructing a new unescaped string and passing it to grub_xputs in
6704 one go, rather than passing characters to grub_printf one at a time.
6705
b889cfad
CW
67062010-12-21 Colin Watson <cjwatson@ubuntu.com>
6707
6708 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
6709 initialising utf16.
6710
4e01b6c8
CW
67112010-12-21 Colin Watson <cjwatson@ubuntu.com>
6712
6713 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
6714 comment. Add an extra layer of quotation, requiring the output of
6715 this function to be used in a printf format string.
6716 (gettext_printf): New function.
6717 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
6718 Extract translatable strings from here-documents and use a temporary
6719 variable instead, so that xgettext can find them.
6720 * util/grub.d/10_kfreebsd.in: Likewise.
6721 * util/grub.d/10_linux.in: Likewise.
6722 * util/grub.d/20_linux_xen.in: Likewise.
6723
6724 * po/grub.d.sed: New file.
6725 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
6726 arguments. Set c-format flags on all strings extracted from
6727 util/grub.d/ (xgettext refuses to include these itself for strings
6728 it extracted from a shell file, but these really are c-format).
6729
5318fe98
VS
67302010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
6733 Avoid next pointing to nowhere.
6734
6c85b743
VS
67352010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6736
6737 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
6738 rather than assuming than rootblock is exactly in the middle.
6739 (grub_affs_label): Likewise.
6740
a2a08a35
VS
67412010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
6744 reserved_first_sector to 0.
6745 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
6746 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
6747 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
6748
7059d1ec
VS
67492010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6750
6751 Fix handling of UTF-16 UDF labels.
6752
6753 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
6754 (read_string): .. here.
6755 (grub_udf_label): Use read_string.
6756
30aff4cb
BC
67572010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
6758
6759 * grub-core/normal/menu_entry.c (run): Execute commands from menu
6760 editor under argument scope.
6761 Reported by: Jordan Uggla
6762
5cf86f4b
VS
67632010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
6766
32570200
CW
67672010-12-18 Colin Watson <cjwatson@ubuntu.com>
6768
6769 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
6770 line, and other keys scroll an entire page (previous handling was
6771 for \r and \n to scroll a page and other keys to scroll two lines).
6772
e1dffcf2
VS
67732010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6774
6775 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
6776 Set ptrdest to correct get_physical_target_address rather than
6777 incorrect get_virtual_current_address.
6778
b04298cf 67792010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
6780
6781 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
6782 correct cat to grub_uint8_t * rather than grub_uint32_t *.
6783
5367ecd3
CW
67842010-12-10 Colin Watson <cjwatson@ubuntu.com>
6785
6786 * .bzrignore: Ignore grub-core/rs_decoder.S.
6787
1fb430f8
CW
67882010-12-10 Colin Watson <cjwatson@ubuntu.com>
6789
6790 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
6791 .mo/.mo.gz opening sequence to ...
6792 (grub_mofile_open_lang): ... here.
6793 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
6794 * util/grub.d/00_header.in (grub_lang): Include country part of
6795 locale.
6796 Reported by: Mario Limonciello.
6797
a94a6671
RM
67982010-12-09 Robert Millan <rmh@gnu.org>
6799
6800 * NEWS: Document addition of ZFS support.
6801
24b7938b
CW
68022010-12-04 Colin Watson <cjwatson@ubuntu.com>
6803
6804 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
6805 rather than `/ 2', as the latter requires -Wa,--divide which would
6806 require bumping our minimum binutils version.
6807
bddc3ef6
BC
68082010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
6809
6810 * util/grub-script-check.c (main): Print script line number on
6811 error.
6812
bf78d5b2
RM
68132010-12-01 Robert Millan <rmh@gnu.org>
6814
6815 * grub-core/fs/zfs/zfs.c: New file.
6816 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
6817 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
6818 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
6819 * grub-core/fs/zfs/zfsinfo.c: Likewise.
6820
6821 * include/grub/zfs/dmu.h: Likewise.
6822 * include/grub/zfs/dmu_objset.h: Likewise.
6823 * include/grub/zfs/dnode.h: Likewise.
6824 * include/grub/zfs/dsl_dataset.h: Likewise.
6825 * include/grub/zfs/dsl_dir.h: Likewise.
6826 * include/grub/zfs/sa_impl.h: Likewise.
6827 * include/grub/zfs/spa.h: Likewise.
6828 * include/grub/zfs/uberblock_impl.h: Likewise.
6829 * include/grub/zfs/vdev_impl.h: Likewise.
6830 * include/grub/zfs/zap_impl.h: Likewise.
6831 * include/grub/zfs/zap_leaf.h: Likewise.
6832 * include/grub/zfs/zfs.h: Likewise.
6833 * include/grub/zfs/zfs_acl.h: Likewise.
6834 * include/grub/zfs/zfs_znode.h: Likewise.
6835 * include/grub/zfs/zil.h: Likewise.
6836 * include/grub/zfs/zio.h: Likewise.
6837 * include/grub/zfs/zio_checksum.h: Likewise.
6838
6839 * Makefile.util.def: Build ZFS into libgrubmods.
6840 * grub-core/Makefile.core.def: Build zfs.mod.
6841
3f0f3831
SJ
68422010-11-30 Szymon Janc <szymon@janc.net.pl>
6843
6844 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
6845 variable.
6846 * grub-core/commands/wildcard.c (match_files): Likewise.
6847
3a4253b2
RM
68482010-11-30 Robert Millan <rmh@gnu.org>
6849
6850 * grub-core/loader/i386/bsd.c
6851 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
6852 whether kernel is loaded using grub_loader_is_loaded(), rather
6853 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
6854 certain error conditions.
6855
8c317b27
RM
68562010-11-30 Robert Millan <rmh@gnu.org>
6857
c5c9cd3e
RM
6858 * grub-core/commands/echo.c: Include `<grub/term.h>'.
6859 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 6860
49d3ab46
VS
68612010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6862
6863 Avoid using tricks for initialising endian variables.
6864
6865 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
6866 Make const.
6867 (GRUB_MOD_INIT): Don't byte-swap.
6868 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6869 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
6870 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
6871 (grub_swap_bytes32_compile_time): Likewise.
6872 (grub_cpu_to_le32_compile_time): Likewise.
6873 (grub_cpu_to_le16_compile_time): Likewise.
6874
f420a804
VS
68752010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
6876
6877 * util/grub-setup.c (setup): Stop recommending --force. People who
6878 understand the dangers of blocklists are able to find this option
6879 anyway and the ones who don't shouldn't use it anyway.
6880
4e7db17b
RM
68812010-11-26 Robert Millan <rmh@gnu.org>
6882
6883 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
6884 Update all users.
6885
9be57a0d
CW
68862010-11-26 Colin Watson <cjwatson@ubuntu.com>
6887
6888 Fix LVM-on-RAID probing.
6889
6890 * util/grub-probe.c (probe): Remember which disk was detected as
6891 RAID (perhaps an LVM physical volume). Use that disk's raidname
6892 rather than that of the top-level disk.
6893
2c7859b3 68942010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 6895
d7647bb6
BC
6896 Fix cmdline argument quotes for setparams command of menuentry
6897 definitions.
7e623b0d
BC
6898
6899 * grub-core/commands/menuentry.c (setparams_prefix): Use single
6900 quotes for arguments.
f866fe80 6901 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 6902 grub_strchrsub function instead.
f866fe80 6903
7955bea0 6904 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 6905
74f72a64
CW
69062010-11-24 Colin Watson <cjwatson@ubuntu.com>
6907
6908 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
6909 effort by skipping "." and ".." entries up-front.
6910 Suggested by: Michael Lazarev.
6911
5a407278
CW
69122010-11-24 Colin Watson <cjwatson@ubuntu.com>
6913
6914 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
6915 ldflags to ldadd, to fix link line ordering.
6916 (none_decompress): Likewise.
6917
3030d8ec
CW
69182010-11-24 Colin Watson <cjwatson@ubuntu.com>
6919
6920 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
6921 platforms.
6922 (grub-emu-lite): Remove kern/emu/cache.S.
6923
b7fbac12
CW
69242010-11-23 Colin Watson <cjwatson@ubuntu.com>
6925
6926 * util/deviceiter.c (compare_devices): If the by-id link for a
6927 device couldn't be resolved, fall back to sorting by the by-id link
6928 rather than segfaulting.
6929 Reported and tested by: Daniel Mierswa.
6930
5225f328
CW
69312010-11-23 Colin Watson <cjwatson@ubuntu.com>
6932
6933 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
6934 ldflags, to fix link line ordering.
6935
038b3ce8
CW
69362010-11-23 Colin Watson <cjwatson@ubuntu.com>
6937
6938 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
6939 linkers are picky about this.
6940
bf16e98e
CW
69412010-11-23 Colin Watson <cjwatson@ubuntu.com>
6942
6943 * grub-core/Makefile.am (command.lst): Adjust sed expression
6944 ordering so that extended and priority commands aren't treated as
6945 ordinary commands.
6946
7242bab6
CW
69472010-11-23 Colin Watson <cjwatson@ubuntu.com>
6948
6949 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
6950 Remove byte-swapping function calls, which are not valid in
6951 structure initialisers.
6952 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
6953 non-const.
6954 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
6955 grub_gpt_partition_type_bios_boot.
6956
14e8b279
CW
69572010-11-22 Colin Watson <cjwatson@ubuntu.com>
6958
6959 Fix test program build on GNU/kFreeBSD.
6960
6961 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
6962 $(LIBNVPAIR)' library dependencies.
6963
e6f63338 69642010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
6965
6966 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
6967
cf8ffc38
CW
69682010-11-22 Colin Watson <cjwatson@ubuntu.com>
6969
6970 * util/grub-install.in: Remove excessive quoting that broke
6971 installations to RAID devices.
6972
7f8b0fd7
VS
69732010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6974
6975 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
6976 bootloader version instead of 0.
6977
dfd240b1
VS
69782010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6979
6980 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
6981 warning.
6982
7b61e609
VS
69832010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
6984
6985 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
6986 retrieve the metadat sector if size isn't known.
6987 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6988
9dfe92d0
RM
69892010-11-18 Robert Millan <rmh@gnu.org>
6990
6991 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
6992 with grub_memcmp().
6993
41cc919e
VS
69942010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
6995
6996 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
6997 arrow.
6998 Reported by: Jordan Uggla.
6999
1afcc914
VS
70002010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7001
7002 Make better UTF compliant.
7003
7004 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
7005 sequences as incorrect.
7006 (grub_is_valid_utf8): Likewise.
7007 (grub_utf8_to_ucs4): Likewise.
7008 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
7009 (grub_ucs4_to_utf8_alloc): Likewise.
7010 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
7011
f1808884
VS
70122010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 Make legacy_source behave like source.
7015
7016 * grub-core/commands/legacycfg.c (legacy_file): Don't call
7017 grub_show_menu.
7018 (grub_cmd_legacy_source): Call grub_show_menu if needed.
7019
24ec575b
CW
70202010-11-16 Colin Watson <cjwatson@debian.org>
7021
7022 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
7023 (-Wunused implies -Wunused-parameter, but not vice versa).
7024
72b7c7aa
CW
70252010-11-16 Colin Watson <cjwatson@ubuntu.com>
7026
7027 * configure.ac: Make error messages less confusing by testing for
7028 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
7029 accepted, but produces a diagnostic if something else is wrong).
7030
e98937aa
VS
70312010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7032
7033 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
7034 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
7035 (now unused).
7036 (grub_keyboard_controller_init)
7037 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
7038 read the initial state since controller isn't inited yet.
7039
f6bbabc3
VS
70402010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
7041
7042 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
7043 allocate_regbeg may need to create new chunk header.
7044
22e7dbb2
VS
70452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7046
7047 Fix quoting in legacy parser.
7048
7049 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
7050 single quotes.
7051 (grub_legacy_parse): Likewise.
7052 Reported by: Jordan Uggla.
7053 Tested by: Jordan Uggla.
7054
03f80960
VS
70552010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 Don't add -lgcc on i386 and x86_64.
7058
7059 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
7060 * conf/Makefile.common (LDADD_KERNEL): Likewise.
7061 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
7062
779dc15b
VS
70632010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7064
7065 * configure.ac: Add -Wno-trampolines when supported.
7066
d20a3b37
MV
70672010-11-14 Modestas Vainius <modax@debian.org>
7068
7069 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
7070 fakeraid.
7071
e5360933
GC
70722010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7073
7074 Add generic logical block size support for UDF.
7075
7076 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
7077 (GRUB_UDF_BLKSZ): Removed.
7078 (struct grub_udf_data): New field "lbshift" to hold the logical block
7079 size of the file system in log2 format. All users updated.
7080 (sblocklist): Change type to unsigned.
7081 (grub_udf_mount): Change type of "sblklist" to unsigned.
7082 Move AVDP search before VRS recognition, because the latter requires
7083 knowledge of the logical block size, which is detected during the
7084 former.
7085 Detect and validate logical block size during AVDP search, adding
7086 support for block sizes 512, 1024 and 4096.
7087 Make VRS recognition independent of block size.
7088
cb0229c5
GC
70892010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7090
7091 Properly handle deleted files on UDF.
7092
7093 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
7094 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
7095 set.
7096
406858a8
GC
70972010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
7098
7099 Support reading files larger than 2 GiB.
7100
7101 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
7102 "offset" to grub_off_t.
7103 (grub_udf_read_file): Likewise for parameter "pos".
7104
130da6a7
VS
71052010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
7108 unavailable.
7109 (Simple configuration): Refer to Changes from GRUB Legacy about
7110 save_env availability.
7111
65e93f6b
VS
71122010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 * util/grub-install.in: Ignore empty partition table detection
7115 instead of trying to include part_ module.
7116
1fd08bf1
VS
71172010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7118
7119 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
7120 LVM on RAID support.
7121
de1a024f
VS
71222010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7123
7124 Properly define WORDS_BIGENDIAN in wrapped environments.
7125
7126 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
7127 definition.
7128 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
7129
7130 Reported by: Manoel Rebelo Abranches.
7131 Tested by: Manoel Rebelo Abranches.
7132
bc5dd0b9
VS
71332010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * util/grub-mkconfig.in: Fix quoting.
7136
58c184be
VS
71372010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7138
7139 Support big ext2 files.
7140
7141 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
7142 (grub_ext2_read_block): Support triple indirect blocks.
7143 (grub_ext2_read_file): Use 64-bit types and read size_high.
7144 (grub_ext2_open): Read size_high.
7145 Reported by: Ximin Luo.
7146 Tested by: Manoel Rebelo Abranches.
7147
5f0c02b3
VS
71482010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * util/grub-install.in: Handle filenames containing spaces.
7151 Reported by: Jordan Uggla.
7152 Tested by: Jordan Uggla.
7153
4417aae6
VS
71542010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * util/grub-mkconfig.in (grub_script_check): New variable.
7157 Use grub_script_check instead of grub-script-check.
7158 Reported by: Barry Jackson.
7159
7625a68e
VS
71602010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * docs/grub.texi (menu): Correct the order.
7163 Reported by: D. Hugh Redelmeier.
7164
10001ac5
VS
71652010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
7168 jump.
7169
9c4cf53b
MRA
71702010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
7171
10001ac5
VS
7172 * include/grub/elfload.h (grub_elf32_size): New parameter.
7173 All users updated.
9c4cf53b
MRA
7174 Return maximum segments alignment.
7175 (grub_elf64_size): Likewise.
7176 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
7177 Return maximum segments alignment.
7178 (grub_elf64_size): Likewise.
7179 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
7180 (grub_linux_claimmap_iterate): New function. Uses the
7181 "available" property in the "memory" node for memory allocation
7182 for kernel in the PowerPC loader.
9c4cf53b
MRA
7183 (grub_linux_load32): Correctly find linux entry point offset.
7184 (grub_linux_load64): Likewise.
7185
d2bf06bf
RM
71862010-11-07 Robert Millan <rmh@gnu.org>
7187
7188 On mips-yeeloong, build with -march=loongson2f when this flag is
7189 available (GCC >= 4.4).
7190 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
7191 `-march=mips3'.
7192 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
7193 or otherwise add -march=mips3.
7194
898c99a2
BC
71952010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
7196
87220a68
BC
7197 Suppress shell expansion on echo '*' and echo "*" like cases.
7198 Reported by: Jordan Uggla.
898c99a2
BC
7199
7200 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
7201 string arguments before shell expansion.
7202 * tests/grub_cmd_echo.in: New testcases.
7203
4f9b406a
RM
72042010-11-07 Robert Millan <rmh@gnu.org>
7205
7206 * conf/mips-qemu-mips.rmk: Remove stale file from previous
7207 transition.
7208
80c6d25e
VS
72092010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
7210
7211 * grub-core/kern/emu/hostdisk.c
7212 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
7213
4a1a0153
VS
72142010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7215
7216 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
7217 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
7218 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
7219
34706ddc
VS
72202010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
7223
6972dea9
VS
72242010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7225
7226 * util/grub-install.in: Replace useless recomendation to pass
7227 --modules with a recomendation to report a bug.
7228
9c693bd6
VS
72292010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 Properly register serial terminfo.
7232 Reported by: Jordan Uggla
7233
7234 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
7235 const.
7236 (grub_serial_terminfo_output_template): Likewise.
7237 (grub_cmd_serial): Register "serial" with terminfo.
7238 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
7239 grub_serial_terminfo_output.
7240
6c9e4c0c
RM
72412010-11-05 Robert Millan <rmh@gnu.org>
7242
7243 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
7244 needed).
7245
b9b3839f
RM
72462010-11-05 Robert Millan <rmh@gnu.org>
7247
7248 On Yeeloong, pass machine type information to Linux.
7249
7250 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
7251 (LOONGSON_MACHTYPE): New macro, set to
7252 "machtype=lemote-yeeloong-2f-8.9inches".
7253 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
7254 additional argument to Linux.
7255
1a3aaff4
RM
72562010-11-04 Robert Millan <rmh@gnu.org>
7257
7258 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
7259 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
7260 (its SATA disks are detected as slaveless IDE master drives on
7261 kFreeBSD).
7262 Reported by Carsten Aulbert.
7263
a75f4f62
CW
72642010-11-02 Colin Watson <cjwatson@ubuntu.com>
7265
7266 * util/bin2h.c (main): Fix spelling error in generated output.
7267
33b4b0c6
GS
72682010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
7269
7270 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
7271
2b36fbf4
VS
72722010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7273
7274 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
7275 vga= option is supplied.
7276
74aaf558
VS
72772010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7278
7279 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
7280 * util/grub.d/10_kfreebsd.in: Likewise.
7281 * util/grub.d/10_linux.in: Likewise.
7282 * util/grub.d/20_linux_xen.in: Likewise.
7283
6428dec3
VS
72842010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7285
7286 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
7287 argument as an argument to no-argument option.
7288
f8729d98
VS
72892010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7290
7291 * util/grub.d/10_linux.in: Add missing load_video with explicit
7292 GRUB_GFXPAYLOAD_LINUX.
7293
89d68fa6
VS
72942010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7295
7296 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
7297
3a1197cd
VS
72982010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
7301 elements with invlid index.
7302 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
7303 * grub-core/disk/raid.c (insert_array): Automatically reallocate
7304 members.
7305 * include/grub/raid.h (grub_raid_member): New struct.
7306 (grub_raid_array): Transform devices and start_sector into usage of
7307 grub_raid_member. All users updated
7308 (allocated_devs): New member.
7309
71574288
VS
73102010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
7311
7312 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
7313 is modified
7314
8d40ec65
BC
73152010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
7316
7317 NetBSD build fix for getline function conflict from gnulib.
7318
7319 * Makefile.util.def (libgrubkern.a): New library for grub kernel
7320 components that depend on gnulib headers.
7321 (libgrubmods.a): Renamed from earlier libgrub.a.
7322 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
7323
95b9257e
VS
73242010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7325
7326 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
7327 install rather than creating a broken install.
7328
26c53dc6
VS
73292010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7330
7331 * util/grub-setup.c (argp): Remove misleading example of installing to
7332 a partition.
7333
4171b3c5
VS
73342010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 * util/grub-setup.c (setup): Clarify the error message.
7337
18568d18
VS
73382010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
7339
7340 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
7341
4f6a2e21
VS
73422010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7343
7344 * grub-core/kern/emu/misc.c
7345 (grub_make_system_path_relative_to_its_root)
7346 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
7347
73482010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
7349
7350 * grub-core/kern/emu/misc.c
7351 (grub_make_system_path_relative_to_its_root): Revert r2882.
7352
e138c458
VS
73532010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
7354
7355 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
7356 useless field head. All users updated.
7357 (free_subchunk): Correct handling of IN_REGION subchunk.
7358
0cbcdf0e
CW
73592010-10-22 Colin Watson <cjwatson@ubuntu.com>
7360
7361 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
7362 (Supported kernels): Likewise.
7363
b65ea155
GS
73642010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
7365
7366 Make mktemp invocations portable.
7367
7368 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
7369 exit if mktemp fails.
7370 * tests/grub_script_blockarg.in: Likewise.
7371 * tests/partmap_test.in: Likewise.
7372 * tests/util/grub-shell-tester.in: Likewise.
7373 * tests/util/grub-shell.in: Likewise.
7374 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
7375 * Makefile.am: Likewise, and chain shell commands with `&&'
7376 instead of ';'.
7377 * util/grub-mkrescue.in: Use the same explicit template as above, and
7378 exit if mktemp fails.
7379
05f43cdd
BC
73802010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
7381
7382 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
7383 Linux kernel, reported by Dennis Schridde.
7384
800e6a9b
SJ
73852010-10-17 Szymon Janc <szymon@janc.net.pl>
7386
7387 * grub-core/normal/auth.c (grub_auth_check_authentication):
7388 Set-but-not-used variable removed.
7389
d82df574
VS
73902010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7391
7392 * docs/grub.texi (GNU/Linux): Document APM unavailability with
7393 32-bit linux protocol.
7394
7bced458
VS
73952010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
7398 cursor shape for sanity.
7399
5b027690
VS
74002010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7401
7402 * docs/grub.texi (Installation): Document buggy BIOS install.
7403
ba5f65cf
VS
74042010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7405
7406 * docs/grub.texi (Installation): Indent.
7407
fdf2ec9c
VS
74082010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7409
7410 * util/grub-setup.c (setup): New parameter allow_floppy.
7411 (arguments): New member allow_floppy.
7412 (argp_parser): Handle --allow-floppy.
7413 (main): Pass allow_floppy.
7414 * util/grub-install.in: New option --allow-floppy passed though to
7415 grub-setup.
7416
861dfd4c
VS
74172010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7418
7419 * util/grub-install.in: Handle partitionless disks.
7420
f77a8c24
VS
74212010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
7422
7423 * util/grub-setup.c (setup): Don't clean blocklists before readability
7424 verfification.
7425
27d9ee32
VS
74262010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * docs/grub.texi (Installation): Document embedding zone. Remove
7429 obsolete grub-install example.
7430
6bdda8f8
SJ
74312010-10-16 Szymon Janc <szymon@janc.net.pl>
7432
7433 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
7434 Set-but-not-used variable ifdef'ed.
7435 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
7436 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
7437 variable removed.
7438 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
7439 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
7440 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
7441 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
7442 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
7443 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
7444 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
7445 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
7446 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
7447 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
7448 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
7449 Likewise.
7450
e19b016b
VS
74512010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7452
7453 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
7454 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
7455 enum value.
7456
6c8d3002
VS
74572010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7458
7459 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
7460 synonym to _S5_. Needed for some DSDTs.
7461
c32b51c9
VS
74622010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 Userspace ACPI parser debugging.
7465
7466 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
7467 headers and add relevant defines. Don't include standard headers.
7468 (main) [GRUB_DSDT_TEST]: New function.
7469 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
7470 Don't declare functions.
7471
fbfbeb39
VS
74722010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7473
7474 Remove dead grub_efi_mm_fini.
7475
7476 * grub-core/kern/efi/mm.c (allocated_page): Removed.
7477 (ALLOCATED_PAGES_SIZE): Likewise.
7478 (MAX_ALLOCATED_PAGES): Likewise.
7479 (allocated_pages): Likewise.
7480 (grub_efi_allocate_pages): Don't record allocated pages.
7481 (grub_efi_free_pages): Likewise.
7482 (grub_efi_mm_init): Likewise.
7483 (grub_efi_mm_fini): Removed.
7484
65f7ed7c
VS
74852010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7486
7487 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
7488 (grub_efi_mm_init): Take into account the memory map size increase.
7489
24977b44
VS
74902010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7491
7492 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
7493 (serial_hw_put): Wait based on real time rather than port reads. Don't
7494 roken ports.
7495 * include/grub/serial.h (grub_serial_port): New field broken.
7496
1eb01cd2
RM
74972010-10-16 Robert Millan <rmh@gnu.org>
7498
7499 * grub-core/kern/emu/misc.c
7500 (grub_make_system_path_relative_to_its_root): Fix premature return
7501 when processing non-root ZFS filesystems.
5f8b440b 7502 Reported by Sergio Talens-Oliag.
1eb01cd2 7503
2d5fed60
RM
75042010-10-15 Robert Millan <rmh@gnu.org>
7505
7506 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
7507 guarantee compressed ones are processed first.
7508
d0f4c1ea
VS
75092010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7510
7511 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
7512 grub_efiemu_autocore.
7513
d87c681f
VS
75142010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
7517 rather than 0x1b.
7518 (grub_console_getkey): Use correct jae opcode rather than ja.
7519
219b3564
RM
75202010-10-12 Robert Millan <rmh@gnu.org>
7521
7522 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
7523 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
7524 variable. All references updated.
7525
7526 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
7527
20c6bb7e
VS
75282010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
7529
7530 Correctly distinguish mdraid flavours.
7531
7532 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
7533 (insert_array): New argument raid.
7534 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
7535 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
7536 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
7537
74baff84
VS
75382010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
7539
7540 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
7541 handling of special keys.
7542
3ef068df 75432010-10-02 Aleš Nesrsta <starous@volny.cz>
7544
c7980ad9
VS
7545 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
7546 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 7547
a9455194 75482010-10-02 Aleš Nesrsta <starous@volny.cz>
7549
c7980ad9
VS
7550 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
7551 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
7552 users updated.
a9455194 7553 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 7554 Use right endpoint when querying descriptor.
a9455194 7555
441cfe65
VS
75562010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7557
7558 Clear out 0x80 color bit on EFI.
7559 Tested by: decoder
7560 Reported by: decoder and meta tech.
7561
7562 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
7563 (grub_console_setcolorstate): Clear out 0x80 bit.
7564 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
7565 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
7566 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
7567
bf26bcc4
VS
75682010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
7569
7570 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
7571 Set to "auto".
7572
6e3c515d
VS
75732010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7574
7575 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
7576 mo_file after freeing.
7577
e6d983ba
VS
75782010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7579
7580 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
7581
74ccb5b5
VS
75822010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7583
7584 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
7585 flags.
7586
17821956
VS
75872010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7588
7589 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
7590 usage.
7591
ee74fa48
VS
75922010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
7593
7594 Put terminfo into core on ieee1275 and yeeloong (needed for console).
7595
7596 * gentpl.py: New groups terminfoinkernel and terminfomodule.
7597 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
7598 and terminfo.h when needed.
7599 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
7600 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
7601 (terminfo): Enable only on terminfokernel.
7602 (extcmd): Likewise.
7603 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
7604 * include/grub/lib/arg.h: Likewise.
7605 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
7606 incorrect usage of ->.
7607
aa438e68
VS
76082010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7609
7610 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
7611 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
7612
57994012
VS
76132010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7614
7615 Fix coreboot compilation.
7616
7617 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
7618 Take VBE info into account even if only text is supported.
7619 (fill_vbe_info): Take into account the case when only VGA text
7620 is supported.
7621 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
7622 on coreboot, multiboot and qemu.
7623
2a406611
VS
76242010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
7627 debug messages.
7628 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
7629
d33613fc
VS
76302010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
7633 parameters.
7634
44a1b432
VS
76352010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
7638 if they were BSD-style.
7639
edde54e6
VS
76402010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/boot/i386/pc/lnxboot.S: Replace
7643 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
7644 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
7645
b65830fa
VS
76462010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
7647
7648 Write embedding zone using Reed-Solomon.
7649
7650 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
7651 * grub-core/Makefile.am (rs_decoder.S): New target.
7652 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
7653 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
7654 (multiboot): Move to RS part.
7655 (post_reed_solomon): New label.
7656 (grub_boot_drive): Move to non-RS part since it's modified in memory
7657 on boot.
7658 Include rs_decoder.S.
7659 * grub-core/lib/reed_solomon.c: New file.
7660 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
7661 New definition.
7662 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
7663 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
7664 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
7665 * include/grub/partition.h (grub_partition_map): Change prototype of
7666 embed to allow returning additional sectors.
7667 * include/grub/reed_solomon.h: New file.
7668 * util/grub-setup.c (setup): Handle Reed-Solomon.
7669
0b4b227f
CW
76702010-09-28 Colin Watson <cjwatson@ubuntu.com>
7671
7672 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7673 i386 and x86-64 definedness tests.
7674
f772623b
YB
76752010-09-27 Yves Blusseau <blusseau@zetam.org>
7676
7677 Fix generation of kernel_syms.lst
7678
7679 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
7680 ASM_PREFIX
7681
8e57a6ca
RM
76822010-09-26 Robert Millan <rmh@gnu.org>
7683
7684 Support degraded ZFS arrays in "grub-probe -t device" resolution.
7685
7686 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
7687 the pool is an array of devices, iterate through it and return the
7688 first device that passes a stat() test (instead of blindly returning
7689 the first one).
7690
f9130836
RM
76912010-09-26 Robert Millan <rmh@gnu.org>
7692
7693 Build fixes for GNU/kFreeBSD.
7694
7695 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
7696 to programs that require ZFS conversion.
7697 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
7698 kernels that don't have FLOPPY_MAJOR.
7699
96510faf
BC
77002010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7701
7702 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
7703
449333eb
BC
77042010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
7705
7706 Fix grub-emu build.
7707
7708 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
7709 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
7710 mdraid09 and mdraid1x.
7711
e1fd1939
CW
77122010-09-24 Colin Watson <cjwatson@ubuntu.com>
7713
7714 Re-enable grub-extras.
7715
7716 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
7717 avoid confusing Automake. Run autogen only twice, once for the top
7718 level and once for grub-core. Add Makefile.util.def and
7719 Makefile.core.def from extra modules to the appropriate autogen
7720 invocations. If Makefile.common exists in an extra module, include
7721 it in both Makefile.util.am and grub-core/Makefile.core.am;
7722 similarly, include any Makefile.util.common file in Makefile.util.am
7723 and any Makefile.core.common file in grub-core/Makefile.core.am.
7724 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
7725 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
7726 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
7727 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
7728
7729 * gentpl.py (gvar_add): Turn GVARS into a set.
7730 (global_variable_initializers): Sort global variables on output.
7731 (vars_init): New function.
7732 (first_time): Likewise.
7733 (library): Ensure that non-global variable initialisations are
7734 emitted before the first time we emit code for a library block.
7735 Append to variables rather than setting them. Only emit
7736 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
7737 each conditional path.
7738 (program): installdir() emits an Autogen macro, so must be passed to
7739 var_add rather than gvar_add.
7740 (data): Likewise.
7741 (script): Likewise.
7742 (rules): New function, centralising handling for different target
7743 types. Set up Guile association lists for first_time and vars_init,
7744 and send most output to a diversion so that variable initialisations
7745 can be emitted first.
7746 (module_rules): Use new rules function.
7747 (kernel_rules): Likewise.
7748 (image_rules): Likewise.
7749 (library_rules): Likewise.
7750 (program_rules): Likewise.
7751 (script_rules): Likewise.
7752 (data_rules): Likewise.
7753
7754 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
7755
7756 * .bzrignore: Add contrib and grub-core/contrib. Remove
7757 grub-core/Makefile.gcry.am.
7758
1d12cf29
YB
77592010-09-24 Yves Blusseau <blusseau@zetam.org>
7760
7761 * grub-core/lib/LzFind.c: Add missing include.
7762 * grub-core/lib/LzmaEnc.c: Likewise.
7763 * grub-core/script/lexer.c: Likewise.
7764 * grub-core/script/yylex.l: Likewise.
7765 * util/grub-macho2img.c: Likewise.
7766 * util/grub-menulst2cfg.c: Likewise.
7767 * util/grub-mklayout.c: Likewise.
7768 * util/grub-mkpasswd-pbkdf2.c
7769 * util/grub-mkrelpath.c: Likewise.
7770 * util/resolve.c: Likewise.
7771
dd363028
BC
77722010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
7773
7774 * Makefile.util.def (example_unit_test): Add
7775 grub-core/gnulib/libgnu.a.
7776
f5a109e2
GS
77772010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
7778
7779 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
7780
6d0fa83c
VS
77812010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
7782
7783 Support xz compression on yeeloong.
7784
7785 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
7786 * configure.ac: Check for LZMA.
7787 * grub-core/Makefile.core.def (xz_decompress): New target.
7788 (none_decompress): Likewise.
7789 * grub-core/boot/decompressor/minilib.c: New file.
7790 * grub-core/boot/decompressor/none.c: Likewise.
7791 * grub-core/boot/decompressor/xz.c: Likewise.
7792 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
7793 * grub-core/kern/mips/cache_flush.S: Likewise.
7794 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
7795 * grub-core/kern/mips/startup.S: Move first stage to ...
7796 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
7797 nomacro.
7798 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
7799 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
7800 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
7801 Allocate statically.
7802 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
7803 Allocate statically or use scratch. Don't check CRC32.
7804 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
7805 Allocate statically. Don't check CRC32.
7806 * include/grub/decompressor.h: New file.
7807 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
7808 Removed.
7809 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
7810 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
7811 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
7812 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
7813 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
7814 * util/grub-mkimage.c (grub_compression_t): New type.
7815 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
7816 (image_target_desc): New field default_compression.
7817 (image_targets): Adjust yeeloong targets.
7818 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
7819 (compress_kernel): New parameter comp.
7820 (generate_image): Likewise. Handle new compression case.
7821 (options): New option --compression
7822 (help): Likewise.
7823 (main): Handle new option.
7824
1b655af6
GS
78252010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
7826
7827 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
7828
8f03f0b5
CW
78292010-09-22 Colin Watson <cjwatson@ubuntu.com>
7830
7831 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
7832 typo in __i386__ conditional.
7833
7835dfd3
VS
78342010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
7837 include.
7838
e255597e
VS
78392010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
7840
6d0fa83c 7841 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
7842
7843 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
7844 new tags as supported.
7845 (acpiv2_size): New function.
7846 (grub_multiboot_get_mbi_size): Take new tags into account.
7847 (grub_multiboot_make_mbi): Add new tags.
7848 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 7849
6cc14051 78502010-09-21 Aleš Nesrsta <starous@volny.cz>
7851
7852 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
7853 Added missing configuration of USB device.
7854
df7769d8
CW
78552010-09-21 Colin Watson <cjwatson@ubuntu.com>
7856
7857 * grub-core/normal/menu_entry.c (run): Make sure we always return
7858 a value.
7859
b031012d
CW
78602010-09-21 Colin Watson <cjwatson@ubuntu.com>
7861
7862 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
7863 NumberOfPages is UINT64 according to the UEFI specification, not
7864 UINTN. Fix printf format.
7865
174de8f3
CW
78662010-09-21 Colin Watson <cjwatson@ubuntu.com>
7867
7868 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
7869 `err' to grub_usb_err_t.
7870 Reported and tested by: KESHAV P.R.
7871
d7dbe923
CW
78722010-09-21 Colin Watson <cjwatson@ubuntu.com>
7873
7874 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
7875 tpart non-const, so that we can assign to it. (Since this is a
7876 typedef, the constness refers to the pointer rather than what it
7877 points to.)
7878
8d5e2af3
CW
78792010-09-21 Colin Watson <cjwatson@ubuntu.com>
7880
7881 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
7882 $(top_srcdir)/grub-core/gnulib as well as
7883 $(top_builddir)/grub-core/gnulib.
7884 Reported by: KESHAV P.R.
7885
5c527783
CW
78862010-09-21 Colin Watson <cjwatson@ubuntu.com>
7887
7888 * util/grub-install.in: Fix the bootloader ID option to be
7889 consistently --bootloader-id, not --bootloader_id.
7890 Reported by: KESHAV P.R.
7891
d309a16e
CW
78922010-09-21 Colin Watson <cjwatson@ubuntu.com>
7893
7894 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
7895 check hash checksum." consistently translatable.
7896
b830cd16
YB
78972010-09-21 Yves Blusseau <blusseau@zetam.org>
7898
7899 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
7900 $(top_builddir).
7901
c4fe27a8
CW
79022010-09-21 Colin Watson <cjwatson@ubuntu.com>
7903
7904 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
7905 (GRUB_MOD_INIT): Register sha1sum command.
7906 (GRUB_MOD_FINI): Unregister sha1sum command.
7907
a4c1d277
YB
79082010-09-21 Yves Blusseau <blusseau@zetam.org>
7909
7910 Keep boot and grub directory names in sync with utils scripts
7911
7912 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
7913 * config.h.in: Add previous macros.
7914 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
7915 * util/grub-install.in: Use $bootdir and $grubdir variables.
7916
4eff79d2
CW
79172010-09-21 Colin Watson <cjwatson@ubuntu.com>
7918
7919 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
7920 convert partition names to disk names if the new `convert' parameter
7921 is set.
7922 (grub_util_biosdisk_get_grub_dev): If opening the disk device
7923 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
7924 disk in its own right. This can happen with Xen disk images.
7925
934d7e44
YB
79262010-09-21 Yves Blusseau <blusseau@zetam.org>
7927
7928 * util/grub-editenv.c: Update strings to avoid warnings when generating
7929 grub.pot file.
7930 * util/grub-setup.c: Likewise.
934d7e44 7931
df3367cc
VS
79322010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7933
7934 * configure.ac: Change version to 1.99~beta0.
7935
77a94e98
VS
79362010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
7937
7938 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
7939 Add BADRAM.
7940 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
7941 Likewise.
7942 * include/multiboot.h: Resynced with specification.
7943 * include/multiboot2.h: Likewise.
7944
269004c1
CW
79452010-09-21 Colin Watson <cjwatson@ubuntu.com>
7946
7947 Fix po directory handling.
7948
7949 * configure.ac: Create po/Makefile.in rather than po/Makefile.
7950 * grub-core/gnulib/Makefile.am: Import gettext module.
7951 * m4/gnulib-cache.m4: Likewise.
7952 * m4/gnulib-comp.m4: Likewise.
7953 * m4/gettext.m4: New file, from gnulib.
7954 * m4/glibc2.m4: Likewise.
7955 * m4/iconv.m4: Likewise.
7956 * m4/intdiv0.m4: Likewise.
7957 * m4/intl.m4: Likewise.
7958 * m4/intldir.m4: Likewise.
7959 * m4/intlmacosx.m4: Likewise.
7960 * m4/intmax.m4: Likewise.
7961 * m4/inttypes-pri.m4: Likewise.
7962 * m4/lcmessage.m4: Likewise.
7963 * m4/lib-ld.m4: Likewise.
7964 * m4/lib-link.m4: Likewise.
7965 * m4/lib-prefix.m4: Likewise.
7966 * m4/lock.m4: Likewise.
7967 * m4/nls.m4: Likewise.
7968 * m4/po.m4: Likewise.
7969 * m4/printf-posix.m4: Likewise.
7970 * m4/progtest.m4: Likewise.
7971 * m4/threadlib.m4: Likewise.
7972 * m4/uintmax_t.m4: Likewise.
7973 * m4/visibility.m4: Likewise.
7974 * po/Makefile.am: Remove.
7975 * po/Makefile.in.in: New file, from gettext.
7976 ($(DOMAIN).pot-update): Support POTFILES-shell.
7977 * po/Makevars: New file.
7978 * po/POTFILES-shell: Rename to ...
7979 * po/POTFILES-shell.in: ... this. Update.
7980 * po/POTFILES: Rename to ...
7981 * po/POTFILES.in: ... this. Update.
7982 * po/Rules-quot: New file, from gettext.
7983 * po/boldquot.sed: Likewise.
7984 * po/en@boldquot.header: Likewise.
7985 * po/en@quot.header: Likewise.
7986 * po/insert-header.sin: Likewise.
7987 * po/quot.sed: Likewise.
7988 * po/remove-potcdate.sin: Likewise.
7989
3e0fa5d0
VS
79902010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7991
7992 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
7993
ade9bd66
VS
79942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7995
7996 * util/grub.d/20_linux_xen.in: Use submenus.
7997
fc55cc4c
VS
79982010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
7999
8000 Support submenus.
8001
8002 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
8003 parameter submenu. All users updated.
8004 * grub-core/normal/main.c (free_menu): Rename to ...
8005 (grub_normal_free_menu): ... this. Made global.
8006 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
8007 if requested.
8008 * grub-core/normal/menu_entry.c (screen): New field submenu.
8009 (make_screen): Set submenu.
8010 (run): Open new context if requested.
8011 * include/grub/menu.h (grub_menu_entry): New field submenu.
8012 * include/grub/normal.h (grub_normal_free_menu): New proto.
8013
600cedf7
VS
80142010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 Menu entries extractor.
8017
8018 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
8019 variants.
8020 (GRUB_MOD_INIT): Register new variants.
8021 (GRUB_MOD_FINI): Unregister new variants.
8022 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
8023 into grub_cmd_legacy_source.
8024 (grub_cmd_legacy_source): Implement extractor variants.
8025 (GRUB_MOD_INIT): Register new variants.
8026 (GRUB_MOD_FINI): Unregister new variants.
8027 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
8028 as an extractor.
8029 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
8030 search as an extractor.
8031 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
8032 test as an extractor.
8033 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
8034 as an extractor.
8035 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
8036 (grub_env_new_context): New function.
8037 (grub_env_context_open): Likewise.
8038 (grub_env_extractor_open): Likewise.
8039 (grub_env_extractor_close): Likewise.
8040 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
8041 grub_extractor_level.
8042 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
8043 * include/grub/env.h (grub_env_extractor_open): New proto.
8044 (grub_env_extractor_close): Likewise.
8045 * include/grub/normal.h (grub_extractor_level): New external variable.
8046
7bda3a87
VS
80472010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Make cutmem accept a region specification.
8050 Suggested by: Samuel Thibault
8051
8052 * grub-core/mmap/mmap.c (parsemem): New function.
8053 (grub_cmd_cutmem): Handle new arguments.
8054
2ea57f88
VS
80552010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 New command cutmem.
8058
8059 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
8060 (GRUB_MOD_INIT): Register new command.
8061 (GRUB_MOD_FINI): Unregister new command.
8062
74342e31
VS
80632010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8064
8065 Support some annoying BSD and Minix subpartitions.
8066
8067 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
8068 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
8069 Properly handle concatenation.
8070 * grub-core/kern/device.c (grub_device_iterate): Likewise.
8071 * grub-core/normal/completion.c (iterate_partition): Likewise.
8072 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
8073 contain partition. All users updated.
8074 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
8075 struct.
8076 (grub_openbsdlabel_partition_map): Likewise.
8077 (bsdlabel_partition_map_iterate): Rename to ..
8078 (iterate_real): ... this. New arguments sector, freebsd and pmap.
8079 (bsdlabel_partition_map_iterate): New function.
8080 (netopenbsdlabel_partition_map_iterate): Likewise.
8081 (netbsdlabel_partition_map_iterate): Likewise.
8082 (openbsdlabel_partition_map_iterate): Likewise.
8083 (GRUB_MOD_INIT): Register new partmaps.
8084 (GRUB_MOD_FINI): Unregister new partmaps.
8085 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
8086 (grub_partition_msdos_iterate): ... this. All users updated.
8087 Don't support embedding other than in a minix partition.
8088 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
8089 proto.
8090 * include/grub/partition.h (grub_partition): New field msdostype.
8091 * util/grub-install.in: Handle openbsd and netbsd types being in
8092 part_bsd module.
8093
1e8d555b
VS
80942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
8097
8098 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
8099 * grub-core/Makefile.core.def (mdraid): Renamed to ...
8100 (mdraid09): ... this.
8101 (mdraid1x): New module.
8102 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
8103 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
8104
899d8af4
VS
81052010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
8108 vsprintf.
8109
40901acd
CW
81102010-09-20 Colin Watson <cjwatson@ubuntu.com>
8111
8112 * grub-core/commands/efi/lsefimmap.c: Correct header.
8113 * NEWS: Update.
8114
dfe3b247
CW
81152010-09-20 Colin Watson <cjwatson@ubuntu.com>
8116
8117 * util/grub-editenv.c (argp_parser): Don't pass translated strings
8118 as printf format strings; the translations might contain '%' which
8119 could cause a crash.
8120 (main): Likewise.
8121 * util/grub-fstest.c (argp_parser): Likewise.
8122 * util/grub-setup.c (argp_parser): Likewise.
8123 (main): Likewise.
8124
3286a4b4
VS
81252010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8126
8127 Use argp in grub-fstest.
8128
8129 * util/grub-fstest.c: Don't include getopt.h.
8130 Include argp.h.
8131 (root): New variable.
8132 (args_count): Likewise.
8133 (nparm): Likewise.
8134 (num_disks): Likewise.
8135 (images): Likewise.
8136 (cmd): Likewise.
8137 (debug_str): Likewise.
8138 (args): Likewise.
8139 (options): Transformed to argp.
8140 (usage): Removed.
8141 (main): Split argument parsing into ...
8142 (argp_parser): ... this. Changed to argp format.
8143 (argp): New variable.
8144 (main): Use argp_parse.
8145
3dccbe4b
TG
81462010-09-20 Tristan Gingold <gingold@free.fr>
81472010-09-20 Robert Millan <rmh.grub@aybabtu.com>
81482010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * grub-core/commands/efi/lsefimmap.c: New file.
8151 * grub-core/Makefile.core.def (lsefimmap): New module.
8152 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
8153
38c259a7
VS
81542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8155
8156 Pause the execution (10s max) if any errors are displayed so the user
8157 has a chance to see them.
8158
8159 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
8160 (grub_print_error): Increment grub_err_printed_errors.
8161 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
8162 execution if any errors were displayed.
8163 (show_menu): Remove old code for pause.
8164 * grub-core/normal/menu_entry.c (run): Likewise.
8165 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
8166 users updated.
8167 (grub_normal_get_char_counter): Likewise.
8168 * include/grub/err.h (grub_err_printed_errors): New external variable.
8169 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
8170
f218b09c
VS
81712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8172
8173 Support multiboot VBE info.
8174
8175 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
8176 Take VBE info into account.
8177 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
8178 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8179 Call fill_vbe_info when appropriate.
8180 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
8181 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
8182 as supported.
8183 (grub_multiboot_get_mbi_size): Take new tags into account.
8184 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
8185 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
8186 Call fill_vbe_tag when appropriate.
8187 (grub_multiboot_make_mbi): Properly align tags.
8188 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
8189 function.
8190 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
8191 proto.
8192 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
8193
a9cc5438
VS
81942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8195
8196 Suport manual terminal geometry specification.
8197
8198 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
8199 Save state in grub_ofconsole_terminfo_output.
8200 (grub_ofconsole_term): Use grub_terminfo_getwh.
8201 (grub_ofconsole_getwh): Removed.
8202 * grub-core/term/serial.c (grub_serial_getwh): Removed.
8203 (grub_serial_term): Use grub_terminfo_getwh.
8204 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
8205 (options): New struct.
8206 (OPTION_*): New enum.
8207 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
8208 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
8209 width and height.
8210 (grub_terminfo_getwh): New proto.
8211 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
8212
1a8fed20
VS
82132010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 Handle legacy "terminal" command.
8216
8217 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
8218 and FLAG_TERMINAL.
8219 (legacy_commands): Add terminal and title.
8220 (grub_legacy_parse): Handle terminal. Simplify title handling.
8221
41e9c57d
VS
82222010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8223
8224 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
8225 parameters overflow.
8226
61c874c5
CW
82272010-09-20 Colin Watson <cjwatson@ubuntu.com>
8228
8229 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
8230 widthspec.h.
8231
8232 * docs/grub.texi (Shell-like scripting): Document `!'.
8233 (Network): Simplify using new i386-pc-pxe format. Mention
8234 grub-mknetdir.
8235
8236 * NEWS: Update.
8237
943682b4
CW
82382010-09-20 Colin Watson <cjwatson@ubuntu.com>
8239
8240 * Makefile.am (SUBDIRS): Restore "."; it's important to force
8241 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
8242 when needed.
8243
6d3d698d
CW
82442010-09-20 Colin Watson <cjwatson@ubuntu.com>
8245
8246 * grub-core/commands/efi/lsefisystab.c: Correct header.
8247 * grub-core/commands/efi/lssal.c: Likewise.
8248 * grub-core/commands/testload.c: Likewise.
8249
c982589f
CW
82502010-09-20 Colin Watson <cjwatson@ubuntu.com>
8251
8252 * util/grub-mkrescue.in: Add explicit root argument to --set to
8253 prevent the UUID being interpreted as an argument to --set (matches
8254 previous change to prepare_grub_to_access_device).
8255
a63c31b6
CW
82562010-09-20 Colin Watson <cjwatson@ubuntu.com>
8257
8258 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
8259 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
8260 the verbosity of later #ifs.
8261 (find_partition_start): Define this function on FreeBSD too.
8262 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
8263 function.
8264 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
8265 on FreeBSD.
8266
6439b8ee
YB
82672010-09-20 Yves Blusseau <blusseau@zetam.org>
8268
8269 * util/grub-editenv.c: Use argp instead of getopt.
8270
c5930ec8
YB
82712010-09-20 Yves Blusseau <blusseau@zetam.org>
8272
8273 * util/grub-setup.c: Use argp instead of getopt.
8274
15c69261
YB
82752010-09-20 Yves Blusseau <blusseau@zetam.org>
8276
8277 Use gnulib-tool to create gnulib source files.
8278
8279 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
8280 grub-core/gnulib directories
8281 * .bzignore: Add **/.deps and autogenerated gnulib files
8282 * configure.ac: Assign auxiliary directory to build-aux, add invocation
8283 of gnulib macros, add grub-core/gnulib/Makefile
8284 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
8285 include m4 directory to aclocal.
8286 * Makefile.util.def: Remove direct compilation of gnulib source files
8287 and use the new grub-core/gnulib/libgnu.a.
8288 * build-aux/config.rpath: move config.rpath from top directory to
8289 build-aux
8290 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
8291 in gnulib headers
8292 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
8293 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
8294 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
8295 header.
8296 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
8297 string.
8298
e511c9f5
YB
82992010-09-20 Yves Blusseau <blusseau@zetam.org>
8300
8301 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
8302 grub-core/genmod.sh and grub-core/gensyminfo.sh
8303
c2dede05
BC
83042010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
8305
8306 Add a test for echo command options.
8307
8308 * tests/grub_cmd_echo.in: New test.
8309 * Makefile.util.def: Rules for new test.
8310
c55f5018
SJ
83112010-09-20 Szymon Janc <szymon@janc.net.pl>
8312
8313 Remove crc.mod and move crc command to hashsum.mod.
8314 Remove lib/crc.c - users updated to use gcrypt implementation.
8315
8316 * grub-core/commands/crc.c: Removed.
8317 * grub-core/Makefile.core.def (crc): Module removed.
8318 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
8319 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
8320 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
8321 * grub-core/lib/crc.c: Removed.
8322 * include/grub/lib/crc.h: Removed.
8323 * Makefile.util.def (crc): Remove lib/crc.c
8324 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
8325 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
8326 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
8327 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
8328 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
8329 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
8330
e0337366
VS
83312010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
8332
8333 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
8334
742f9232
VS
83352010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8336
8337 Split config.h for util and core.
8338
8339 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
8340 (ADDR32): Likewise.
8341 (DATA32): Likewise.
8342 (BSS_START_SYMBOL): Likewise.
8343 (END_SYMBOL): Likewise.
8344 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
8345 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
8346 * config.h.in: New file.
8347 * configure.ac: Use config-util.h as config define file.
8348 Rename MACHINE into GRUB_MACHINE. All users updated.
8349 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
8350 updated.
8351 (NESTED_FUNC_ATTR): Likewise.
8352 Substitue new variables.
8353 (COND_HAVE_ASM_USCORE): New conditional.
8354 * grub-core/Makefile.am (ASM_PREFIX): New variable.
8355 (kernel_syms.lst): Use ASM_PREFIX.
8356 * grub-core/kern/emu/console.c: Include config-util.h.
8357 * grub-core/kern/emu/misc.c: Likewise.
8358 * grub-core/kern/emu/mm.c: Likewise.
8359 * include/grub/emu/misc.h: Likewise.
8360 * include/grub/libgcc.h: Likewise.
8361
39feb0e8
VS
83622010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
8365 constants usage.
8366 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
8367 Fix GRUB_TERM_KEY_* constants usage.
8368 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
8369
9af6dac3
VS
83702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
8373 print pointer.
8374 * grub-core/bus/usb/uhci.c: Remove empty define.
8375 (grub_uhci_check_transfer): Add missing cast.
8376 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
8377 print pointer.
8378 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
8379 PRIuGRUB_SIZE.
8380 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
8381
d6d94820
VS
83822010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8383
8384 * grub-core/Makefile.core.def (legacycfg): Add
8385 lib/i386/pc/vesa_modes_table.c on emu.
8386
3572f2b6
BC
83872010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8388
8389 Reduce number of temporary files generated by build system.
8390
8391 * grub-core/gencmdlist.sh: Removed.
8392 * grub-core/genfslist.sh: Removed.
8393 * grub-core/genhandlerlist.sh: Removed.
8394 * grub-core/genmodsrc.sh: Removed.
8395 * grub-core/genpartmaplist.sh: Removed.
8396 * grub-core/genparttoollist.sh: Removed.
8397 * grub-core/gentermiinallist.sh: Removed.
8398 * grub-core/genvideolist.sh: Removed.
8399
8400 * grub-core/genmod.sh.in: New file.
8401 * grub-core/gensyminfo.sh.in: New file.
8402
8403 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
8404 * conf/Makefile.extra-dist: Update with new files.
8405 * gentpl.py: Remove rules related to unnecessary temporary files.
8406 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
8407 and und-* files.
8408 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
8409 genmod.sh scripts.
8410 * grub-core/bus/usb/uhci.c: Remove empty #define.
8411 * grub-core/genmoddep.awk: Updated with new syminfo format.
8412 * util/bash-completion.d/Makefile.am: Add config.log to
8413 CLEANFILES.
8414
c836b030
YB
84152010-09-19 Yves Blusseau <blusseau@zetam.org>
8416
8417 * Makefile.util.def: Add forgotten $(LIBINTL) library.
8418
2f4e8053
BC
84192010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
8420
8421 * util/grub-mkconfig.in: Check the config script for syntax errors
8422 before saving.
8423
75831c34
CW
84242010-09-19 Colin Watson <cjwatson@ubuntu.com>
84252010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8426
8427 * Makefile.util.def (grub-install): Use util/grub-install.in on all
8428 platforms.
8429 * util/grub-install.in: Add EFI and IEEE1275 support.
8430 * util/i386/efi/grub-install.in: Removed.
8431 * util/ieee1275/grub-install.in: Likewise.
8432
eaf41b25
VS
84332010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
8436 (grub_cmd_cmosclean): Likewise.
8437 (GRUB_MOD_INIT): Register command cmosclean.
8438 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
8439 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
8440
1a9130dd
CPE
84412010-09-18 Carles Pina i Estany <carles@pina.cat>
84422010-09-18 Aleš Nesrsta <starous@volny.cz>
84432010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 Add keyboard layouts support.
8446
8447 * Makefile.util.def (grub-mklayout): New file.
8448 (grub-kbdcomp): New script.
8449 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
8450 Add keyboard_layouts.h.
8451 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
8452 commands/boot.c on yeeloong.
8453 (keylayouts): New module.
8454 * grub-core/bus/usb/ohci.c
8455 * grub-core/bus/usb/uhci.c
8456 * grub-core/bus/usb/usbhub.c (rescan): New variable.
8457 (grub_usb_add_hub): Poll interrupt pipe for device handling.
8458 (attach_root_port): Likewise.
8459 (poll_nonroot_hub): Likewise.
8460 (grub_usb_poll_devices): Likewise.
8461 (detach_device): Close transfer.
8462 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
8463 function.
8464 (grub_usb_bulk_setup_readwrite): Likewise.
8465 (grub_usb_bulk_finish_readwrite): Likewise.
8466 * grub-core/commands/keylayouts.c: New file.
8467 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
8468 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
8469 aliases.
8470 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
8471 support scancode 2.
8472 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
8473 * include/grub/keyboard_layouts.h: New file.
8474 * util/grub-mklayout.c: New file.
8475 * util/grub-kbdcomp.in: Likewise.
8476
a1d84a5e
VS
84772010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 Unify memory types.
8480
8481 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
8482 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
8483 types.
8484 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
8485 (grub_upper_mem): Likewise.
8486 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
8487 * include/grub/memory.h (grub_memory_type_t): New enum.
8488 All users updated.
8489
9696382e
VS
84902010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * grub-core/Makefile.core.def (lsapm): New module.
8493 * grub-core/commands/i386/pc/lsapm.c: New file.
8494 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
8495 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
8496 Likewise.
8497 * include/grub/i386/pc/apm.h: New file.
8498 * include/multiboot.h (multiboot_apm_info): New struct.
8499
85002010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
8501
8502 GRUB-legacy configuration file support.
8503
8504 * Makefile.util.def (grub-menulst2cfg): New util.
8505 * docs/man/grub-menulst2cfg.h2m: New file.
8506 * grub-core/Makefile.core.def (legacycfg): New module.
8507 * grub-core/commands/legacycfg.c: New file.
8508 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
8509 (grub_normal_add_menu_entry): ... this.
8510 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
8511 (grub_normal_set_password): ...this.
8512 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
8513 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
8514 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
8515 * grub-core/lib/legacy_parse.c: New file.
8516 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
8517 * include/grub/i386/pc/vesa_modes_table.h: New file.
8518 * include/grub/legacy_parse.h: Likewise.
8519 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
8520 * util/grub-menulst2cfg.c: New file.
8521
bf8d1338
CW
85222010-09-17 Colin Watson <cjwatson@ubuntu.com>
8523
8524 * grub-core/kern/emu/hostdisk.c
8525 (convert_system_partition_to_system_disk): Initialise node.
8526
9c0bad2e
CW
85272010-09-17 Colin Watson <cjwatson@ubuntu.com>
8528
8529 * grub-core/kern/emu/hostdisk.c
8530 (convert_system_partition_to_system_disk): Fix devmapper memory pool
8531 leak.
8532 Reported and based on patch by: Modestas Vainius.
8533
a939d135
CW
85342010-09-17 Colin Watson <cjwatson@ubuntu.com>
8535
8536 Fix DM-RAID probing with recent versions of device-mapper udev
8537 rules.
8538
8539 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
8540 canonicalise device paths under /dev/mapper/.
8541 (convert_system_partition_to_system_disk): Compare the
8542 uncanonicalised path to /dev/mapper/ rather than the canonicalised
8543 path, since device nodes under /dev/mapper/ are often symlinks.
8544
0f7ee3c9
YB
85452010-09-17 Yves Blusseau <blusseau@zetam.org>
8546
8547 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
8548
10854d0d
YB
85492010-09-16 Yves Blusseau <blusseau@zetam.org>
8550
8551 * configure.ac: Avoid some annoying error messages if freetype-config
8552 program is not found.
8553
108538d8
CW
85542010-09-16 Colin Watson <cjwatson@ubuntu.com>
8555
8556 Support RAID on virtio devices, and others.
8557
8558 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
8559 Rename to ...
8560 [__MINGW32__] (grub_find_device): ... this.
8561 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
8562 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
8563 reasonable default if dir is NULL.
8564 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
8565 ...
8566 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
8567 (grub_guess_root_device): Update callers.
8568 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
8569
8570 * util/raid.c (grub_util_getdiskname): Remove.
8571 (grub_util_raid_getmembers): Use grub_find_device rather than
8572 grub_util_getdiskname.
8573
e5bfc130
CW
85742010-09-16 Colin Watson <cjwatson@ubuntu.com>
8575
8576 * docs/grub.texi (serial): Remove obsolete comment about GRUB
8577 needing to be compiled with serial support.
8578 (ls): Indicate that multiple files are accepted.
8579 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
8580 indicate that multiple files are accepted.
8581
be458ae2
CW
85822010-09-16 Colin Watson <cjwatson@ubuntu.com>
8583
8584 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
8585 libgrub_a_init.c, and util/bash-completion.d/grub.
8586
cb731b5e
VS
85872010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8588
8589 * util/grub-setup.c (setup): Fix incorrect container semantics.
8590
35139e8a
VS
85912010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
8594 misusage.
8595 Reported by: J. Nick Terry
8596
e50fca4a
VS
85972010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 Move embedding routines to partmap sources files.
8600
8601 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
8602 [GRUB_UTIL]: New variable.
8603 (gpt_partition_map_iterate): Set part.parent.
8604 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
8605 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
8606 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
8607 New function.
8608 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
8609 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
8610 (grub_partition_map) [GRUB_UTIL]: New field embed.
8611 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
8612 (setup): Use ->embed.
8613
f00478b7
VS
86142010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8615
8616 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
8617 function.
8618 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
8619 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
8620
2b94e3ff
YB
86212010-09-15 Yves Blusseau <blusseau@zetam.org>
8622
8623 Add function to get completions from usage.
8624
8625 * util/bash-completion.d/grub-completion.bash.in: Add function to get
8626 completions from usage. Use LC_ALL=C to get options properly.
8627
2e04a006
VS
86282010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8629
8630 * grub-core/gnulib/basename-lgpl.c: Imported.
8631 * grub-core/gnulib/basename.c: Likewise.
8632 * grub-core/gnulib/dirname-lgpl.c: Likewise.
8633 * grub-core/gnulib/dirname.c: Likewise.
8634 * grub-core/gnulib/dirname.h: Likewise.
8635 * grub-core/gnulib/stripslash.c: Likewise.
8636
5dcdf93a
VS
86372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 * grub-core/gnulib/error.c: Resynced.
8640 * grub-core/gnulib/getopt.c: Likewise.
8641 * grub-core/gnulib/getopt_int.h: Likewise.
8642 * grub-core/gnulib/regex.h: Likewise.
8643 * grub-core/gnulib/regex_internal.c: Likewise.
8644 * grub-core/gnulib/regex_internal.h: Likewise.
8645
014f47b7
SJ
86462010-09-15 Szymon Janc <szymon@janc.net.pl>
8647
8648 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
8649 CRC calculations and validity checks.
8650 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
8651 calculations.
8652
dd521a4a
SJ
86532010-09-15 Szymon Janc <szymon@janc.net.pl>
8654
8655 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
8656
79c4eeb9
VS
86572010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8658
8659 Fix incorrect echo options handling.
8660 Reported by: Yves Blusseau.
8661
8662 * include/grub/command.h (grub_command_flags_t): New flags
8663 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
8664 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
8665 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
8666
ed80f7d5
VS
86672010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8668
8669 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
8670 users updated.
8671 (GRUB_COMMAND_FLAG_MENU): Likewise.
8672 (GRUB_COMMAND_FLAG_BOTH): Likewise.
8673 (GRUB_COMMAND_FLAG_TITLE): Removed.
8674 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
8675 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
8676 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
8677 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
8678 (grub_command_flags_t): New enum. All users updated.
8679
5fe7620a
SG
86802010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
8681
8682 Fix solaris compilation.
8683
8684 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
8685 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
8686 (grub-emu-list): Likewise.
8687
545b752f
VS
86882010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8689
8690 Remove deprecated root command.
8691
8692 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
8693 updated.
8694
6c1a338c
VS
86952010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8696
8697 * util/i386/pc/grub-setup.c: Merge this ...
8698 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
8699 * util/grub-setup.c: ... into this.
8700 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
8701 New struct.
8702
87032010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8704
8705 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
8706 possible.
8707
d2ea4551
VS
87082010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
8711 allocate p.
8712
3c3b5040
VS
87132010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
8716 explicit root argument to set to prevent UUID to be interpreted as
8717 argument to set.
8718
b71c3fae
VS
87192010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8720
8721 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
8722
275433e6
VS
87232010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8724
8725 Don't export grub_gate_a20.
8726
8727 * grub-core/kern/i386/pc/init.c: Remove leftovers.
8728 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
8729 to ...
8730 (grub_gate_a20): ... this. All users updated.
8731 * include/grub/i386/pc/init.h: Removed. All users updated.
8732
a5dbb1f1
VS
87332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8734
8735 Create euro.pf2 which supports most European languages.
8736
8737 * Makefile.am (grubdata_DATA): Add euro.pf2.
8738 (euro.pf2): New target.
8739 (CLEANFILES): Add euro.pf2.
8740
62a747cb
VS
87412010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * configure.ac: Disable emu-usb by default to prevent inadvertent
8744 device takeover.
8745
608e43b1
VS
87462010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8747
8748 Disable usbserial on grub-emu since our libusb code isn't good enough
8749 yet.
8750
8751 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
8752 (usbserial_pl2303): Likewise.
8753 (usbserial_ftdi): Likewise.
8754
94564f81
VS
87552010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 * include/grub/disk.h (grub_disk): Remove has_partitions.
8758 All users updated.
8759 * disk/loopback.c (grub_loopback): Remove has_partitions.
8760 All users updated.
8761 (options): Remove partitions. All users updated.
8762 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
8763 * util/i386/pc/grub-setup.c (setup): copy partition table only when
8764 actual partition table is found.
8765
3352800b
VS
87662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8767
8768 Remove readability checks (too many false negatives).
8769
8770 * util/grub-install.in: Remove readability checks.
8771 * util/grub-mkconfig.in: Likewise.
8772 * util/grub.d/10_hurd.in: Likewise.
8773 * util/grub.d/10_kfreebsd.in: Likewise.
8774 * util/grub.d/10_linux.in: Likewise.
8775 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
8776 way.
8777
2419f17a
VS
87782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Enable acpi shutdown on all ACPI platforms.
8781
8782 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
8783 on coreboo, multiboot and EFI.
8784 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
8785 (grub_acpi_halt): Likewise.
8786 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
8787 (grub_cmd_halt): Don't call grub_acpi_halt directly.
8788 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
8789 * grub-core/lib/i386/halt.c (grub_halt)
8790 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
8791
0575c7c3
VS
87922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8793
8794 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
8795 context.
8796
54ac3cd1
VS
87972010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8798
8799 * grub-core/video/efi_gop.c: Fix over-80-chars line.
8800 * grub-core/video/efi_uga.c: Likewise.
8801
b2a30ac5
VS
88022010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8803
8804 Filter devaliases and never open same device twice.
8805
8806 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
8807 (last_ihandle): Likewise.
8808 (ofdisk_hash_ent): New member shortest.
8809 (ofdisk_hash_add): Add canonical path too.
8810 (scan): New function.
8811 (grub_ofdisk_iterate): Iterate over hashed entries.
8812 (compute_dev_path): Don't add :0.
8813 (grub_ofdisk_open): Don't really open the disk.
8814 (grub_ofdisk_close): Avoid closing unrelated disk.
8815 (grub_ofdisk_read): Implement reopen logic.
8816 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
8817 New function.
8818 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
8819 New proto.
8820
fb53b340
VS
88212010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8822
8823 Fix sparc64.
8824
8825 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
8826 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
8827 right address. Add sparc64_ieee1275_ldflags.
8828 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
8829 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
8830 to grub_host_to_target_addr
8831 (load_image): Likewise.
8832
f452b040
VS
88332010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8834
8835 * grub-core/normal/completion.c (complete_file): Handle device
8836 containing slash.
8837 Fix based on patch by Doug Nazar.
8838
9b5b2541
VS
88392010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8840
8841 grub-mknetdir script.
8842
8843 * Makefile.util.def (grub-mknetdir): New module.
8844 * tests/util/grub-shell.in: Support boot=net
8845 * util/grub-mknetdir.in: New file.
8846
9d2be652
VS
88472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8848
8849 videoinfo on non-vbe.
8850
8851 * grub-core/Makefile.core.def (vbeinfo): Removed.
8852 (vbetest): Removed.
8853 (videoinfo): New module.
8854 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
8855 * grub-core/commands/i386/pc/vbetest.c: Removed.
8856 * grub-core/commands/videoinfo.c: New file.
8857 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
8858 specification.
8859 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
8860 as vbetest.
8861 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
8862 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
8863 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
8864 mode_number. New parameter mode. All users updated.
8865 (grub_video_gop_iterate): New function.
8866 (grub_video_efi_gop): New member iterate.
8867 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
8868 (grub_vbe_set_video_mode): Remove setting useless fields.
8869 (vbe2videoinfo): New function.
8870 (grub_video_vbe_iterate): Likewise.
8871 (grub_video_vbe_setup): Use vbe2videoinfo.
8872 (grub_video_vbe_print_adapter_specific_info): New function.
8873 (grub_video_vbe_adapter): New fields iterate and
8874 print_adapter_specific_info.
8875 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
8876 All users updated.
8877 (grub_video_mode_info): New field mode_number.
8878 (grub_video_adapter): New fields iterate and
8879 print_adapter_specific_info.
8880
179503f5
TG
88812010-09-13 Tristan Gingold <gingold@free.fr>
88822010-09-13 Robert Millan <rmh.grub@aybabtu.com>
88832010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 * grub-core/commands/efi/lsefisystab.c: New file.
8886 * grub-core/commands/efi/lssal.c: Likewise.
8887 * grub-core/Makefile.core.def (lsacpi): New module.
8888 (lsefisystab): Likewise.
8889 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
8890 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
8891 (grub_efi_sal_system_table): New struct.
8892 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
8893 (grub_efi_sal_system_table_memory_descriptor): Likewise.
8894 (grub_efi_sal_system_table_platform_features): Likewise.
8895 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
8896 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
8897 (grub_efi_sal_system_table_ap_wakeup): Likewise.
8898 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
8899
cf9827de
VS
89002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8901
8902 Support explicit user claim that a device is BIOS-visible.
8903
8904 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
8905 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
8906 * grub-core/kern/emu/hostdisk.c
8907 (convert_system_partition_to_system_disk): Support mdX.
8908 (find_system_device): New parameter add. All users updated.
8909 (grub_util_biosdisk_is_present): New function.
8910 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
8911 proto.
8912
53f0eb1f
VS
89132010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
8914
8915 Search hints support.
8916
8917 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
8918 All users updated.
8919
b23ffd70
YB
89202010-09-13 Yves Blusseau <blusseau@zetam.org>
8921
8922 Bash completion script for util commands
8923
8924 * Makefile.am: Add util/bash-completion.d directory
8925 * configure.ac: Likewise.
8926 * util/bash-completion.d/Makefile.am: New file.
8927 * util/bash-completion.d/grub-completion.bash.in: Likewise.
8928
d547dc28
VS
89292010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
8932 (print_backlog): set backlog_ucs4 and backlog_glyphs.
8933 Reported by: Yves Blusseau.
8934
2fc8ccb9
VS
89352010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8936
8937 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
8938 partition size and offset.
8939
d8a84076
VS
89402010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8941
8942 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
8943
84fb3b3d
VS
89442010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8945
8946 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
8947
768ec2e2
VS
89482010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8949
8950 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
8951 (grub_xvasprintf): Likewise.
8952
4870900f
VS
89532010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
8956
faca6bec
VS
89572010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
8960 args ending with NULL.
8961
89622010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
8963
8964 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
8965 pointer.
8966
3c70f225
SJ
89672010-09-11 Szymon Janc <szymon@janc.net.pl>
8968
8969 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
8970
4df7996d
VS
89712010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8972
8973 Shutdown using ACPI.
8974
8975 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
8976 * grub-core/commands/acpihalt.c: New file.
8977 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
8978 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
8979 (grub_acpi_halt): New proto.
8980 (GRUB_ACPI_SLP_EN): New const.
8981 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
8982 (GRUB_ACPI_OPCODE_*): New enum.
8983 (GRUB_ACPI_EXTOPCODE_*): Likewise.
8984
126b4c32
TG
89852010-09-11 Tristan Gingold <gingold@free.fr>
89862010-09-11 Robert Millan <rmh.grub@aybabtu.com>
89872010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 * commands/lsacpi.c: New file.
8990 * grub-core/Makefile.core.def (lsacpi): New module.
8991 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
8992 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
8993 (grub_acpi_madt_entry_header): New struct.
8994 (grub_acpi_madt): Likewise.
8995 (grub_acpi_madt_entry_interrupt_override): Likewise.
8996 (grub_acpi_madt_entry_sapic): Likewise.
8997 (grub_acpi_madt_entry_lsapic): Likewise.
8998 (grub_acpi_madt_entry_platform_int_source): Likewise.
8999 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
9000 (PRIuGRUB_UINT32_T): Likewise.
9001 (PRIxGRUB_UINT64_T): Likewise.
9002
1aa4fe88
VS
90032010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9004
9005 Implement loading palette on ieee1275_fb.
9006
9007 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
9008 (have_setcolors): Likewise.
9009 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
9010 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
9011 (grub_video_ieee1275_set_palette): Implement.
9012
25761e13
VS
90132010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
90142010-09-11 Colin Watson <cjwatson@ubuntu.com>
9015
9016 * util/grub-install.in (grub_partition): New variable.
9017 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
9018 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
9019 Fixes a bug reported by Yves Blusseau.
9020
050abaea
VS
90212010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
9022
9023 Fix emu on mipsel.
9024
9025 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
9026 =grub_cpu_flush_cache on all mips and not only yeeloong.
9027 * configure.ac (COND_mips): New conditional.
9028 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
9029 platforms.
9030 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
9031 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
9032 [GRUB_LINKER_HAVE_INIT]: New function.
9033 (grub_emu_post_init): Likewise.
9034 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
9035 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
9036 * include/grub/cache.h (_mips): Include mips/cache.h.
9037 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
9038 LVM and RAID prototypes.
9039 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
9040 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
9041 function.
9042
5ed7d816
CW
90432010-09-10 Colin Watson <cjwatson@ubuntu.com>
9044
9045 * util/grub-install.in: Don't try to verify core.img until after
9046 running grub-mkimage to create it.
9047
90367e04
RM
90482010-09-10 Robert Millan <rmh@gnu.org>
9049
9050 * util/grub.d/10_hurd.in: Add misc readability checks.
9051 * util/grub.d/10_kfreebsd.in: Likewise.
9052 * util/grub.d/10_linux.in: Likewise.
9053
c452fa66
CW
90542010-09-10 Colin Watson <cjwatson@ubuntu.com>
9055
9056 * util/grub-install.in: ${imgext} won't be defined here until the
9057 install branch is merged. For the meantime, only verify core.img on
9058 i386-pc and sparc64-ieee1275 platforms.
9059
c38fe9f4
RM
90602010-09-10 Robert Millan <rmh@gnu.org>
9061
9062 Solaris support in grub_find_zpool_from_dir(). Thanks
9063 Seth Goldberg for referring to getextmntent() facility.
9064
9065 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
9066 `sys/mkdev.h'.
9067 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
9068 `<sys/mnttab.h>'.
9069 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
9070 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
9071 method for finding zpool name.
9072
905f7773
CW
90732010-09-10 Colin Watson <cjwatson@ubuntu.com>
9074
9075 grub-fstest needs the host and hostfs modules while other utilities
9076 actively require those modules to be absent, so grub-fstest needs
9077 its own initialisation and finalisation code.
9078
9079 * Makefile.am (grub_fstest.pp): New target.
9080 (grub_fstest_init.lst): Likewise.
9081 (grub_fstest_init.c): Likewise.
9082 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
9083
fb90b546
RM
90842010-09-10 Robert Millan <rmh@gnu.org>
9085
9086 * configure.ac: Check for `struct statfs.f_fstypename' and
9087 `struct statfs.f_mntfromname'.
9088
9089 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
9090 kFreeBSD-specific code.
9091
66d4bea5
RM
90922010-09-10 Robert Millan <rmh@gnu.org>
9093
9094 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
9095 on ZFS. Now non-main filesystems are supported as / too.
9096
b6a690ee
CW
90972010-09-09 Colin Watson <cjwatson@ubuntu.com>
9098
9099 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
9100 and grub-core/disk/host.c to ...
9101 (grub-fstest): ... here. Having the host disk implementation
9102 present confuses grub-probe and other utility programs.
9103
9104 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
9105 when writing to a file, not when writing to stdout.
9106
8901b00c 91072010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
9108
9109 * tests/partmap_test.in: New test for partitions.
9110 * Makefile.util.def: Rules for new test.
9111
7bf45fdd
RM
91122010-09-09 Robert Millan <rmh@gnu.org>
9113
9114 * util/grub-probe.c (probe): Fix a pair of unhandled error
9115 conditions.
9116
4dfbc574
RM
91172010-09-09 Robert Millan <rmh@gnu.org>
9118
9119 Basic Btrfs support (detection and UUID).
9120
9121 * grub-core/fs/btrfs.c: New file.
9122 * Makefile.util.def (library): Register btrfs.c.
9123 * grub-core/Makefile.core.def: Likewise.
9124
6b8e78ae
RM
91252010-09-08 Robert Millan <rmh@gnu.org>
9126
9127 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
9128 with (optional) parameters to specify device and relative path.
9129 * util/grub-install.in: Use is_path_readable_by_grub() to
9130 verify readability of a few critical files.
9131 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
9132 verify readability of grub.cfg.new.
9133
27f21a8b
VS
91342010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9135
9136 Split minix.mod into minix.mod and minix2.mod.
9137
9138 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
9139 * grub-core/Makefile.core.def (minix2): New module.
9140 * grub-core/fs/minix.c: Use definitions instead of runtime version
9141 checking.
9142 * grub-core/fs/minix2.c: New file.
9143
c0e53ea5
YB
91442010-09-08 Yves Blusseau <blusseau@zetam.org>
9145
9146 Add new --boot-directory option to replace --root-directory
9147
9148 * util/grub-install.in: Add new --boot-directory option
9149 * util/grub-reboot.in: Likewise.
9150 * util/grub-set-default.in: Likewise.
9151
b9fe6ea2
YB
91522010-09-08 Yves Blusseau <blusseau@zetam.org>
9153
9154 * util/grub-mkconfig.in: Use new variable.
9155
d87aedff
YB
91562010-09-08 Yves Blusseau <blusseau@zetam.org>
9157
9158 * configure.ac: Define some useful variables.
9159
e55e8495
VS
91602010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
9161
9162 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
9163 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
9164 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
9165 Use terminfo and don't use cursor-on/cursor-off unless it's known
9166 to work.
9167 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
9168 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
9169
6fa6d675
CW
91702010-09-08 Colin Watson <cjwatson@ubuntu.com>
9171
9172 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
9173 starts with "(,", fill the drive containing the loaded image in
9174 between those two characters, but expect that a full partition
9175 specification including partition map names will follow.
9176
92f2aef0
RM
91772010-09-08 Robert Millan <rmh@gnu.org>
9178
9179 * configure.ac: Remove `--enable-grub-fstest' option.
9180 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
9181
9182 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
9183 `grub-fstest' instead of `grub-probe' for readability verification.
9184 * util/grub-probe.c (probe): Remove readability verification kludge.
9185
99fd620d
RM
91862010-09-08 Robert Millan <rmh@gnu.org>
9187
9188 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
9189 initializing `GRUB_FS'.
9190
058e30ac 91912010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
9192
9193 Not command (!) support to GRUB script.
9194
9195 * tests/grub_script_not.in: New test.
9196 * Makefile.util.def: Rules for new test.
9197
9198 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
9199 ! command as a special case.
9200 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
9201
b61d05ed 92022010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9203
058e30ac 9204 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
9205 grub_free.
b61d05ed 9206
4d69c786 92072010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9208
9209 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
9210
aa3119c4 92112010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
9212
9213 * docs/grub.texi (Shell-like scripting): Documentation for break,
9214 continue, shift and return commands.
9215
db0f7e3d
VS
92162010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
9217
9218 Rename CD-ROM to cd on BIOS.
9219
9220 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
9221 "cd".
9222 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
9223
88b87c93
VS
92242010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9225
9226 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
9227 * util/grub-probe.c (main): Likewise.
9228 * util/i386/pc/grub-setup.c (main): Likewise.
9229 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
9230 Reported and debugged by: alexxy
9231
294f324d
VS
92322010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9233
9234 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
9235 diagnostic info.
9236
d7ee3441
JS
92372010-09-05 Jo Shields <directhex@apebox.org>
9238
9239 * util/grub.d/30_os-prober.in: Add missing classes.
9240
d7e06c1f
VS
92412010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9242
9243 * docs/grub.texi (Theme file format): Document new position format.
9244
fc157e53
VS
92452010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
9248 a table. Use @code instead of @verbatim.
9249
506e9a1c
CB
92502010-09-05 Colin D Bennett <colin@gibibit.com>
9251
9252 Gfxmenu documentation.
9253
9254 * docs/grub.texi (Theme file format): New chapter.
9255
f0aff67c
SJ
92562010-09-05 Szymon Janc <szymon@janc.net.pl>
9257
9258 * grub-core/Makefile.core.def (xzio): New module.
9259 * grub-core/io/xzio.c: New file.
9260 * grub-core/lib/xzembed/xz.h: New file (from xembed).
9261 * grub-core/lib/xzembed/xz_config.h: Likewise.
9262 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
9263 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
9264 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
9265 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
9266 * grub-core/lib/xzembed/xz_private.h: Likewise.
9267 * grub-core/lib/xzembed/xz_stream.h: Likewise.
9268 * include/grub/file.h (grub_file_filter_id): New compression filter
9269 GRUB_FILE_FILTER_XZIO.
9270
82a85062
VS
92712010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9272
9273 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
9274 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
9275 size.
9276
3579415d
VS
92772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9278
9279 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
9280 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
9281
5124ae6d
VS
92822010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9283
9284 Uncompressed checksum support.
9285
9286 * grub-core/commands/hashsum.c (options): Add option --uncompress.
9287 (check_list): New parameter uncompress.
9288 (grub_cmd_hashsum): Handle --uncompress.
9289
9aadb3d1
VS
92902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9291
9292 Reintroduce testload.
9293
9294 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
9295 from here ...
9296 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
9297 (GRUB_MOD_INIT): New function.
9298 (GRUB_MOD_FINI): Likewise.
9299 * grub-core/Makefile.core.def (testload): New module.
9300
a17792c3
SJ
93012010-09-05 Szymon Janc <szymon@janc.net.pl>
9302
9303 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
9304 (uint8_t): New type.
9305 (uint16_t): Likewise.
9306 (uint32_t): Likewise.
9307 (uint64_t): Likewise.
9308
b81e40a3
SJ
93092010-09-05 Szymon Janc <szymon@janc.net.pl>
9310
9311 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
9312
fc2ef117
VS
93132010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
9314
9315 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
9316 Made static.
9317 (grub_gzfile_open): Removed. All users updated.
9318 (GRUB_MOD_INIT): New function.
9319 (GRUB_MOD_FINI): Likewise.
9320 * grub-core/kern/file.c (grub_file_filters_all): New variable.
9321 (grub_file_filters_enabled): Likewise.
9322 (grub_file_open): Handle filters.
9323 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
9324 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
9325 * include/grub/file.h (grub_file_filter_id_t): New type.
9326 (grub_file_filter_t): Likewise.
9327 (grub_file_filters_all): New extern variable.
9328 (grub_file_filters_enabled): Likewise.
9329 (grub_file_filter_register): New inline function.
9330 (grub_file_filter_unregister): Likewise.
9331 (grub_file_filter_disable): Likewise.
9332 (grub_file_filter_disable_compression): Likewise.
9333 * include/grub/gzio.h: Removed.
9334
35ee15e0
BC
93352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9336
9337 Filename expansion support for wildcards in GRUB script.
9338
9339 * tests/grub_script_expansion.in: New test.
9340 * Makefile.util.def: Rule for new test.
9341
9342 * grub-core/commands/wildcard.c: New file, implements filename
9343 expansion support for GRUB script.
9344 * grub-core/Makefile.core.def: Rule update for regexp.mod.
9345 * grub-core/script/argv.c: Cosmetic changes.
9346 * grub-core/script/execute.c (grub_script_arglist_to_argv):
9347 Refactored to perform wildcard expansion on arguments.
9348 * include/grub/script_sh.h (grub_script_wildcard_translator): New
9349 struct.
9350
9351 * tests/util/grub-shell.in: Fix quoting for read input.
9352
5f0c4aca
BC
93532010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9354
9355 Support for updating environment variables with matched substrings
9356 of regexp.
9357
9358 * tests/grub_cmd_regexp.in: New test.
9359 * Makefile.util.def: Rule for new test.
9360
9361 * grub-core/commands/regexp.c: New option -s to update environment
9362 variables with regexp matches.
9363
3759a35f
SJ
93642010-09-04 Szymon Janc <szymon@janc.net.pl>
9365
9366 * include/grub/file.h (grub_file): New member not_easly_seekable.
9367 (grub_file_seekable): New inline function.
9368 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
9369 easily seekable.
9370 (grub_gzio_open): Set not_easly_seekable.
9371 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
9372 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
9373
ed8c6dec
BC
93742010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9375
9376 Support for options to appear multiple times on cmdline.
9377
9378 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
9379 * grub-core/commands/extcmd.c: Support for repeatable option.
9380 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
9381 repeatable option support.
9382
9383 Refactor menuentry into a regular command.
9384
9385 * grub-core/commands/menuentry.c: New file, menuentry command
9386 implementation.
9387 * grub-core/Makefile.core.def: Rule update for normal.mod.
9388 * grub-core/normal/main.c: Moved menuentry creation to
9389 grub-core/commands/menuentry.c.
9390 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
9391 (grub_menu_execute_entry_real): Removed.
9392 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
9393 function.
9394 (grub_script_execute_menuentry): Removed.
9395 * grub-core/script/parser.y (menuentry): Removed.
9396 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
9397 * grub-core/script/yylex.l (menuentry): Removed.
9398 * include/grub/menu.h (grub_menu_init): New prototype.
9399 (grub_menu_fini): New prototype.
9400 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
9401 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
9402 (grub_script_execute_sourcecode): New prototype.
9403
dacd0cf0
BC
94042010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9405
9406 "return" command for GRUB script functions.
9407
9408 * tests/grub_script_return.in: New test.
9409 * Makefile.util.def: Rules for new test.
9410
9411 * grub-core/script/execute.c (grub_script_return): New function.
9412 * grub-core/script/main.c: Register/unregister return commaond.
9413 * include/grub/script_sh.h (grub_script_return): New prototype.
9414
52e72f9d
BC
94152010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9416
9417 "setparams" command to update positional parameters.
9418
9419 * tests/grub_script_setparams.in: New test.
9420 * Makefile.util.def: Rules for new test.
9421
9422 * grub-core/script/argv.c (grub_script_argv_make): New function.
9423 * grub-core/script/execute.c (replace_scope): New function.
9424 (grub_script_setparams): New function.
9425 * grub-core/script/lexer.c: Remove unused variables.
9426 * grub-core/script/main.c: Register/unregister setparams command.
9427 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
9428 (grub_script_setparams): New prototype.
9429
25b60c91
BC
94302010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9431
9432 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
9433 grub_free order.
9434
37e7bf68
BC
94352010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9436
9437 Support for passing block of commands as an argument to extcmds.
9438
9439 * Makefile.util.def: Rules for new test.
9440 * tests/grub_script_blockarg.in: New test.
9441 * grub-core/tests/test_blockarg.c: New file, block argument
9442 command used in the test.
9443
9444 * include/grub/extcmd.h (grub_extcmd_context): New struct.
9445 (grub_register_extcmd_prio): New function prototype.
9446 (grub_extcmd_dispatcher): New function prototype.
9447 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
9448 type.
9449 * include/grub/script_sh.h (struct grub_script): New members
9450 `children', `next_siblings' and `refcnt' for block arguments and
9451 reference counting.
9452 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
9453 (grub_script_arg): New member `script' for block argument.
9454 (grub_script_argv): New member `script' for block argument.
9455 (grub_parser_param): New member `scripts' for block argument.
9456 (grub_script_mem_free): New extern function prototype.
9457 (grub_script_ref): New function prototype.
9458 (grub_script_unref): New function prototype.
9459
9460 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
9461 extcmd form to support block arguments.
9462 * grub-core/script/argv.c: Block arguments support.
9463 * grub-core/script/execute.c: Likewise.
9464 * grub-core/script/lexer.c: Likewise.
9465 * grub-core/script/main.c: Likewise.
9466 * grub-core/script/script.c: Likewise.
9467 * grub-core/script/parser.y: Likewise. New `block' and `block0'
9468 non-terminals.
9469
9470 * grub-core/commands/acpi.c: Update extcmd implementations with
9471 grub_extcmd_context_t.
9472 * grub-core/commands/cat.c: Likewise.
9473 * grub-core/commands/echo.c: Likewise.
9474 * grub-core/commands/extcmd.c: Likewise.
9475 * grub-core/commands/hashsum.c: Likewise.
9476 * grub-core/commands/hdparm.c: Likewise.
9477 * grub-core/commands/help.c: Likewise.
9478 * grub-core/commands/hexdump.c: Likewise.
9479 * grub-core/commands/i386/cpuid.c: Likewise.
9480 * grub-core/commands/i386/pc/drivemap.c: Likewise.
9481 * grub-core/commands/i386/pc/halt.c: Likewise.
9482 * grub-core/commands/i386/pc/sendkey.c: Likewise.
9483 * grub-core/commands/iorw.c: Likewise.
9484 * grub-core/commands/keystatus.c: Likewise.
9485 * grub-core/commands/loadenv.c: Likewise.
9486 * grub-core/commands/ls.c: Likewise.
9487 * grub-core/commands/lspci.c: Likewise.
9488 * grub-core/commands/memrw.c: Likewise.
9489 * grub-core/commands/probe.c: Likewise.
9490 * grub-core/commands/search_wrap.c: Likewise.
9491 * grub-core/commands/setpci.c: Likewise.
9492 * grub-core/commands/sleep.c: Likewise.
9493 * grub-core/disk/loopback.c: Likewise.
9494 * grub-core/hello/hello.c: Likewise.
9495 * grub-core/loader/i386/bsd.c: Likewise.
9496 * grub-core/loader/xnu.c: Likewise.
9497 * grub-core/term/gfxterm.c: Likewise.
9498 * grub-core/term/serial.c: Likewise.
9499 * grub-core/tests/lib/functional_test.c: Likewise.
9500
888d1500
BC
95012010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
9502
9503 Multi-line quoted strings support.
9504
9505 * grub-core/script/lexer.c (append_newline): Removed.
9506 (grub_script_lexer_yywrap): Refactored.
9507 (grub_script_lexer_init): Refactored.
9508 * grub-core/script/yylex.l (yywrap): New function.
9509 (grub_lexer_resplit): New function.
9510 (grub_lexer_unput): New function.
9511 * include/grub/script_sh.h (grub_lexer_param): New members, unput
9512 and resplit.
9513 * tests/grub_script_echo1.in: Added few more testcases.
9514
dda060dd
VS
95152010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
9516
9517 * grub-core/kern/misc.c: Don't add abort alias in utils.
9518 Reported by: echoline.
9519
6556eba9
BC
95202010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
9521
9522 Add missing files into "make dist" tarball for other platforms.
9523
9524 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
9525 * conf/Makefile.common (dist_noinst_DATA): New variable.
9526 * conf/Makefile.extra-dist: Added missing make dist files.
9527 * grub-core/Makefile.core.def: Likewise.
9528
c8e7bf5f
VS
95292010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9530
9531 Compress grub_prefix.
9532
9533 * grub-core/boot/i386/pc/lnxboot.S: Use
9534 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
9535 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
9536 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
9537 GRUB_MACHINE_PREFIX_END. All users updated.
9538 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
9539 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
9540 + 0x40.
9541 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9542 * util/grub-mkimage.c (image_target_desc): Change data_end to
9543 prefix_end. All users updated.
9544
a7c00cdb
VS
95452010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
9546
9547 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
9548 value.
9549 (grub_openbsd_boot): Likewise.
9550 (grub_netbsd_boot): Likewise.
9551 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
9552 (grub_xnu_boot): Likewise.
9553
9f915872
VS
95542010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9555
9556 * configure.ac: Clean LIBS variable after tests.
9557
efa1bee7
CW
95582010-09-02 Colin Watson <cjwatson@ubuntu.com>
9559
9560 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
9561
61d720e5
VS
95622010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9563
9564 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
9565 echo if libdevmapper will be used.
9566
ef8e0ec8
IT
95672010-09-02 Ian Turner <Ian.Turner@deshaw.com>
9568
9569 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
9570 constant for the same file.
9571
03e261d8
VS
95722010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
9575
c2a4eba6
CW
95762010-09-02 Colin Watson <cjwatson@ubuntu.com>
9577
9578 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
9579 grub-core/*.pp.
9580
9056cbf3
CW
95812010-09-02 Colin Watson <cjwatson@ubuntu.com>
9582
9583 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
9584 required by the boot protocol.
9585
9586 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
9587 ebp and edi members.
9588 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
9589 state.ebp and state.edi.
9590 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
9591 %ebp and %edi according to grub_relocator32_ebp and
9592 grub_relocator32_edi respectively.
9593 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
9594 and state.edi.
9595
529cc99a
VS
95962010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9597
9598 Add i386-pc-pxe image target.
9599
9600 * util/grub-mkimage.c (image_target_desc): New enum value
9601 IMAGE_I386_PC_PXE.
9602 (image_targets): New target i386-pc-pxe.
9603 (generate_image): Handle i386-pc-pxe image.
9604
9a093920
VS
96052010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
9606
9607 Fix grub_pxe_scan.
9608
9609 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
9610 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
9611 All users updated.
9612 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
9613 (grub_pxe_pxenv): Correct type.
9614
f9cefc4e
CW
96152010-09-01 Colin Watson <cjwatson@ubuntu.com>
9616
9617 * NEWS: Document most of the important changes since 1.98.
9618
4066f57f
CW
96192010-09-01 Colin Watson <cjwatson@ubuntu.com>
9620
9621 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
9622 generated manual page) a little.
9623
da2891f9
CW
96242010-09-01 Colin Watson <cjwatson@ubuntu.com>
9625
9626 * docs/grub.texi: Add myself as an author.
9627
ad717fae
VS
96282010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
9629
9630 * Makefile.util.def (libgrub.a): Add missing sunpc.
9631 Reported by: Seth Goldberg.
9632
eefe8abd
VS
96332010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9634
9635 Interrupt wrapping and code simplifications.
9636
9494ef9a
VS
9637 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
9638 x86_noieee1275 which are functionaly equivalent in this case.
9639 (grub-install): Make source on each platform explicit. Enable on
9640 all noemu.
9641 * gentpl.py (x86_efi_pc): Removed group.
9642 (x86_noefi): Likewise.
9643 (i386_noefi): Likewise.
9644 (x86_noieee1275): Likewise.
9645 (i386_noieee1275): Likewise.
9646 (i386_noefi_noieee1275): Likewise.
9647 (i386_pc_qemu_coreboot): Likewise.
9648 (i386_coreboot_multiboot): Likewise.
9649 (i386_pc_coreboot_multiboot_qemu): Likewise.
9650 (x86_noefi_mips): Likewise.
9651 (noieee1275): Likewise.
9652 (ieee1275_mips): Likewise.
9653 (noemu_noieee1275): Likewise.
9654 (cmos): New group.
9655 (usb): Likewise.
9656 (videoinkernel): Likewise.
9657 (videomodules): Likewise.
eefe8abd 9658 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
9659 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
9660 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
9661 include/grub/loader.h, include/grub/msdos_partition.h,
9662 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
9663 include/grub/machine/console.h, include/grub/machine/vga.h,
9664 include/grub/machine/vbe.h, include/grub/machine/init.h,
9665 include/grub/machine/kernel.h, include/grub/cpu/time.h,
9666 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 9667 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
9668 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
9669 * grub-core/Makefile.core.def (kernel): Explicit the source for
9670 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
9671 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
9672 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
9673 Use videoinkernel tag.
9674 (usb): Enable on all usb.
9675 (usbserial_common): Likewise.
9676 (usbserial_pl2303): Likewise.
9677 (usbserial_ftdi): Likewise.
9678 (uhci): Enable on all x86.
9679 (ohci): Enable on all pci.
9680 (cmostest): Enable on all CMOS.
9681 (acpi): Include commands/acpi.c on all platforms.
9682 (halt): Add relevant lib/*/halt.c.
9683 (hdparm): Enable on all pci.
9684 (lspci): Likewise.
9685 (usbtest): Enable on all usb.
9686 (ata): Enable on all pci.
9687 (ata_pthru): Likewise.
9688 (usbms): Enable on all usb.
9689 (usb_keyboard): Likewise.
9690 (font): Use tag videomodules.
9691 (bufio): Likewise.
9692 (datetime): Use tag cmos. Enable on all noemu.
9693 (mmap): Use tags common and x86.
9694 (gfxterm): Use tag videomodules.
9695 (bitmap): Likewise.
9696 (bitmap_scale): Likewise.
9697 (video_fb): Likewise.
9698 (video): Likewise.
9699 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
9700 adjust padding accordingly. All users updated.
9701 (grub_ohci_transaction): Fix bad format specification.
9702 (GRUB_MOD_INIT): Add asserts for struct size.
9703 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
9704 (grub_alloc_td): Likewise.
9705 (grub_free_queue): Likewise.
9706 (grub_uhci_transfer): Likewise.
9707 (grub_uhci_transaction): Fix bad format specification.
9708 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
9709 (grub_usb_bulk_readwrite): Likewise.
9710 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
9711 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
9712 Made static.
9713 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
9714 Made static.
9715 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
9716 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
9717 Transformed into C.
9718 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
9719 Moved from here ...
9720 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
9721 ... here. Transformed into C. Made static.
9722 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
9723 Moved from here ...
9724 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
9725 ... here. Transformed into C. Made static.
9726 * grub-core/kern/i386/pc/startup.S
9727 (grub_biosdisk_check_int13_extensions): Moved from here ...
9728 * grub-core/disk/i386/pc/biosdisk.c
9729 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
9730 Made static.
9731 * grub-core/kern/i386/pc/startup.S
9732 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
9733 * grub-core/disk/i386/pc/biosdisk.c
9734 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
9735 Transformed into C. Made static.
9736 * grub-core/kern/i386/pc/startup.S
9737 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
9738 * grub-core/disk/i386/pc/biosdisk.c
9739 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
9740 Transformed into C. Made static.
9741 * grub-core/kern/i386/pc/startup.S
9742 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
9743 * grub-core/disk/i386/pc/biosdisk.c
9744 (grub_biosdisk_get_diskinfo_standard): ... here.
9745 Transformed into C. Made static.
9746 * grub-core/kern/i386/pc/startup.S
9747 (grub_biosdisk_get_num_floppies): Moved from here ...
9748 * grub-core/disk/i386/pc/biosdisk.c
9749 (grub_biosdisk_get_num_floppies): ... here.
9750 Transformed into C. Made static.
9751 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
9752 New function.
9753 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
9754 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
9755 Transformed into C. Made static.
9756 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
9757 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
9758 Transformed into C. Made static.
9759 * grub-core/kern/i386/ieee1275/init.c: Removed.
9760 * grub-core/kern/i386/misc.S: Likewise.
9761 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
9762 Splitted from here ...
9763 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
9764 Transformed into C. Made static. All users updated.
9765 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
9766 Transformed into C. Made static. All users updated.
9767 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
9768 Moved from here...
9769 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
9770 Transformed into C. Made static. All users updated.
9771 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
9772 Moved from here...
9773 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
9774 Transformed into C. Made static. All users updated.
9775 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
9776 Removed (replaced by C version).
9777 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
9778 Moved from here...
9779 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
9780 Transformed into C. Made static.
9781 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
9782 Moved from here...
9783 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
9784 ... here. Transformed into C.
9785 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
9786 Moved from here...
9787 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
9788 ... here. Transformed into C.
9789 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
9790 Moved from here...
9791 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
9792 ... here. Transformed into C. Made static.
9793 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
9794 Moved from here...
9795 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
9796 ... here. Transformed into C.
21ed554b
VS
9797 * grub-core/kern/i386/pc/startup.S
9798 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
9799 * grub-core/video/i386/pc/vbe.c
9800 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
9801 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
9802 Moved from here...
9803 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
9804 ... here. Transformed into C.
9805 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
9806 Moved from here...
9807 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
9808 ... here. Transformed into C.
9809 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
9810 Moved from here...
9811 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
9812 ... here. Transformed into C.
9813 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
9814 Moved from here...
9815 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
9816 ... here. Transformed into C.
9817 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
9818 Moved from here...
9819 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
9820 ... here. Transformed into C. Made static.
9821 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
9822 Moved from here...
9823 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
9824 ... here. Transformed into C. Made static.
9825 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
9826 Moved from here...
9827 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
9828 ... here. Transformed into C. Made static.
9829 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
9830 pxe_rm_entry as third argument.
9831 (grub_bios_interrupt): New function.
9832 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
9833 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
9834 of calling grub_stop.
9835 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
9836 * grub-core/lib/efi/halt.c (grub_halt): ...here.
9837 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
9838 * grub-core/lib/emu/halt.c (grub_halt): ... here.
9839 * grub-core/lib/i386/halt.c: Moved from here ...
9840 * grub-core/lib/i386/halt.c: ... here.
9841 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
9842 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
9843 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
9844 grub_stop_floppy.
9845 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
9846 * include/grub/i386/coreboot/init.h: Removed.
9847 * include/grub/i386/multiboot/init.h: Likewise.
9848 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
9849 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
9850 * include/grub/i386/pc/int.h: New file.
9851 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
9852 (grub_pxe_scan): Removed.
9853 (grub_pxe_call): Update prototype.
9854 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
9855 prototypes.
9856 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
9857 * include/grub/i386/qemu/init.h: Removed.
9858 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
9859 noreturn.
9860 (grub_halt): Likewise.
9861 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
9862 (grub_reboot): Likewise.
9863 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
9864 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
9865 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
9866
215dd471
RM
98672010-08-30 Robert Millan <rmh@gnu.org>
9868
9869 * NEWS: Document addition of ZFS support in `grub-install' and
9870 `grub-mkconfig'.
9871
ebd65b82
BC
98722010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
9873
9874 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
9875 dprintf output.
9876
11721d19
VS
98772010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9878
9879 Remove leftover embedding of font objects.
9880
9881 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9882 * util/grub-install.in (font): Removed.
9883 * util/grub-mkimage.c (generate_image): Remove font support. All users
9884 updated.
9885
37837d4e
VS
98862010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9887
9888 Remove leftover embedding of font objects.
9889
9890 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
9891 * util/grub-install.in (font): Removed.
9892 * util/grub-mkimage.c (generate_image): Remove font support. All users
9893 updated.
9894
b4c1aae0
VS
98952010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9896
9897 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 9898 Reported by: Ian Turner
b4c1aae0 9899
8920a08d
VS
99002010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9901
9902 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
9903 timeout to avoid indefinite boot stalling.
9904
f21db033
VS
99052010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9906
9907 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
9908 (grub_env_write_color_highlight): Likewise.
9909
9a9de209
VS
99102010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * grub-core/normal/term.c (print_more): Return to normal and not
9913 to standard state after printing "---MORE---".
9914
3dca01d7
VS
99152010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
9916
9917 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
9918 Mask out the bit 0x80 since it has other meaning that specifiing color.
9919
0b986c40
VS
99202010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
9921
9922 New relocator. Allows for more kernel support and more straightforward
9923 loader writing.
9924
9925 * Makefile.am (BOOTTARGET): New variable.
9926 (QEMU32): Likewise.
9927 (linux.init.x86_64): New target.
9928 (linux.init.i386): Likewise.
9929 (multiboot.elf): Likewise.
9930 (kfreebsd.elf): Likewise.
9931 (kfreebsd.aout): Likewise.
9932 (pc-chainloader.elf): Likewise.
9933 (pc-chainloader.bin): Likewise.
9934 (ntldr.elf): Likewise.
9935 (ntldr.bin): Likewise.
9936 (multiboot2.elf): Likewise.
9937 (kfreebsd.init.x86_64): Likewise.
9938 (kfreebsd.init.i386): Likewise.
9939 (knetbsd.init.i386): Likewise.
9940 (kopenbsd.init.i386): Likewise.
9941 (knetbsd.init.x86_64): Likewise.
9942 (kopenbsd.init.x86_64): Likewise.
9943 (linux-initramfs.i386): Likewise.
9944 (linux-initramfs.x86_64): Likewise.
9945 (kfreebsd-mfsroot.i386.img): Likewise.
9946 (knetbsd.image.i386): Likewise.
9947 (kopenbsd.image.i386): Likewise.
9948 (kopenbsd.image.x86_64): Likewise.
9949 (knetbsd.miniroot-image.i386.img): Likewise.
9950 (kfreebsd-mfsroot.x86_64.img): Likewise.
9951 (knetbsd.image.x86_64): Likewise.
9952 (knetbsd.miniroot-image.x86_64.img): Likewise.
9953 (kfreebsd-mfsroot.i386.gz): Likewise.
9954 (bootcheck-kfreebsd-i386): Likewise.
9955 (kfreebsd-mfsroot.x86_64.gz): Likewise.
9956 (bootcheck-kfreebsd-x86_64): Likewise.
9957 (knetbsd.miniroot-image.i386.gz): Likewise.
9958 (bootcheck-knetbsd-i386): Likewise.
9959 (bootcheck-kopenbsd-i386): Likewise.
9960 (bootcheck-kopenbsd-x86_64): Likewise.
9961 (knetbsd.miniroot-image.x86_64.gz): Likewise.
9962 (bootcheck-knetbsd-x86_64): Likewise.
9963 (bootcheck-linux-i386): Likewise.
9964 (bootcheck-linux-x86_64): Likewise.
9965 (bootcheck-linux16-i386): Likewise.
9966 (bootcheck-linux16-x86_64): Likewise.
9967 (bootcheck-multiboot): Likewise.
9968 (bootcheck-multiboot2): Likewise.
9969 (bootcheck-kfreebsd-aout): Likewise.
9970 (bootcheck-pc-chainloader): Likewise.
9971 (bootcheck-ntldr): Likewise.
9972 (CLEANFILES): Add new targets.
9973 (BOOTCHECKS): New variable.
9974 (.PHONY): Add bootchecks.
9975 (SUCCESSFUL_BOOT_STRING): New variable.
9976 (BOOTCHECK_TIMEOUT): Likewise.
9977 (bootcheck): New target
9978 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
9979 * configure.ac: Correct efiemu excuse.
9980 * docs/grub.texi (Supported kernels): New chapter.
9981 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
9982 include/grub/mm_private.h. Simplify inclusion of
9983 include/grub/boot.h, include/grub/loader.h
9984 and include/grub/msdos_partition.h
9985 (KERNEL_HEADER_FILES) [i386_coreboot]:
9986 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
9987 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
9988 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
9989 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
9990 include/grub/machine/loader.h.
9991 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
9992 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
9993 extra_dist.
9994 (pci.mod): Enable on i386-multiboot.
9995 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
9996 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
9997 i386-qemu.
9998 (relocator.mod): Rewritten.
9999 (aout.mod): Enable on all x86.
10000 (bsd.mod): Likewise.
10001 (ntldr.mod): New module.
10002 (linux.mod): Use loader/i386/linux.c on all x86.
10003 (xnu.mod): Enable on all x86.
10004 (vga_text.mod): disable on EFI and QEMU.
10005 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
10006 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
10007 * grub-core/efiemu/loadcore.c: Likewise.
10008 * grub-core/efiemu/main.c: Likewise.
10009 (grub_efiemu_exit_boot_services): Removed.
10010 (grub_efiemu_finish_boot_services): Likewise.
10011 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
10012 function.
10013 * grub-core/efiemu/i386/nocfgtables.c: New file.
10014 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
10015 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
10016 (grub_efi_finish_boot_services): Moved from here ...
10017 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
10018 Fille finish memory map and related data.
10019 (finish_mmap_buf): New variable.
10020 (grub_efi_uintn_t finish_mmap_size): Likewise.
10021 (grub_efi_uintn_t finish_key): Likewise.
10022 (grub_efi_uintn_t finish_desc_size): Likewise.
10023 (grub_efi_uint32_t finish_desc_version): Likewise.
10024 (grub_efi_is_finished): Likewise.
10025 (grub_efi_get_memory_map): Use saved memory map if EFI is already
10026 finished.
10027 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
10028 (grub_elf64_phdr_iterate): Likewise.
10029 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
10030 (grub_os_area_size): Likewise.
10031 (grub_machine_init): Don't reserve os area.
10032 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
10033 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
10034 * grub-core/kern/i386/loader.S: Removed.
10035 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
10036 (grub_os_area_size): Likewise.
10037 (grub_machine_init): Don't reserve os area.
10038 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
10039 Don't call grub_dl_unload_all.
10040 Don't include loader.S.
10041 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
10042 Declare the memory after _end as available.
10043 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 10044 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 10045 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
10046 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
10047 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
10048 * include/grub/mm_private.h (grub_mm_header): ... here.
10049 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
10050 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
10051 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
10052 (grub_mm_region): ..here. Removed addr. Added pre_size.
10053 All users updated.
10054 * grub-core/kern/mm.c (base): Renamed to ...
10055 (grub_mm_base): ... this. Made global.
10056 (grub_real_malloc): Alloc from end of region.
10057 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
10058 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
10059 * grub-core/kern/powerpc/cache_flush.S: ... here.
10060 * grub-core/lib/efi/relocator.c: New file.
10061 * grub-core/lib/i386/relocator.c: Rewritten.
10062 * grub-core/lib/i386/relocator16.S: New file.
10063 * grub-core/lib/i386/relocator32.S: Likewise.
10064 * grub-core/lib/i386/relocator64.S: Likewise.
10065 * grub-core/lib/i386/relocator_asm.S: Rewritten.
10066 * grub-core/lib/i386/relocator_common.S: New file.
10067 * grub-core/lib/ieee1275/relocator.c: Likewise.
10068 * grub-core/lib/mips/relocator.c: Rewritten.
10069 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
10070 stylistic adjustments.
10071 * grub-core/lib/powerpc/relocator.c: New file.
10072 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
10073 * grub-core/lib/relocator.c: Rewritten.
10074 * grub-core/lib/x86_64/relocator_asm.S: New file.
10075 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
10076 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
10077 (bsd_tag): New struct.
10078 (tags): New variable.
10079 (tags_last): Likewise.
10080 (netbsd_module): New struct.
10081 (netbsd_mods): New variable.
10082 (netbsd_mods_last): Likewise.
10083 (openbsd_opts): New parameter "serial".
10084 (OPENBSD_SERIAL_ARG): New definition.
10085 (netbsd_opts): New parameter "serial".
10086 (NETBSD_SERIAL_ARG): New definition.
10087 (grub_freebsd_add_meta): Reorganised into ...
10088 (grub_bsd_add_meta): ...this. All users updated.
10089 (grub_freebsd_add_mmap): Reorganised into ...
10090 (generate_e820_mmap): ...this...
10091 (grub_bsd_add_mmap): ...and this. All users updated.
10092 (grub_freebsd_list_modules): Use tags.
10093 (grub_netbsd_add_meta_module): New function.
10094 (grub_netbsd_list_modules): Likewise.
10095 (grub_freebsd_boot): Use relocator and finish EFI.
10096 (grub_openbsd_boot): Likewise.
10097 (grub_netbsd_setup_video): New function.
10098 (grub_netbsd_add_modules): Likewise.
10099 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
10100 and finish EFI.
10101 (grub_bsd_unload): Unload tags.
10102 (grub_bsd_load_aout): Use relocator.
10103 (grub_bsd_elf32_size_hook): New function.
10104 (grub_bsd_elf32_hook): Use relocator.
10105 (grub_bsd_elf64_size_hook): New function.
10106 (grub_bsd_elf64_hook): Use relocator.
10107 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
10108 (grub_bsd_load): Zero-out openbsd_ramdisk.
10109 (grub_bsd_load): Use relocator.
10110 (grub_cmd_openbsd): Support serial.
10111 (grub_cmd_netbsd): Support modules.
10112 (grub_cmd_freebsd_module): Use relocator.
10113 (grub_netbsd_module_load): New function.
10114 (grub_cmd_netbsd_module): Likewise.
10115 (grub_cmd_openbsd_ramdisk): Likewise.
10116 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
10117 kopenbsd_ramdisk.
10118 (GRUB_MOD_FINI): Unregister new commands.
10119 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
10120 (grub_freebsd_load_elfmodule_obj): Use relocator.
10121 (grub_freebsd_load_elfmodule): Likewise.
10122 (grub_freebsd_load_elf_meta): Likewise.
10123 (grub_netbsd_load_elf_meta): New function.
10124 (grub_openbsd_find_ramdisk): Likewise.
10125 * grub-core/loader/i386/bsd_helper.S: Removed.
10126 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
10127 * grub-core/loader/i386/bsd_trampoline.S: Removed.
10128 * grub-core/loader/i386/efi/linux.c: Likewise.
10129 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
10130 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
10131 (DEFAULT_VIDEO_MODE): Likewise.
10132 (real_mode_target): New variable.
10133 (prot_mode_target): Likewise.
10134 (initrd_mem_target): Likewise.
10135 (relocator): Likewise.
10136 (efi_mmap_buf): Likewise.
10137 (efi_mmap_size): Likewise.
10138 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
10139 (free_pages): Use relocator.
10140 (allocate_pages): Account for efi_mmap and use relocator. Return error.
10141 (grub_linux_setup_video): Return error.
10142 (grub_linux_trampoline_start): Removed.
10143 (grub_linux_trampoline_end): Likewise.
10144 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
10145 andd video parameters depending on firmware.
10146 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
10147 [GRUB_MACHINE_EFI]: Pass EFI parameters.
10148 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
10149 (grub_cmd_initrd): Use relocator.
10150 * grub-core/loader/i386/linux_trampoline.S: Removed.
10151 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
10152 (elf_sec_entsize): Likewise.
10153 (elf_sec_shstrndx): Likewise.
10154 (elf_sections): Likewise.
10155 (grub_multiboot_load): Use relocator.
10156 (grub_multiboot_get_mbi_size): Account for sections.
10157 (grub_multiboot_make_mbi): Use relocator and support sections.
10158 (grub_multiboot_add_elfsyms): New function.
10159 (grub_multiboot_free_mbi): Free sections.
10160 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
10161 (grub_linux_real_target): Likewise.
10162 (grub_linux_real_chunk): Likewise.
10163 (grub_linux16_prot_size): Likewise.
10164 (grub_linux16_boot): Use relocator.
10165 (grub_linux_unload): Unload relocator.
10166 (grub_cmd_linux): Use relocator.
10167 (grub_cmd_initrd): Likewise.
10168 * grub-core/loader/i386/pc/ntldr.c: New file.
10169 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
10170 Don't try to guess CPU frequency.
10171 (grub_xnu_set_video): Stretch bitmap.
10172 (grub_xnu_boot): Use relocator.
10173 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
10174 (grub_linux_unload): Free relocator.
10175 (grub_linux_load32): Use relocator.
10176 (grub_linux_load64): Likewise.
10177 (grub_cmd_initrd): Likewise.
10178 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
10179 (grub_multiboot_unload): Unload relocator.
10180 (grub_cmd_multiboot): Use relocator.
10181 (grub_cmd_module): Likewise.
10182 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
10183 Use relocator and support sections.
10184 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
10185 (elf_sec_entsize): Likewise.
10186 (elf_sec_shstrndx): Likewise.
10187 (elf_sections): Likewise.
10188 (grub_multiboot_load): Use relocator.
10189 (grub_multiboot_get_mbi_size): Account for sections.
10190 (grub_multiboot_make_mbi): Use relocator and support sections.
10191 (grub_multiboot_add_elfsyms): New function.
10192 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
10193 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
10194 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
10195 Prototype changed. All users updated.
10196 (grub_xnu_align_heap): Simplified.
10197 (grub_xnu_writetree_toheap): Likewise.
10198 (grub_xnu_unload): Unload relocator.
10199 (grub_cmd_xnu_kernel): Use relocator.
10200 (grub_cmd_xnu_kernel64): Likewise.
10201 (grub_xnu_register_memory): Simplified.
10202 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
10203 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
10204 EFI is finished.
10205 (grub_console_checkkey): Likewise.
10206 (grub_console_getkey): Likewise.
10207 (grub_console_getwh): Likewise.
10208 (grub_console_getxy): Likewise.
10209 (grub_console_gotoxy): Likewise.
10210 (grub_console_cls): Likewise.
10211 (grub_console_setcolorstate): Likewise.
10212 (grub_console_setcursor): Likewise.
10213 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
10214 * grub-core/tests/boot/kbsd.init-i386.S: New file.
10215 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
10216 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
10217 * grub-core/tests/boot/kernel-8086.S: Likewise.
10218 * grub-core/tests/boot/kernel-i386.S: Likewise.
10219 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
10220 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
10221 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
10222 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
10223 * grub-core/tests/boot/knetbsd.cfg: Likewise.
10224 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
10225 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
10226 * grub-core/tests/boot/linux.cfg: Likewise.
10227 * grub-core/tests/boot/linux.init-i386.S: Likewise.
10228 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
10229 * grub-core/tests/boot/linux16.cfg: Likewise.
10230 * grub-core/tests/boot/multiboot.cfg: Likewise.
10231 * grub-core/tests/boot/multiboot2.cfg: Likewise.
10232 * grub-core/tests/boot/ntldr.cfg: Likewise.
10233 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
10234 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
10235 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
10236 New definition.
10237 * include/grub/dl.h (grub_dl_unload_all): Removed.
10238 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
10239 (grub_efi_finish_boot_services): Change prototype.
10240 (grub_efi_is_finished): New variable.
10241 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
10242 Changed prototype.
10243 (grub_efiemu_finish_boot_services): Removed.
10244 (grub_machine_efiemu_init_tables): New prototype.
10245 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
10246 (grub_elf64_phdr_iterate): Likewise.
10247 * include/grub/i386/bsd.h: Include relocator.h.
10248 (freebsd_tag_header): New struct.
10249 (grub_openbsd_bios_mmap): Removed.
10250 (grub_unix_real_boot): Removed.
10251 (grub_freebsd_load_elfmodule32): Changed prototype.
10252 (grub_freebsd_load_elfmodule_obj64): Likewise.
10253 (grub_freebsd_load_elf_meta32): Likewise.
10254 (grub_freebsd_load_elf_meta64): Likewise.
10255 (grub_freebsd_add_meta): Removed.
10256 (grub_netbsd_load_elf_meta32): New prototype.
10257 (grub_netbsd_load_elf_meta64): Likewise.
10258 (grub_bsd_add_meta): Likewise.
10259 (grub_openbsd_ramdisk_descriptor): New struct.
10260 (grub_openbsd_find_ramdisk32): New prototype.
10261 (grub_openbsd_find_ramdisk64): Likewise.
10262 * include/grub/i386/coreboot/loader.h: Removed.
10263 * include/grub/i386/efi/loader.h: Likewise.
10264 * include/grub/i386/ieee1275/loader.h: Likewise.
10265 * include/grub/i386/linux.h (linux_kernel_header): Change void *
10266 to grub_uint32_t.
10267 * include/grub/i386/loader.h: Removed.
10268 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
10269 value.
10270 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
10271 (grub_phys_addr_t): New type.
10272 (grub_vtop): New inline function.
10273 (grub_map_memory): Likewise.
10274 (grub_unmap_memory): Likewise.
10275 * include/grub/i386/multiboot/loader.h: Removed.
10276 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
10277 (NETBSD_BTINFO_CONSOLE): New definition.
10278 (NETBSD_BTINFO_SYMTAB): Likewise.
10279 (NETBSD_BTINFO_MODULES): Likewise.
10280 (NETBSD_BTINFO_FRAMEBUF): Likewise.
10281 (grub_netbsd_bootinfo): New struct.
10282 (grub_netbsd_btinfo_common): Use explicit bitsize.
10283 (grub_netbsd_btinfo_mmap_entry): Removed.
10284 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
10285 (grub_netbsd_btinfo_bootdisk): New struct.
10286 (grub_netbsd_btinfo_symtab): Likewise.
10287 (grub_netbsd_btinfo_serial): Likewise.
10288 (grub_netbsd_btinfo_modules): Likewise.
10289 (grub_netbsd_btinfo_framebuf): Likewise.
10290 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
10291 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
10292 Likewise.
10293 (grub_openbsd_bootargs): Use explicit bitsize.
10294 (grub_openbsd_bootarg_console): New struct.
10295 (GRUB_OPENBSD_COM_MAJOR): New definition.
10296 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
10297 * include/grub/i386/pc/efiemu.h: Removed.
10298 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
10299 * include/grub/i386/qemu/loader.h: Removed.
10300 * include/grub/i386/relocator.h: Rewritten.
10301 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
10302 * include/grub/mips/memory.h: New file.
10303 * include/grub/mips/multiboot.h: Rewritten.
10304 * include/grub/mips/relocator.h: Rewritten.
10305 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
10306 (grub_vtop): New function.
10307 (grub_map_memory): Likewise.
10308 (grub_unmap_memory): Likewise.
10309 * include/grub/misc.h (ALIGN_DOWN): New definition.
10310 * include/grub/mm.h (grub_mm_check_real): New proto.
10311 (GRUB_MM_CHECK): New definition.
10312 * include/grub/mm_private.h: New file.
10313 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
10314 (grub_multiboot_get_mbi_size): Removed.
10315 (grub_multiboot_make_mbi): Change prottype.
10316 (grub_multiboot_set_accepts_video): New proto.
10317 (grub_multiboot_add_elfsyms): Likewise.
10318 (grub_multiboot_payload_eip): New variable.
10319 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
10320 New prototype.
10321 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
10322 New definition.
10323 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
10324 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
10325 * include/grub/powerpc/ieee1275/loader.h: Removed.
10326 * include/grub/powerpc/memory.h: New file.
10327 * include/grub/powerpc/relocator.h: Likewise.
10328 * include/grub/relocator.h: Likewise.
10329 * include/grub/relocator_private.h: Likewise.
10330 * include/grub/sparc64/ieee1275/loader.h: Removed.
10331 * include/grub/x86_64/memory.h: New file.
10332 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
10333 (grub_xnu_heap_malloc): Likewise.
10334 (grub_xnu_heap_real_start): Removed.
10335 (grub_xnu_heap_start): Likewise.
10336 (grub_xnu_relocator): New variable.
10337 (grub_xnu_heap_target_start): Likewise.
10338 * tests/util/grub-shell.in: Support non-pc.
10339 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 10340
5303b85d
VS
103412010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10342
10343 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
10344 on malloc error.
10345 (grub_bidi_logical_to_visual): Check that malloc succeded.
10346 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
10347 puts.
10348 (grub_xputs_normal): Likewise.
10349
d768d159
VS
103502010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10351
10352 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
10353 extra_dist.
10354
103552010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10356
10357 * grub-core/efiemu/runtime/efiemu.sh: Removed.
10358
5bf84df4
VS
103592010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10360
10361 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
10362
3626810e
VS
103632010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
10364
10365 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
10366 dprintf.
10367
a7363f53
BC
103682010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
10369
10370 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
10371
902f75f6
VS
103722010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10373
10374 * grub-core/normal/term.c (print_more): Fix a memory leak.
10375 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
10376 (grub_xputs_normal): Likewise.
10377
3c707967
VS
103782010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10379
10380 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
10381 the begining of the string
10382
2053cc07
VS
103832010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 * grub-core/script/script.c (grub_script_parse): Free parsed on
10386 failure.
10387
46422ebf
VS
103882010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
10391 on failure.
10392
9e0fa3f6
VS
103932010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
10396 return.
10397
3393cf16
VS
103982010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10399
10400 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
10401 (scroll_up): Fix a memory leak.
10402
b17540cb
VS
104032010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
10404
10405 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
10406 errors.
10407
67140446
VS
104082010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 Handle USB pendrives exposed as floppies.
10411
10412 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
10413 floppy.
10414 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
10415 Check for partitions on all devices.
10416
e35e46fc
VS
104172010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
10418
10419 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
10420 (readkey): Likewise.
10421
d24c6190
BC
104222010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
10423
10424 Multiple variable names support to "export" command.
10425
10426 * normal/context.c (grub_cmd_export): "export" command supports
10427 multiple variable names.
10428
04ddcc6a
ST
104292010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
10430
10431 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
10432 --target=drive output to Mach device name.
10433
0c8b61d8
BC
104342010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10435
10436 New Automake based build system for GRUB.
10437
10438 * ABOUT-NLS: New file.
10439 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
10440 in Makefile.util.def file.
10441 * Makefile.util.def: New file. Autogen build definitions file for
10442 GRUB host utils.
10443 * conf/Makefile.common: New file. Common variables for GRUB host
10444 utils and target modules.
10445 * conf/Makefile.extra-dist: New file. Extra files for make dist.
10446 * docs/Makefile.am: New file. Automake file for docs.
10447 * gentpl.py: New file. Python script to generate Autogen
10448 template.
10449 * grub-core/Makefile.am: New file. GRUB target modules' rules
10450 that doesn't fit in Makefile.core.def file.
10451 * grub-core/Makefile.core.def: New file. Autogen build
10452 definitions file for GRUB target modules.
10453 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
10454 specific setjmp.S file.
10455 * po/Makefile.am: New file.
10456
10457 * .bzrignore: New ignores.
10458 * INSTALL: New requirements, without Ruby.
10459 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
10460 * autogen.sh: Updated to invoke autogen as necessary.
10461 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
10462 and defines for Automake conditionals.
10463 * geninit.sh: Refactoring.
10464
10465 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
10466 necessary.
10467 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
10468 New prototype.
10469
10470 * include/grub/test.h: Fix functional test modules' naming.
10471 * grub-core/tests/example_functional_test.c: Fix test module name.
10472
10473 * util/misc.c: Hosted versions' of grub functions for libgrub.a
10474 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
10475 * util/grub-editenv.c: Likewise.
10476 * util/grub-fstest.c: Likewise.
10477 * util/grub-mkdevicemap.c: Likewise.
10478 * util/grub-mkfont.c: Likewise.
10479 * util/grub-mkimage.c: Likewise.
10480 * util/grub-mkpasswd-pbkdf2.c: Likewise.
10481 * util/grub-probe.c: Likewise.
10482 * util/grub-script-check.c: Likewise.
10483 * util/i386/pc/grub-setup.c: Likewise.
10484 * util/sparc64/ieee1275/grub-setup.c: Likewise.
10485
10486 * tests/util/grub-shell.in: Fix override directory path.
10487 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
10488 * util/import_gcry.py: Create Makefile.gcry.def file instead.
10489
10490 * util/lvm.c: Update #includes.
10491 * util/raid.c: Likewise.
10492 * util/resolve.c: Likewise.
10493 * grub-core/bus/emu/pci.c: Likewise.
10494 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
10495 * grub-core/lib/posix_wrap/string.h: Likewise.
10496 * grub-core/kern/emu/main.c: Likewise.
10497
10498 * grub-core/gensymlist.sh: New file. Script for generating kernel
10499 symbols file.
10500 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
10501
10502 * grub-core/gentrigtables.c: Fix unused variable warnings.
10503
10504 * Makefile.in: Removed.
10505 * conf/any-emu.rmk: Removed.
10506 * conf/common.rmk: Removed.
10507 * conf/i386-coreboot.rmk: Removed.
10508 * conf/i386-efi.rmk: Removed.
10509 * conf/i386-ieee1275.rmk: Removed.
10510 * conf/i386-multiboot.rmk: Removed.
10511 * conf/i386-pc.rmk: Removed.
10512 * conf/i386-qemu.rmk: Removed.
10513 * conf/i386.rmk: Removed.
10514 * conf/mips-yeeloong.rmk: Removed.
10515 * conf/mips.rmk: Removed.
10516 * conf/powerpc-ieee1275.rmk: Removed.
10517 * conf/sparc64-ieee1275.rmk: Removed.
10518 * conf/tests.rmk: Removed.
10519 * conf/x86-efi.rmk: Removed.
10520 * conf/x86_64-efi.rmk: Removed.
10521 * gendistlist.sh: Removed.
10522 * geninitheader.sh: Removed.
10523 * genkernsyms.sh.in: Removed.
10524 * genmk.rb: Removed.
10525 * gensymlist.sh.in: Removed.
10526 * mkinstalldirs: Removed.
10527 * boot: Moved ...
10528 * grub-core/boot: ... to here.
10529 * bus: Moved ...
10530 * grub-core/bus: ... to here.
10531 * commands: Moved ...
10532 * grub-core/commands: ... to here.
10533 * disk: Moved ...
10534 * grub-core/disk: ... to here.
10535 * efiemu: Moved ...
10536 * grub-core/efiemu: ... to here.
10537 * font: Moved ...
10538 * grub-core/font: ... to here.
10539 * fs: Moved ...
10540 * grub-core/fs: ... to here.
10541 * gencmdlist.sh: Moved ...
10542 * grub-core/gencmdlist.sh: ... to here.
10543 * genemuinit.sh: Moved ...
10544 * grub-core/genemuinit.sh: ... to here.
10545 * genemuinitheader.sh: Moved ...
10546 * grub-core/genemuinitheader.sh: ... to here.
10547 * genfslist.sh: Moved ...
10548 * grub-core/genfslist.sh: ... to here.
10549 * genhandlerlist.sh: Moved ...
10550 * grub-core/genhandlerlist.sh: ... to here.
10551 * genmoddep.awk: Moved ...
10552 * grub-core/genmoddep.awk: ... to here.
10553 * genmodsrc.sh: Moved ...
10554 * grub-core/genmodsrc.sh: ... to here.
10555 * genpartmaplist.sh: Moved ...
10556 * grub-core/genpartmaplist.sh: ... to here.
10557 * genparttoollist.sh: Moved ...
10558 * grub-core/genparttoollist.sh: ... to here.
10559 * genterminallist.sh: Moved ...
10560 * grub-core/genterminallist.sh: ... to here.
10561 * gentrigtables.c: Moved ...
10562 * grub-core/gentrigtables.c: ... to here.
10563 * genvideolist.sh: Moved ...
10564 * grub-core/genvideolist.sh: ... to here.
10565 * gettext: Moved ...
10566 * grub-core/gettext: ... to here.
10567 * gfxmenu: Moved ...
10568 * grub-core/gfxmenu: ... to here.
10569 * gnulib: Moved ...
10570 * grub-core/gnulib: ... to here.
10571 * hello: Moved ...
10572 * grub-core/hello: ... to here.
10573 * hook: Moved ...
10574 * grub-core/hook: ... to here.
10575 * io: Moved ...
10576 * grub-core/io: ... to here.
10577 * kern: Moved ...
10578 * grub-core/kern: ... to here.
10579 * lib: Moved ...
10580 * grub-core/lib: ... to here.
10581 * loader: Moved ...
10582 * grub-core/loader: ... to here.
10583 * mmap: Moved ...
10584 * grub-core/mmap: ... to here.
10585 * normal: Moved ...
10586 * grub-core/normal: ... to here.
10587 * partmap: Moved ...
10588 * grub-core/partmap: ... to here.
10589 * parttool: Moved ...
10590 * grub-core/parttool: ... to here.
10591 * script: Moved ...
10592 * grub-core/script: ... to here.
10593 * term: Moved ...
10594 * grub-core/term: ... to here
10595 * tests/example_functional_test.c: Moved ...
10596 * grub-core/tests/example_functional_test.c: ... to here.
10597 * tests/lib/functional_test.c: Moved ...
10598 * grub-core/tests/lib/functional_test.c: ... to here.
10599 * tests/lib/test.c: Moved ...
10600 * grub-core/tests/lib/test.c: ... to here.
10601 * video: Moved ...
10602 * grub-core/video: ... to here.
10603
645586e6
BC
106042010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
10605
10606 Replace --enable-grub-emu-modules with grub-emu-lite.
10607
10608 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
10609 cache.S.
10610
10611 * include/grub/emu/misc.h (grub_emu_init): New prototype.
10612 * kern/emu/full.c: New file. For grub-emu specific initialization.
10613 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
10614 * kern/emu/main.c: Call initialization function grub_emu_init.
10615
10616 * Makefile.in: Include grub-emu-lite in install.
10617 * commands/parttool.c: Use grub_no_autoload to differentiate
10618 between grub-emu and grub-emu-lite.
10619 * include/grub/misc.h: New variable grub_no_autoload.
10620
10621 * conf/any-emu.rmk: New rules for grub-emu-lite.
10622 * configure.ac: Remove --enable-grub-emu-modules.
10623 * genmk.rb: Cleanup unnecessary rules.
10624 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
10625
10626 * normal/main.c: Don't load list files on grub-emu-lite.
10627 * util/misc.c (grub_arch_sync_caches): Removed.
10628
f86a4030
CW
106292010-08-23 Colin Watson <cjwatson@ubuntu.com>
10630
10631 * kern/mips/startup.S (grub_prefix): Update comment to refer to
10632 grub-mkimage rather than grub-mkelfimage.
10633 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
10634
06776944
VS
106352010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
10636
10637 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
10638 a key after CapsLock or NumLock. It's just a qemu bug.
10639
df262419
VS
106402010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10641
10642 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
10643 needed by libusb wrapper.
10644
b40ea81b
ST
106452010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
10646
10647 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
10648
dee50575
VS
106492010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
10650
10651 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
10652 --nounzip is passed.
10653
fb1d7b79
VS
106542010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
10655
10656 USB hotunplugging and USB serial support.
10657
10658 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
10659 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
10660 (grub_uhci_transfer): Respect timeout and set *actual.
10661 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
10662 non-standard length.
10663 (grub_usb_device_attach): Autoload modules.
10664 (GRUB_MOD_INIT): Set grub_term_poll_usb.
10665 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
10666 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
10667 users updated.
10668 (grub_usb_add_hub): Fill nports and children.
10669 (attach_root_port): Receive hub instead of controller.
10670 All users updated. Fill hub->devices.
10671 (grub_usb_root_hub): Allocate hub->devices.
10672 (detach_device): New function.
10673 (poll_nonroot_hub): Fill children and detach devices.
10674 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
10675 actual arguments. All users updated.
10676 (grub_usb_bulk_read_extended): New function.
10677 * bus/usb/serial/common.c: New file.
10678 * bus/usb/serial/ftdi.c: Likewise.
10679 * bus/usb/serial/pl2303.c: Likewise.
10680 * commands/terminal.c (handle_command): Support wildcard.
10681 * commands/usbtest.c: Output "Unknown" instead of empty string.
10682 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
10683 (usbserial_common_mod_SOURCES): New variable.
10684 (usbserial_common_mod_CFLAGS): Likewise.
10685 (usbserial_common_mod_LDFLAGS): Likewise.
10686 (pkglib_MODULES): Add usbserial_pl2303.mod.
10687 (usbserial_pl2303_mod_SOURCES): New variable.
10688 (usbserial_pl2303_mod_CFLAGS): Likewise.
10689 (usbserial_pl2303_mod_LDFLAGS): Likewise.
10690 (pkglib_MODULES): Add usbserial_ftdi.mod.
10691 (usbserial_ftdi_mod_SOURCES): New variable.
10692 (usbserial_ftdi_mod_CFLAGS): Likewise.
10693 (usbserial_ftdi_mod_LDFLAGS): Likewise.
10694 (pkglib_MODULES): Add serial.mod.
10695 (serial_mod_SOURCES): New variable.
10696 (serial_mod_CFLAGS): Likewise.
10697 (serial_mod_LDFLAGS): Likewise.
10698 * conf/i386-pc.rmk: Likewise.
10699 * conf/mips-yeeloong.rmk: Likewise.
10700 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
10701 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
10702 * disk/usbms.c (first_available_slot): New variable.
10703 (grub_usbms_attach): Don't reuse free slots due to potential cache
10704 problems.
10705 * include/grub/serial.h: Moved to ..
10706 * include/grub/ns8250.h: ...this.
10707 * include/grub/serial.h: New file.
10708 * include/grub/term.h (grub_term_poll_usb): New variable.
10709 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
10710 readkey. All users updated.
10711 (grub_terminfo_output_state): Pass term to put.
10712 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
10713 (grub_usb_controller_dev): Add timeout and actual arguments to
10714 transfer. All users updated.
10715 (grub_usb_interface): New field detach_data.
10716 (grub_usb_device): New fields children and nports.
10717 (grub_usb_ep_type_t): New type.
10718 (grub_usb_get_ep_type): New function.
10719 (grub_usb_bulk_read_extended): Likewise.
10720 * include/grub/usbdesc.h (grub_usb_desc): New type.
10721 * include/grub/usbserial.h: New file.
10722 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
10723 * kern/term.c (grub_term_poll_usb): New variable.
10724 (grub_getkey): Call grub_term_poll_usb if set.
10725 (grub_checkkey): Likewise.
10726 (grub_getkeystatus): Likewise.
10727 * term/serial.c: Moved controller-specific parts to ...
10728 * term/ns8250.c: ... here.
10729 * term/serial.c: Mostly rewritten.
10730 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
10731 according to spec.
10732
21a313de
RM
107332010-08-20 Robert Millan <rmh@gnu.org>
10734
10735 Make kFreeBSD code more generic to support ext2fs as root, ufs as
10736 a separate module and maybe other interesting combinations.
10737
10738 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
10739 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
10740 (kfreebsd_entry): Add generic filesystem module load routine.
10741 Map GRUB `ext2' to kFreeBSD `ext2fs'.
10742
63c734a6
CW
107432010-08-20 Colin Watson <cjwatson@ubuntu.com>
10744
10745 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
10746 "numcenter" (I misunderstood the purpose of this entry).
10747 * docs/grub.texi (sendkey): Likewise.
10748
c4d16542
CW
107492010-08-20 Colin Watson <cjwatson@ubuntu.com>
10750
10751 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
10752 status flag options; simply omitting the option is equivalent and
10753 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
10754 (keysym_table): Rename "num5numlock" to "numlock".
10755 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
10756 can uniformly say that only the last of multiple `sendkey'
10757 invocations has any effect.
10758 * docs/grub.texi (sendkey): New section.
10759
93541d66
CW
107602010-08-19 Colin Watson <cjwatson@ubuntu.com>
10761
10762 * commands/i386/pc/sendkey.c (options): Fix three typos.
10763
b4ece5e1
VS
107642010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
10765
10766 Implement sendkey support.
10767
10768 * commands/i386/pc/sendkey.c: New file.
10769 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
10770 (sendkey_mod_SOURCES): New variable.
10771 (sendkey_mod_CFLAGS): Likewise.
10772 (sendkey_mod_LDFLAGS): Likewise.
10773
51f1f5af
CW
107742010-08-18 Colin Watson <cjwatson@ubuntu.com>
10775
10776 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
10777 fix warnings from Autoconf.
10778
9da94e05
CW
107792010-08-18 Colin Watson <cjwatson@ubuntu.com>
10780
10781 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
10782 to avoid false positives with some assemblers that output things
10783 like "someprefix_func" as part of their output.
10784
729a0f2e
RM
107852010-08-15 Robert Millan <rmh@gnu.org>
10786
10787 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
10788 errors.
10789 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
10790 grub_get_libzfs_handle() errors.
10791
f3710e08
RM
107922010-08-14 Robert Millan <rmh@gnu.org>
10793
10794 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
10795 filesystem is not ZFS.
10796
7a3c13de
BC
107972010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10798
10799 Fix for misspelled color names defaulting to black/black (bug
10800 reported by Doug Nazar)
10801
10802 * include/grub/normal.h (grub_parse_color_name_pair): Add return
10803 status to prototype.
10804 * normal/color.c (grub_parse_color_name_pair): Return failure
10805 status.
10806 (grub_env_write_color_normal): Ignore bad color names.
10807 (grub_env_write_color_highlight): Likewise.
10808 * normal/main.c (GRUB_MOD_INIT): Set default color names.
10809
ab8ba50d
BC
108102010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10811
10812 "shift" command support to GRUB script.
10813
10814 * include/grub/script_sh.h (grub_script_shift): New prototype.
10815 * script/execute.c (grub_script_shift): New function.
10816 * script/main.c (grub_script_init): Register shift command.
10817 (grub_script_fini): Unregister shift command.
10818 * util/grub-script-check.c (grub_script_cmd_shift): New function.
10819
10820 * tests/grub_script_shift.in: New testcase.
10821 * conf/tests.rmk: Rules for new testcase.
10822
4d61999e
BC
108232010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10824
10825 "continue" command support to GRUB script.
10826
10827 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
10828 (grub_script_break): Continue support.
10829 * script/main.c (grub_script_init): Register continue command.
10830 (grub_script_fini): Unregister continue command.
10831
10832 * tests/grub_script_continue.in: New testcase.
10833 * conf/tests.rmk: Rules for new testcase.
10834
4df51e00
BC
108352010-08-12 BVK Chaitanya <bvk@dbook>
10836
10837 "break" command support to GRUB script.
10838
10839 * conf/common.rmk: Rule updates to grub-script-check.
10840 * include/grub/misc.h (grub_min): New function.
10841 * include/grub/script_sh.h (grub_script_init): New prototype.
10842 (grub_script_fini): New prototype.
10843 (grub_script_break): New prototype.
10844 * script/main.c (grub_script_init): New function.
10845 (grub_script_fini): New function.
10846 * script/execute.c (grub_script_break): New function.
10847 * normal/main.c: Calls to grub_script_{init,fini}.
10848 * util/grub-script-check.c (grub_script_break): New function.
10849
10850 * tests/grub_script_break.in: New testcase.
10851 * conf/tests.rmk: Rules for new test case.
10852
f12c8420
BC
108532010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10854
10855 Function parameters support to GRUB script.
10856
10857 * script/yylex.l (VARIABLE): Regular expression update.
10858 * script/function.c (grub_script_function_call): Moved ...
10859 * script/execute.c (grub_script_function_call): ... to here.
10860 (grub_script_execute_arglist_to_argv): Removed.
10861 (grub_script_arglist_to_argv): New function.
10862 * script/argv.c: New file.
10863 (grub_script_argv_free): New function.
10864 (grub_script_argv_next): Likewise.
10865 (grub_script_argv_append): Likewise.
10866 (grub_script_argv_split_append): Likewise.
10867 * include/grub/script_sh.h (grub_script_argv): New struct.
10868 (grub_script_argv_free): New function.
10869 (grub_script_argv_next): Likewise.
10870 (grub_script_argv_append): Likewise.
10871 (grub_script_argv_split_append): Likewise.
10872
10873 * conf/common.rmk (normal.mod): New source script/argv.c.
10874
10875 * tests/grub_script_echo1.in: More tests.
10876 * tests/grub_script_vars1.in: Likewise.
10877 * tests/grub_script_functions.in: New test case.
10878 * conf/tests.rmk: Rules for new testcase.
10879
8022b748
BC
108802010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
10881
10882 Remove grub_script_cmdblock struct.
10883
10884 * include/grub/script_sh.h: Remove grub_script_cmdblock.
10885 * script/parser.y: Likewise.
10886 * script/execute.c: Rename cmdblock suffix to cmdlist.
10887 * script/script.c: Likewise.
10888 * util/grub-script-check.c: Likewise.
10889
79a6ba61
YB
108902010-08-11 Yves Blusseau <blusseau@zetam.org>
10891
10892 * .bzrignore: add grub-macho2img
10893
d04b9414
VS
108942010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10895
10896 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
10897
f947ab49
VS
108982010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
10899
10900 Remove the dump of sm712 initialisation sequence.
10901
10902 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
10903 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
10904 (GRUB_VGA_IO_MISC_WRITE): Likewise.
10905 (GRUB_VGA_CR_*): Added many registers.
10906 (GRUB_VGA_SR_*): Likewise.
10907 (GRUB_VGA_GR_*): Likewise.
10908 (grub_vga_write_arx): New function.
10909 (grub_video_hw_config): New struct.
10910 (grub_vga_set_geometry): New function.
10911 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
10912 GRUB_PCI_CLASS_SUBCLASS_VGA.
10913 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
10914 * video/sm712.c (grub_sm712_write_reg): New function
10915 (grub_sm712_read_reg): Likewise.
10916 (grub_sm712_sr_write): Likewise.
10917 (grub_sm712_gr_write): Likewise.
10918 (grub_sm712_cr_write): Likewise.
10919 (grub_sm712_write_arx): Likewise.
10920 (grub_sm712_cr_shadow_write): Likewise.
10921 (grub_sm712_write_dda_lookup): Likewise.
10922 (grub_video_sm712_setup): Initialise the video rather then
10923 blindly replay the dump.
10924 (main) [TEST]: Add a routine to be able to compile as standalone for
10925 tests.
10926 * video/sm712_init.c (sm712_init): Removed.
10927 (sm712_sr_seq1): New array.
10928 (sm712_sr_seq2): Likewise.
10929
f0206638
VS
109302010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10931
10932 * include/grub/vga.h: Add missing grub/pci.h include.
10933
2764da3b
YB
109342010-08-10 Yves Blusseau <blusseau@zetam.org>
10935
10936 * util/grub-macho2img.c (main): fix typo
10937
cf0c775e
VS
109382010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
10939
10940 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
10941 (grub_vga_gr_read): Likewise.
10942 (grub_vga_cr_write): Likewise.
10943 (grub_vga_cr_read): Likewise.
10944 (grub_vga_sr_write): Likewise.
10945 (grub_vga_sr_read): Likewise.
10946 (grub_vga_palette_read): Likewise.
10947 (grub_vga_palette_write): Likewise.
10948 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
10949 (grub_sm712_sr_read): New function.
10950 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
10951 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
10952
07f360e9
RM
109532010-08-09 Robert Millan <rmh@gnu.org>
10954
10955 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
10956 out unused variables on non-ZFS build.
10957
346c2072
RM
109582010-08-08 Robert Millan <rmh@gnu.org>
10959
10960 Fix path generation for sub-filesystems in ZFS.
10961
10962 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
10963 missing slash.
10964
71175420
RM
109652010-08-08 Robert Millan <rmh@gnu.org>
10966
10967 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
10968
0d8286f3
RM
109692010-08-08 Robert Millan <rmh@gnu.org>
10970
10971 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
10972 exist, issue a proper error message (rely on `ls' for translated
10973 strings).
10974
55dd2924
RM
109752010-08-08 Robert Millan <rmh@gnu.org>
10976
10977 Fix grub-probe invocation.
10978
10979 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
10980
d3dd9e80
RM
109812010-08-04 Robert Millan <rmh@gnu.org>
10982
10983 * configure.ac: Remove checks for getfsstat() and getmntany().
10984 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
10985 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
10986 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
10987 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
10988 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
10989 function.
10990 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
10991 via find_mount_point_from_dir() and getfsstat() / getmntany().
10992
0de22aa9
RM
109932010-08-04 Robert Millan <rmh@gnu.org>
10994
10995 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
10996 (grub_find_zpool_from_mount_point): Merge into ...
10997 (grub_find_zpool_from_dir): ... this.
10998 * kern/emu/misc.c: Likewise.
10999
11000 * kern/emu/misc.c
11001 (grub_make_system_path_relative_to_its_root): Replace
11002 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
11003 with grub_find_zpool_from_dir().
11004 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
11005
62858144
RM
110062010-08-04 Robert Millan <rmh@gnu.org>
11007
11008 Support OpenSolaris in ZFS device resolution.
11009
11010 * configure.ac: Check for getmntany().
11011 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
11012 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
11013 support.
11014
9dd6fd50
RM
110152010-08-03 Robert Millan <rmh@gnu.org>
11016
11017 Fix grub-emu build.
11018
11019 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
11020 * include/grub/emu/misc.h: ... here.
11021
11022 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
11023 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
11024
11025 * util/misc.c: Remove `<grub/util/libzfs.h>'.
11026 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
11027 (grub_get_libzfs_handle): Move to ...
11028 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
11029 (grub_get_libzfs_handle): ... here.
11030
c9f7ff97
BC
110312010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
11032
11033 * script/execute.c (grub_script_execute_cmdline): Check for NULL
11034 as command name case.
11035
a870a783
CW
110362010-08-02 Colin Watson <cjwatson@ubuntu.com>
11037
11038 * disk/raid.c (insert_array): Select unique numbers for named arrays
11039 as well, for use as keys in the disk cache.
11040
c7db243b
RM
110412010-08-01 Robert Millan <rmh@gnu.org>
11042
11043 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
11044 kFreeBSD device name, except on ZFS where the filesystem label is
11045 used.
11046 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
11047 `/boot/zfs/zpool.cache'.
11048 Set mountfrom kernel variable using ${kfreebsd_device}.
11049
f7abdefb
RM
110502010-08-01 Robert Millan <rmh@gnu.org>
11051
11052 Make it even harder to use uninitialized `libzfs_handle' (and
11053 make the interface a bit simpler).
11054
11055 * include/grub/util/misc.h (grub_util_init_libzfs)
11056 (libzfs_handle): Remove.
11057 (grub_get_libzfs_handle): New prototype.
11058
11059 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
11060 attribute.
11061 (grub_util_init_libzfs): Remove.
11062 (grub_get_libzfs_handle): New function.
11063
11064 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
11065 grub_get_libzfs_handle() to obtain a libzfs handle instead of
11066 accessing `libzfs_handle' directly.
11067
c882acc0
RM
110682010-08-01 Robert Millan <rmh@gnu.org>
11069
11070 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11071 (grub_find_zpool_from_mount_point): New function prototypes.
11072
11073 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11074 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11075
11076 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11077 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11078 `static' attribute.
11079
11080 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11081 finding zpool from mount point into ...
11082 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11083
11084 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11085 requested path is part of a ZFS pool, use
11086 grub_find_zpool_from_mount_point() to detect its filesystem name,
11087 and generate a path with `/fsname@path' syntax.
11088
8bfe31d8
CW
110892010-08-01 Colin Watson <cjwatson@ubuntu.com>
11090
11091 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
11092 (void) rather than () so that this is a proper prototype.
11093
553df63d
VS
110942010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11095
11096 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
11097
8687cf07
VS
110982010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
11101 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
11102
ea9be8ea
CW
111032010-08-01 Colin Watson <cjwatson@ubuntu.com>
11104
11105 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
11106
6eea041a
CW
111072010-08-01 Colin Watson <cjwatson@ubuntu.com>
11108
11109 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
11110
2cfb45df
CW
111112010-08-01 Colin Watson <cjwatson@ubuntu.com>
11112
11113 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
11114 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
11115 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
11116 disable gfxpayload.
11117 (Shell-like scripting): Add real content.
11118 (Serial terminal): Suggest `terminal_input serial; terminal_output
11119 serial' rather than putting the two commands on separate lines,
11120 since console input will be inoperative after the first command.
11121 (menuentry): Document --class, --users, and --hotkey options.
11122 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
11123 Vladimir Serbinenko).
11124
7decd202
VS
111252010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
111262010-08-01 Colin Watson <cjwatson@ubuntu.com>
11127
11128 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
11129
c882acc0
RM
111302010-08-01 Robert Millan <rmh@gnu.org>
11131
11132 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
11133 (grub_find_zpool_from_mount_point): New function prototypes.
11134
11135 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
11136 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
11137
11138 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
11139 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
11140 `static' attribute.
11141
11142 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
11143 finding zpool from mount point into ...
11144 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
11145
11146 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
11147 requested path is part of a ZFS pool, use
11148 grub_find_zpool_from_mount_point() to detect its filesystem name,
11149 and generate a path with `/fsname@path' syntax.
11150
deb0caa3
RM
111512010-08-01 Robert Millan <rmh@gnu.org>
11152
11153 Prevent accidental use of uninitialized libzfs_handle.
11154
11155 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
11156 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
11157 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
11158
ce04ef47
CW
111592010-08-01 Colin Watson <cjwatson@ubuntu.com>
11160
11161 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
11162 util/grub.d/10_linux.in). Fixes Debian bug #591093.
11163
ebf53056
RM
111642010-08-01 Robert Millan <rmh@gnu.org>
11165
11166 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 11167
3710bb6b
RM
111682010-07-31 Robert Millan <rmh@gnu.org>
11169
11170 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
11171
8072efeb
RM
111722010-07-31 Robert Millan <rmh@gnu.org>
11173
11174 * kern/emu/misc.c: Add missing license header.
11175
3169f4c7
RM
111762010-07-31 Robert Millan <rmh@gnu.org>
11177
11178 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
11179
11180 * include/grub/util/libnvpair.h: Include `<config.h>'.
11181 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
11182 declaring libnvpair prototypes ourselves.
11183 * include/grub/util/libzfs.h: Include `<config.h>'.
11184 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
11185 declaring libzfs prototypes ourselves.
11186
11187 (libzfs_handle): Moved to ...
11188 * include/grub/util/misc.h (libzfs_handle): ... here.
11189 Include `<grub/util/libzfs.h>'.
11190
c9a00aee
RM
111912010-07-30 Robert Millan <rmh@gnu.org>
11192
11193 * include/grub/emu/misc.h: Add missing license header.
11194
a184f9c8
RM
111952010-07-30 Robert Millan <rmh@gnu.org>
11196
11197 Enable `grub-probe -t device' resolution on ZFS.
11198
11199 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
11200 * include/grub/util/libnvpair.h: New file.
11201 * include/grub/util/libzfs.h: New file.
11202
11203 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
11204 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
11205 `<grub/util/libnvpair.h>'.
11206 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
11207
11208 (find_mount_point_from_dir): New static function.
11209 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
11210 function.
11211 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
11212 find_root_device_from_libzfs() before ressorting to find_root_device().
11213
11214 * include/grub/util/misc.h (grub_util_init_libzfs): New function
11215 prototype.
11216 * util/misc.c: Include `<grub/util/libzfs.h>'.
11217 (grub_util_init_libzfs): New function.
11218 [HAVE_LIBZFS] (libzfs_handle): New global variable.
11219 [HAVE_LIBZFS] (fini_libzfs): New static function.
11220 (grub_util_init_libzfs): New function.
11221 * util/grub-probe.c (main): Call grub_util_init_libzfs().
11222
f7790cdd
RM
112232010-07-30 Robert Millan <rmh@gnu.org>
11224
11225 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
11226 (xmalloc, xrealloc, xstrdup, xasprintf): Add
11227 `warn_unused_result' attribute.
11228 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
11229 (grub_xasprintf, grub_xvasprintf): Likewise.
11230 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
11231
0806b63c
RM
112322010-07-29 Robert Millan <rmh@gnu.org>
11233
11234 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
11235 (probe): Handle `PRINT_FS_LABEL'.
11236 (main): Handle `-t fs_label'.
11237
9f841f5c
RM
112382010-07-29 Robert Millan <rmh@gnu.org>
11239
11240 * configure.ac: Remove grub-mkisofs checks.
11241
46371121
VS
112422010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
11243
11244 * util/ieee1275/grub-install.in: Don't use empty grub_device.
11245 Reported by: Lennart Sorensen.
11246
112472010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11248
11249 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
11250 prior to terminal_input/terminal_output separation. It's been over 1.5
11251 years and those versions weren't widely deployed.
11252
a9600892
CW
112532010-07-22 Colin Watson <cjwatson@ubuntu.com>
11254
11255 * disk/raid.c (insert_array): Don't count named arrays when looking
11256 for unused array numbers.
697e053c 11257 Reported and tested by: Michael Guntsche.
a9600892 11258
c03507df
CW
112592010-07-20 Colin Watson <cjwatson@ubuntu.com>
11260
11261 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
11262 implementation of this so that grub-emu links again, with a note
11263 that this should support hotplugging in the future.
11264
b26f1c11
CW
112652010-07-20 Colin Watson <cjwatson@ubuntu.com>
11266
11267 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
11268
efc9d7f1
CW
112692010-07-20 Colin Watson <cjwatson@ubuntu.com>
11270
11271 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
11272 handle on failure.
11273 (grub_loopback_close): Remove empty function.
11274 (grub_loopback_dev): Remove close method.
11275
dd8ff5c9
CW
112762010-07-20 Colin Watson <cjwatson@ubuntu.com>
11277
11278 Disable EFI cursor when the EFI console becomes inactive.
11279
11280 * term/efi/console.c (grub_efi_console_init): New function.
11281 (grub_efi_console_fini): New function.
11282 (grub_console_term_output): Register init and fini methods.
11283
5e3bec67
VS
112842010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11285
11286 * tests/util/grub-shell-tester.in: Remove bashism and declare as
11287 sh script.
11288
afaec079
VS
112892010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11290
11291 * disk/loopback.c (grub_loopback): Replace filename with file.
11292 (delete_loopback): Handle new semantics.
11293 (grub_cmd_loopback): Likewise.
11294 (grub_loopback_iterate): Likewise.
11295 (grub_loopback_close): Likewise.
11296
a6a11f3c
VS
112972010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11298
11299 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
11300 with -p "".
11301 Reported by: Tito Keitel.
11302
64a638b0
VS
113032010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 * docs/grub.texi (Naming convention): Document new naming convention.
11306
ab8ba957
VS
113072010-07-20 Vadim Solomin <vadic052@gmail.com>
113082010-07-20 Colin Watson <cjwatson@ubuntu.com>
11309
11310 Generate device.map in something closer to the old ordering.
11311
11312 * util/deviceiter.c (struct device): New declaration.
11313 (compare_file_names): Rename to ...
11314 (compare_devices): ... this. Sort by kernel name in preference to
11315 the stable by-id name, but keep the latter as a fallback comparison.
11316 Update header comment.
11317 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
11318 of `struct device' rather than of plain file names.
11319
a29d6a4b
TF
113202010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
11321
11322 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
11323 on i386.
11324
39d824e8
VS
113252010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
11326
11327 * commands/acpi.c (setup_common_tables): Use sizeof instead of
11328 hardcoding size.
11329 (setv1table): Likewise.
11330
f058276b
FZ
113312010-07-20 Colin Watson <cjwatson@ubuntu.com>
11332
11333 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
11334 removing the homehost if present.
11335 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
11336 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
11337 removing the homehost if present.
11338 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
11339 if possible.
11340 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
11341
11342 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
11343 parameter. Set its pointer target to 0.
11344 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
11345 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
11346 `data_offset' value from the superblock for 1.x metadata.
11347 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
11348 data on the device.
11349 (insert_array): Record the start sector of data on the device.
11350 (grub_raid_register): Pass start_sector parameters to
11351 grub_raid_list->detect and insert_array.
11352 * include/grub/raid.h (struct grub_raid_array): Add start_sector
11353 member.
11354 (struct grub_raid): Add start_sector parameter to `detect'.
11355
11356 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
11357 __attribute__ ((packed)), leaving a comment.
11358 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
11359 (grub_mdraid_detect_09): ... here and ...
11360 (grub_mdraid_detect_1x): ... here.
11361
113622010-07-20 Peter Henn <peter.henn@web.de>
11363
11364 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
11365 chunk size and disk size, which are already given as sector counts
11366 as distinct from the 0.90 units. Fetch the correct device number
11367 from the role table instead of using the table index.
11368
113692010-07-20 Felix Zielcke <fzielcke@z-51.de>
11370
11371 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
11372 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
11373 (WriteMostly1): New macro.
11374 Set array->name to NULL for metadata format 0.90. Add support for
11375 metadata 1.x. Fix some comments.
11376 * disk/raid.c (): Add support for name based RAID arrays. Fix a
11377 few comments.
11378 * util/getroot.c (grub_util_get_grub_dev): Add support for
11379 /dev/md/name style devices.
11380
4b761da9
CW
113812010-07-20 Colin Watson <cjwatson@ubuntu.com>
11382
11383 * .bzrignore: Ignore 20_linux_xen.
11384
5771289a
CW
113852010-07-17 Colin Watson <cjwatson@ubuntu.com>
11386
11387 * util/import_unicode.py: Remove unnecessary imports.
11388
5dab68df
AN
113892010-07-17 Aleš Nesrsta <starous@volny.cz>
11390
11391 Hotplugging and USB hub support.
11392
11393 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
11394 (grub_ohci): Likewise.
11395 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
11396 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
11397 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
11398 (GRUB_OHCI_CTRL_EDS): Likewise.
11399 (GRUB_OHCI_BULK_EDS): Likewise.
11400 (GRUB_OHCI_TDS): Likewise.
11401 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
11402 (grub_ohci_ed_phys2virt): New function.
11403 (grub_ohci_virt_to_phys): Likewise.
11404 (grub_ohci_td_phys2virt): Likewise.
11405 (grub_ohci_td_virt2phys): Likewise.
11406 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
11407 attachment.
11408 (grub_ohci_find_ed): New function.
11409 (grub_ohci_alloc_td): Likewise.
11410 (grub_ohci_free_td): Likewise.
11411 (grub_ohci_free_tds): Likewise.
11412 (grub_ohci_transfer): Use previously allocated memory.
11413 (grub_ohci_portstatus): Reset status changed bit.
11414 (grub_ohci_detect_dev): Supply status changed.
11415 (grub_ohci_fini_hw): Free memory.
11416 (grub_ohci_restore_hw): Reallocate memory.
11417 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
11418 Reset status change.
11419 (grub_uhci_detect_dev): Supply status_change.
11420 * bus/usb/usb.c (attach_hooks): New var.
11421 (grub_usb_device_attach): New function.
11422 (grub_usb_register_attach_hook_class): Likewise.
11423 (grub_usb_unregister_attach_hook_class): Likewise.
11424 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
11425 (grub_usb_add_hub): Reset connection changed bit.
11426 (attach_root_port): New function.
11427 (grub_usb_root_hub): Likewise.
11428 (poll_nonroot_hub): Likewise.
11429 (grub_usb_poll_devices): Likewise.
11430 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
11431 * disk/usbms.c (grub_usbms_open): Use device hooks.
11432 (grub_usbms_iterate) :Poll devices.
11433 (grub_usbms_finddevs): Split into ...
11434 (grub_usbms_attach): ... this ...
11435 (grub_usbms_attach): ... and this.
11436 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
11437 in detect_dev.
11438 (grub_usb_interface): New fields attached and detach_hook.
11439 (grub_usb_attach_hook_class): New type.
11440 (grub_usb_attach_desc): New struct.
11441 (grub_usb_register_attach_hook_class): New function.
11442 (grub_usb_unregister_attach_hook_class): Likewise.
11443 (grub_usb_poll_devices): Likewise.
11444 (grub_usb_device_attach): Likewise.
11445 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
11446 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
11447
3222efaf
VS
114482010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11449
11450 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
11451 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
11452 delta determination style. Works with most NetBSD partitions too.
11453
139b714a
VS
114542010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11455
11456 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
11457 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
11458
986aad56
VS
114592010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
11460
11461 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
11462
99be513c
AB
114632010-07-14 Anton Blanchard <anton@samba.org>
11464
11465 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
11466 ET_DYN files.
11467
18075f62
GS
114682010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11469
11470 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
11471
8d9a5b15
GS
114722010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
11473
11474 * kern/partition.c (grub_partition_check_containment): New function to
11475 check that a partition is physically contained in a parent. Since
11476 offsets are relative (and non-negative), this reduces to checking that
11477 the partition ends before its parent.
11478 (grub_partition_map_probe): Discard out-of-range sub-partitions.
11479 (grub_partition_iterate): Likewise.
11480 * include/grub/partition.h (grub_partition_map): Slightly more detailed
11481 comments.
11482 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
11483 partitions that start before their parent, and add debug printfs.
11484
19563c25
CW
114852010-07-13 Colin Watson <cjwatson@ubuntu.com>
11486
11487 * Makefile.in (.SUFFIX): Spell correctly, as ...
11488 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
11489 bare module name without `.mod', e.g. `test') tried to invoke a
11490 Modula-2 compiler.
11491
1a1f1e67
CW
114922010-07-13 Colin Watson <cjwatson@ubuntu.com>
11493
11494 * README: Point to the Info manual.
11495
811b0dca
JS
114962010-07-13 Jiro SEKIBA <jir@unicus.jp>
11497
11498 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
11499 2nd superblock position from partition size.
11500
e4f4eafc
CW
115012010-07-10 Colin Watson <cjwatson@ubuntu.com>
11502
11503 * Makefile.in (MAINTAINER_CLEANFILES): Remove
11504 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
11505 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
11506 outputs.
11507
4274c30f
VS
115082010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11509
11510 Restructure SCSI .id handling.
11511 Reported and tested by: Aleš Nesrsta.
11512
11513 * disk/ata.c (grub_atapi_close): Removed. All users updated.
11514 (grub_atapi_dev): Changed .name to "ata". New field .id.
11515 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
11516 (grub_usbms_dev): New field .id.
11517 * disk/scsi.c (grub_scsi_iterate): Generate name.
11518 (grub_scsi_open): Parse name.
11519 * include/grub/scsi.h (grub_make_scsi_id): New function.
11520 (grub_scsi_dev): Change iterate and open to number instead of naming
11521 busses. All users updated.
11522 (grub_scsi): Remove name. Add .bus.
11523
5bc24388
VS
115242010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11525
11526 * commands/help.c (grub_cmd_help): Fix a typo.
11527
249975ba
VS
115282010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11529
11530 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
11531 Reported and tested by: Colin Watson.
11532
3eaac1a1
VS
115332010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
11534
11535 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
11536 in this context.
11537
becce1b1
VS
115382010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
11541
f7bf0918
CW
115422010-07-07 Colin Watson <cjwatson@ubuntu.com>
11543
11544 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
11545 indentation.
11546
0b0f9620
CW
115472010-07-06 Colin Watson <cjwatson@ubuntu.com>
11548
11549 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
11550 and disk/raid6_recover.c.
11551 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11552 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
11553
1e545469
CW
115542010-07-06 Colin Watson <cjwatson@ubuntu.com>
11555
11556 * term/gfxterm.c (repaint_schedulded): Rename to ...
11557 (repaint_scheduled): ... this. Update all callers.
11558 (repaint_was_schedulded): Rename to ...
11559 (repaint_was_scheduled): ... this. Update all callers.
11560
5357687a
CW
115612010-07-06 Colin Watson <cjwatson@ubuntu.com>
11562
11563 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
11564 which we expect to be handled by upper layers.
11565
29d7e783
BC
115662010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
11567
11568 * bus/usb/usbhub.c: #include time.h header.
11569
37582066
CW
115702010-07-06 Colin Watson <cjwatson@ubuntu.com>
11571
11572 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
11573 entry_name also for entries without stat blocks (e.g. ".."); fixes
11574 corruption of the first entry in a directory.
11575
c8c06953
CW
115762010-07-06 Colin Watson <cjwatson@ubuntu.com>
11577
11578 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
11579 after setting gfxterm as the active terminal. GRUB_BACKGROUND
11580 doesn't work otherwise.
11581
e75056f1
CW
115822010-07-05 Colin Watson <cjwatson@ubuntu.com>
11583
11584 * docs/grub.texi (Features): Update list of supported file systems.
11585 (GNU/Linux): Update for GRUB 2.
11586 (Serial terminal): Remove mention of --disable-serial, which was a
11587 GRUB Legacy configure option. Update instructions to use
11588 `terminal_input' and `terminal_output' rather than `terminal'.
11589 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
11590 configuration' and `Installing GRUB using grub-install'.
11591 (Menu entry editor): Update for GRUB 2.
11592 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
11593 Document new -a, -u, and -v options.
11594 (initrd): New section.
11595 (initrd16): New section.
11596 (linux): New section.
11597 (linux16): New section.
11598 (search): The `var' argument to `--set' is optional.
11599 (GRUB only offers a rescue shell): Go into a little more detail on
11600 drive ordering.
11601
5cf69151
CW
116022010-07-05 Colin Watson <cjwatson@ubuntu.com>
11603
11604 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
11605
e3f90044
CW
116062010-07-05 Colin Watson <cjwatson@ubuntu.com>
11607
11608 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
11609 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
11610
38d8f4f3
CW
116112010-07-05 Colin Watson <cjwatson@ubuntu.com>
11612
11613 * util/i386/pc/grub-setup.c (setup): Rename prefix to
11614 install_prefix, in line with install_dos_part and install_bsd_part.
11615 Add new prefix variable, which is copied to install_prefix after
11616 comparing core.img in memory with the one read from disk in the
11617 no-embedding case, and use that rather than overwriting
11618 install_prefix immediately when installing to a partition.
11619 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
11620 Bicakci.
11621
57ebd41e
GS
116222010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11623
11624 * configure.ac: Avoid == in test command, it's not portable.
11625 * util/grub.d/30_os-prober.in: Likewise.
11626
cb7f64b2
CW
116272010-07-04 Colin Watson <cjwatson@ubuntu.com>
11628
11629 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
11630
6b654bb0
GS
116312010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
11632
11633 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
11634 multiple (top-level) partmaps.
11635
72a2026d
VS
116362010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11637
11638 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 11639 Reported by: Tino Keitel.
72a2026d 11640
df3eb88f
VS
116412010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 Bidi and diacritics support.
11644
11645 * Makefile.in (widthspec.bin): New target.
11646 (widthspec.h): Likewise.
11647 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
11648 * autogen.sh: Generate unidata.c.
11649 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
11650 * commands/ls.c (grub_ls_list_devices): Likewise.
11651 (grub_ls_list_files): Likewise.
11652 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
11653 (grub_mini_cmd_lsmod): Likewise.
11654 * commands/read.c: Likewise.
11655 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
11656 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
11657 * lib/arg.c (grub_arg_show_help): Likewise.
11658 * lib/crypto.c (grub_password_get): Likewise.
11659 * normal/auth.c (grub_username_get): Likewise.
11660 * normal/misc.c (grub_normal_print_device_info): Likewise.
11661 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
11662 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
11663 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
11664 (normal/charset.c_DEPENDENCIES): New variable.
11665 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
11666 (pkglib_MODULES): Remove charset.mod.
11667 (charset_mod_SOURCES): Removed.
11668 (charset_mod_CFLAGS): Likewise.
11669 (charset_mod_LDFLAGS): Likewise.
11670 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
11671 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
11672 and term/tparm.c.
11673 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11674 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
11675 (kernel_img_HEADERS): Add terminfo.h.
11676 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
11677 Fill ->font. Reverse ascii bitmaps.
11678 (grub_font_get_xheight): New function.
11679 * font/font.c (grub_font_get_string_width): Moved from here ...
11680 * gfxmenu/font.c (grub_font_get_string_width): ... here.
11681 * font/font.c (grub_font_draw_string): Moved from here ...
11682 * gfxmenu/font.c (grub_font_draw_string): ... here.
11683 * font/font.c (grub_font_dup_glyph): New function.
11684 (grub_font_blit_glyph): Likewise.
11685 (grub_font_blit_glyph_mirror): Likewise.
11686 (blit_comb): Likewise.
11687 (grub_font_construct_dry_run): Likewise.
11688 (grub_font_get_constructed_device_width): Likewise.
11689 (grub_font_construct_glyph): Likewise.
11690 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
11691 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
11692 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
11693 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
11694 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
11695 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
11696 (grub_font_get_xheight): New proto.
11697 (grub_font_get_constructed_device_width): Likewise.
11698 (grub_font_construct_glyph): Likewise.
11699 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
11700 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
11701 * include/grub/font.h (grub_font_draw_string): Moved from here ...
11702 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
11703 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
11704 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
11705 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
11706 (grub_console_getcharwidth): Likewise.
11707 * include/grub/misc.h (grub_xputs): New proto.
11708 (grub_puts): Inlined.
11709 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
11710 (grub_normal_get_line_counter): Removed.
11711 (grub_install_newline_hook): Likewise.
11712 (grub_normal_get_char_counter): New proto.
11713 (grub_normal_reset_more): Likewise.
11714 (grub_xputs_normal): Likewise.
11715 * include/grub/powerpc/ieee1275/console.h: Removed.
11716 * include/grub/sparc64/ieee1275/console.h: Likewise.
11717 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
11718 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
11719 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
11720 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
11721 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
11722 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
11723 (grub_term_input): Pass reference to self. All users updated.
11724 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
11725 Pass reference to self. New fields normal_color, highlight_color and
11726 data. All users updated.
11727 (grub_putchar): Removed.
11728 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
11729 (grub_unicode_estimate_width): New function.
11730 (grub_term_getcharwidth): Add defaults.
11731 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
11732 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
11733 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
11734 (grub_cls): Remove EXPORT_FUNC.
11735 (grub_setcolorstate): Inline.
11736 (grub_newline_hook): Removed.
11737 * include/grub/terminfo.h: Rewritten. All users updated.
11738 * include/grub/unicode.h: New file.
11739 * include/grub/video.h (grub_video_signed_rect): New type.
11740 * kern/emu/console.c (grub_console_highlight_color): Removed.
11741 (grub_console_normal_color): Likewise.
11742 (grub_console_standard_color): Made static.
11743 (grub_ncurses_putchar): Remove mapping.
11744 (grub_ncurses_getcharwidth): Removed.
11745 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11746 (grub_ncurses_setcolor): Removed.
11747 (grub_ncurses_getcolor): Likewise.
11748 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
11749 (grub_console_putchar): ... this.
11750 (grub_console_putchar): Handle argument difference.
11751 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
11752 console_init_early and console_init_lately.
11753 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
11754 * kern/misc.c (grub_puts): Removed.
11755 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
11756 (grub_vsnprintf_real): Remove str = NULL support.
11757 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
11758 * normal/charset.c (grub_utf8_to_ucs4): ... here.
11759 * kern/term.c (grub_putcode): Renamed to ...
11760 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
11761 (grub_putchar): Removed.
11762 (grub_xputs_dumb): New function.
11763 (grub_xputs): New variable.
11764 * lib/charset.c: Move from here ...
11765 * normal/charset.c: ... to here.
11766 (grub_ucs4_to_utf8): New function.
11767 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
11768 (join_types): New variable.
11769 (unpack_join): New function.
11770 (bidi_types): New variable.
11771 (unpack_bidi): New function.
11772 (get_bidi_type): Likewise.
11773 (get_join_type): Likewise.
11774 (is_mirrored): Likewise.
11775 (grub_unicode_get_comb_type): Likewise.
11776 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
11777 (is_type_after): Likewise.
11778 (grub_unicode_aglomerate_comb): Likewise.
11779 (bidi_line_wrap): Likewise.
11780 (grub_bidi_line_logical_to_visual): Likewise.
11781 (grub_bidi_logical_to_visual): Likewise.
11782 (grub_unicode_mirror_code): Likewise.
11783 (grub_unicode_shape_code): Likewise.
11784 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
11785 Don't use grub_putchar.
11786 * normal/main.c (grub_normal_init_page): Use grub_putcode.
11787 (grub_normal_reader_init): Likewise.
11788 (grub_xputs_saved): New variable.
11789 (GRUB_MOD_INIT): Set grub_xputs.
11790 (GRUB_MOD_FINI): Restore grub_xputs.
11791 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
11792 (menu_init): Avoid printing gfxmenu error.
11793 (show_menu): Use grub_normal_get_char_counter.
11794 * normal/menu_entry.c (update_screen): Fix out-of-array.
11795 (complete): Avoid NULL dereferencing.
11796 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
11797 * normal/menu_text.c (print_spaces): Removed.
11798 (grub_print_ucs4): Likewise.
11799 (grub_print_message_indented): Use grub_print_ucs4.
11800 (print_message): Use grub_putcode.
11801 (print_entry): Hanlde diacritics.
11802 * normal/term.c (term_state): New type.
11803 (grub_more_lines): Removed.
11804 (term_states): New variable.
11805 (grub_normal_line_counter): Renamed to ..
11806 (grub_normal_char_counter): ...this. All users updated.
11807 (grub_normal_get_line_counter): Renamed to ...
11808 (grub_normal_get_char_counter): ... this.
11809 (grub_normal_reset_more): New function.
11810 (process_newline): Removed.
11811 (print_more): New function.
11812 (grub_install_newline_hook): Removed.
11813 (map_code): New function.
11814 (grub_puts_terminal): Use grub_print_ucs4.
11815 (putglyph): New function.
11816 (putcode_real): Likewise.
11817 (grub_putcode): Use putcode_real.
11818 (get_maxwidth): New function.
11819 (get_startwidth): Likewise.
11820 (print_ucs4_terminal): Likewise.
11821 (find_term_state): Likewise.
11822 (put_glyphs_terminal): Likewise.
11823 (print_backlog): Likewise.
11824 (print_ucs4_real): Likewise.
11825 (grub_print_ucs4): Likewise.
11826 (grub_xputs_normal): Likewise.
11827 * term/efi/console.c (grub_console_putchar): Output diacritics.
11828 (grub_console_getcharwidth): Removed.
11829 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11830 * term/gfxterm.c (clear_char): Free chars.
11831 (scroll_up): Avoid leaking memory.
11832 (grub_gfxterm_putchar): Support diacritics.
11833 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
11834 * term/i386/pc/console.c (grub_console_term_output): Declare as
11835 GRUB_TERM_CODE_TYPE_VGA.
11836 * term/i386/pc/vga.c (grub_vga_term): Declare as
11837 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
11838 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
11839 GRUB_TERM_CODE_TYPE_VGA.
11840 * term/i386/vga_common.c (map_char): Removed.
11841 (grub_console_putchar): Likewise.
11842 (grub_console_getcharwidth): Likewise.
11843 * term/ieee1275/ofconsole.c: Simplify using terminfo.
11844 (colors): Reordered to match terminfo.
11845 (grub_ofconsole_normal_color): Removed.
11846 (grub_ofconsole_writeesc): Likewise.
11847 (grub_ofconsole_highlight_color): Likewise.
11848 (grub_ofconsole_getcharwidth): Likewise.
11849 (grub_ofconsole_setcolorstate): Likewise.
11850 (grub_ofconsole_setcolor): Likewise.
11851 (grub_ofconsole_getcolor): Likewise.
11852 (grub_ofconsole_readkey): Renamed to ...
11853 (readkey): ... this. Remove escape sequence handling. Return -1 on no
11854 key.
11855 (grub_ofconsole_checkkey): Removed.
11856 (grub_ofconsole_getkey): Likewise.
11857 (grub_ofconsole_getxy): Likewise.
11858 (grub_ofconsole_gotoxy): Likewise.
11859 (grub_ofconsole_cls): Likewise.
11860 (grub_ofconsole_refresh): Likewise.
11861 (grub_ofconsole_terminfo_input): New struct.
11862 (grub_ofconsole_terminfo_output): Likewise.
11863 (grub_ofconsole_term_input): Use terminfo.
11864 (grub_ofconsole_term_output): Likewise.
11865 (grub_console_init): Split into ...
11866 (grub_console_init_early): ...this and ...
11867 (grub_console_init_lately): ...this. Use terminfo.
11868 (grub_ofconsole_putchar): Renamed to ...
11869 (put): ... this. Remove mapping.
11870 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
11871 * term/serial.c: Simplify using terminfo.
11872 (xpos): Removed.
11873 (ypos): Likewise.
11874 (keep_track): Likewise.
11875 (registered): Likewise.
11876 (input_buf): Likewise.
11877 (npending): Likewise.
11878 (serial_translate_key_sequence): Likewise.
11879 (fill_input_buf): Likewise.
11880 (grub_serial_checkkey): Likewise.
11881 (grub_serial_getkey): Likewise.
11882 (grub_serial_getxy): Likewise.
11883 (grub_serial_gotoxy): Likewise.
11884 (grub_serial_putchar): Likewise.
11885 (grub_serial_cls): Likewise.
11886 (grub_serial_setcolorstate): Likewise.
11887 (grub_serial_setcursor): Likewise.
11888 (serial_hw_init): Use serial_hw_fetch.
11889 (grub_serial_terminfo_input): New variable.
11890 (grub_serial_terminfo_output): Likewise.
11891 (grub_serial_term_input): Use terminfo.
11892 (grub_serial_term_output): Likewise.
11893 * term/terminfo.c (putstr): Use put.
11894 (grub_terminfo_all_free): New function
11895 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
11896 (grub_terminfo_output_register): New function.
11897 (grub_terminfo_output_unregister): Likewise.
11898 (grub_terminfo_getxy): Likewise.
11899 (grub_terminfo_readkey): Likewise.
11900 (grub_terminfo_checkkey): Likewise.
11901 (grub_terminfo_getkey): Likewise.
11902 (grub_terminfo_input_init): Likewise.
11903 (print_terminfo): Likewise.
11904 (grub_cmd_terminfo): Handle encoding.
11905 (grub_terminfo_gotoxy): Track position.
11906 (grub_terminfo_cls): Likewise.
11907 (grub_terminfo_putchar): Likewise.
11908 (grub_terminfo_setcolorstate): Handle colors
11909 (grub_terminfo_cursor_on): This ...
11910 (grub_terminfo_cursor_off): ... and this merged into ...
11911 (grub_terminfo_setcursor): ... this.
11912 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
11913 * unicode/ArabicShaping.txt: New file (imported from Unicode).
11914 * unicode/BidiMirroring.txt: Likewise.
11915 * unicode/UnicodeData.txt: Likewise.
11916 * unicode/COPYING: Likewise.
11917 * util/grub-editenv.c (grub_putchar): Removed.
11918 (grub_xputs_real): New function.
11919 (grub_xputs): New variable.
11920 * util/grub-fstest.c (grub_putchar): Removed.
11921 (grub_xputs_real): New function.
11922 (grub_xputs): New variable.
11923 * util/grub-mkdevicemap.c (grub_putchar): Removed.
11924 (grub_xputs_real): New function.
11925 (grub_xputs): New variable.
11926 * util/grub-probe.c (grub_putchar): Removed.
11927 (grub_xputs_real): New function.
11928 (grub_xputs): New variable.
11929 * util/grub-script-check.c (grub_putchar): Removed.
11930 (grub_xputs_real): New function.
11931 (grub_xputs): New variable.
11932 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
11933 (grub_xputs_real): New function.
11934 (grub_xputs): New variable.
11935 * util/import_unicode.py: New file.
11936 * util/grub-mkfont.c (ft_errmsgs): New array.
11937 (grub_glyph_info): Make bitmap a pointer.
11938 (file_formats): New type WIDTH_SPEC.
11939 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
11940 (options): Add width-spec.
11941 (help): Likewise.
11942 (add_char): Renamed to ...
11943 (add_glyph): ... this.
11944 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
11945 (glyph_replace): New type.
11946 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
11947 (add_char): New function.
11948 (add_subst): Likewise.
11949 (process_cursive): Likewise.
11950 (add_font): Handle GSUB.
11951 (write_font_width_spec): New function.
11952 (main): Sort glyphs.
11953 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
11954 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
11955 * kern/term.c (grub_cls): Moved from here...
11956 * normal/term.c (grub_cls): ... here.
11957
50f0bcda
CW
119582010-07-02 Colin Watson <cjwatson@ubuntu.com>
11959
11960 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
11961 suitable for using within the format argument of printf when
11962 converting grub_size_t.
11963 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
11964 "x" to convert grub_size_t arguments.
11965
40372103
VS
119662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11967
11968 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
11969 too long captions.
11970 (list_get_minimal_size): Take selection box into account.
11971
942a10c7
VS
119722010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
11973
11974 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
11975 NULL font.
11976
2bdb2892
CW
119772010-07-02 Colin Watson <cjwatson@ubuntu.com>
11978
11979 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
11980 devices when iterating over /dev/disk/by-id; they will be handled
11981 later if appropriate, which they aren't always (e.g. LVM).
11982
e03ed6c1
CW
119832010-07-02 Colin Watson <cjwatson@ubuntu.com>
11984
11985 * include/grub/misc.h (grub_reboot): Declare as noreturn.
11986 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
11987 fails.
11988 (grub_halt): Likewise.
11989 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
11990 reset-all fails.
11991 (grub_halt): Don't return, even if all of shut-down, power-off, and
11992 poweroff fail.
11993
47695765
CW
119942010-07-02 Colin Watson <cjwatson@ubuntu.com>
11995
11996 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
11997 arguments, not three.
11998
507736c8
CW
119992010-07-02 Colin Watson <cjwatson@ubuntu.com>
12000
12001 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
12002 * util/grub.d/10_linux.in: Use it to check for LVM, so that
12003 LVM-on-RAID is handled correctly.
12004
e3c8cd37
CW
120052010-07-02 Colin Watson <cjwatson@ubuntu.com>
12006
12007 * docs/grub.texi (Changes from GRUB Legacy): New section.
12008 (Future): Fix typo.
12009
8d4a2fec
CW
120102010-07-02 Colin Watson <cjwatson@ubuntu.com>
12011
12012 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
12013 grub.d/README accidentally ends up executable for one reason or
12014 another. Ignore it.
12015
1c4827be
VS
120162010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12017
12018 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
12019 (gpt_partition_map_iterate): Support non-512B sectors.
12020
d9a0c941
VS
120212010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12022
12023 * kern/efi/init.c (grub_efi_init): Disable watchdog.
12024 Tested by: Seth Goldberg.
12025
48f27e87
VS
120262010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
12027
12028 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
12029 Properly align mbi.
12030 Reported by: Seth Goldberg.
12031
b0c4f956
VS
120322010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12033
12034 * util/grub-mkrescue.in: Avoid module duplication.
12035
105a2e8c
SF
120362010-07-01 Sean Finney <seanius@seanius.net>
12037
12038 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
12039
5944958c
SF
120402010-07-01 Sean Finney <seanius@seanius.net>
12041
12042 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
12043
120442010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12045
12046 * disk/lvm.c (grub_lvm_checkvalue): New function.
12047 (grub_lvm_check_flag): Likewise.
12048
b79889ba
RM
120492010-07-01 Robert Millan <rmh@gnu.org>
12050
12051 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
12052 Support 'p' as partition separator on kernel of FreeBSD (used
12053 with GPT labels).
12054 (grub_util_biosdisk_get_grub_dev): Likewise.
12055
ec1d04f1
VS
120562010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
12057
12058 Yeeloong firmware port.
12059
12060 * boot/mips/yeeloong/fwstart.S: New file.
12061 * bus/cs5536.c (gpiodump): New const.
12062 (set_io_space): New function.
12063 (set_iod): Likewise.
12064 (set_p2d): Likewise.
12065 (grub_cs5536_init_geode): Likewise.
12066 * commands/mips/yeeloong/lsspd.c: New file.
12067 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
12068 (serial_mod_SOURCES): New variable.
12069 (serial_mod_CFLAGS): Likewise.
12070 (serial_mod_LDFLAGS): Likewise.
12071 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
12072 term/terminfo.c and term/tparm.c.
12073 (pkglib_IMAGES): Add fwstart.img.
12074 (fwstart_img_SOURCES): New variable.
12075 (fwstart_img_CFLAGS): Likewise.
12076 (fwstart_img_ASFLAGS): Likewise.
12077 (fwstart_img_LDFLAGS): Likewise.
12078 (fwstart_img_FORMAT): Likewise.
12079 (pkglib_MODULES): Add lsspd.mod.
12080 (lsspd_mod_SOURCES): New variable.
12081 (lsspd_mod_CFLAGS): Likewise.
12082 (lsspd_mod_LDFLAGS): Likewise.
12083 (pkglib_MODULES): Add halt.mod.
12084 (halt_mod_SOURCES): New variable.
12085 (halt_mod_CFLAGS): Likewise.
12086 (halt_mod_LDFLAGS): Likewise.
12087 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
12088 (serial_mod_SOURCES): Removed.
12089 (serial_mod_CFLAGS): Likewise.
12090 (serial_mod_LDFLAGS): Likewise.
12091 * disk/ata.c (check_device): New function.
12092 (grub_ata_device_initialize): Use check_device.
12093 (grub_ata_iterate): Recheck devices.
12094 (grub_ata_open): Likewise.
12095 (grub_atapi_iterate): Likewise.
12096 (grub_atapi_open): Likewise.
12097 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
12098 (GRUB_ATA_CH1_PORT1): Likewise.
12099 (GRUB_ATA_CH0_PORT2): Likewise.
12100 (GRUB_ATA_CH1_PORT2): Likewise.
12101 * include/grub/mips/loongson.h: New file.
12102 * include/grub/mips/yeeloong/ec.h: Likewise.
12103 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
12104 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
12105 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
12106 * include/grub/misc.h (grub_halt): Declare as noreturn.
12107 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
12108 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
12109 (UART_ENABLE_FIFO_TRIGGER1): New definition.
12110 (UART_ENABLE_DTRRTS): Likewise.
12111 (UART_ENABLE_MODEM): Removed.
12112 (UART_ENABLE_OUT2): New const.
12113 * include/grub/term.h (grub_term_register_input_active): New function.
12114 (grub_term_register_output_active): Likewise.
12115 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
12116 argument.
12117 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
12118 (init_pci): New function.
12119 (grub_machine_init): Execute platform init when firmware. Init serial.
12120 (grub_halt): Implement.
12121 (grub_exit): Likewise.
12122 (grub_reboot): Likewise.
12123 * term/serial.c (serial_hw_init): Update macros.
12124 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
12125 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
12126 (image_targets): New target mipsel-yeeloong-flash.
12127 (generate_image): Support IMAGE_YEELOONG_FLASH.
12128 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
12129 (grub_video_sm712_setup): Init card.
12130 (grub_video_sm712_set_palette): Removed.
12131 * video/sm712_init.c: New file.
12132
ff4a70d2
CW
121332010-06-30 Colin Watson <cjwatson@ubuntu.com>
12134
12135 * Makefile.in (install-local): Temporarily prepend $(builddir) to
12136 PATH when running help2man and then run it on the unadorned
12137 executable names, rather than passing $(builddir)/* paths to
12138 help2man. This avoids the build directory ending up in generated
12139 manual pages.
12140
1246efeb
CW
121412010-06-29 Colin Watson <cjwatson@ubuntu.com>
12142
12143 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
12144 to avoid accidents when debugging with 'sh -x'.
12145 * util/grub-mkrescue.in: Likewise.
12146 * util/grub.d/00_header.in: Likewise.
12147 * util/grub.d/10_hurd.in: Likewise.
12148 * util/grub.d/10_kfreebsd.in: Likewise.
12149 * util/grub.d/10_linux.in: Likewise.
12150 * util/grub.d/10_netbsd.in: Likewise.
12151 * util/grub.d/10_windows.in: Likewise.
12152 * util/grub.d/20_linux_xen.in: Likewise.
12153 * util/grub.d/30_os-prober.in: Likewise.
12154 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12155
1ba9b889
CW
121562010-06-29 Colin Watson <cjwatson@ubuntu.com>
12157
12158 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
12159 last character in the buffer.
12160 Reported by: Vladimir Serbinenko.
12161
dccaf99d
RM
121622010-06-29 Robert Millan <rmh@gnu.org>
12163
12164 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
12165 (Command-line and menu entry commands): Document `badram' command.
12166
d500ed12
RM
121672010-06-28 Robert Millan <rmh@gnu.org>
12168
12169 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
12170 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
12171 command using ${GRUB_BADRAM} as parameter.
12172
20bc84a6
CW
121732010-06-28 Colin Watson <cjwatson@ubuntu.com>
12174
12175 * docs/grub.texi (Device map): New section.
12176 (Themes): New section (stub).
12177 * Makefile.in (docs/grub.info): The info documentation now builds
12178 without errors. Make sure it stays that way.
12179
4045dee1
VS
121802010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 Use normal parser for menu entries.
12183 Reported by: Thomas Frauendorfer
12184
12185 * include/grub/parser.h (grub_parser_execute): Don't export.
12186 * normal/menu.c (grub_menu_execute_entry_real): New function.
12187 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
12188
bca58c7b
CW
121892010-06-28 Colin Watson <cjwatson@ubuntu.com>
12190
12191 * docs/grub.texi (Embedded configuration): New section (replacing
12192 old "Preset Menu" stub).
12193 (Images): New section.
12194 (configfile): Note that any menu entries defined in `file' are shown
12195 immediately.
12196
dec53e63
JT
121972010-06-28 Josh Triplett <josh@joshtriplett.org>
12198
12199 * mmap/i386/pc/mmap_helper.S: Set CF on return.
12200
c06e40f7
CW
122012010-06-28 Colin Watson <cjwatson@ubuntu.com>
12202
12203 * util/grub-install.in: Add --debug-image= option.
12204
cb88052b
CW
122052010-06-28 Colin Watson <cjwatson@ubuntu.com>
12206
12207 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
12208 possible on Linux.
12209
12210 * util/deviceiter.c (check_device): Rename to ...
12211 (check_device_readable_unique): ... this. Update all callers.
12212 Maintain and check a list of which devices (by canonicalized name)
12213 have already been seen.
12214 (clear_seen_devices): New function.
12215 (compare_file_names) [__linux__]: New function.
12216 (grub_util_iterate_devices): Clear the list of seen devices on exit
12217 and (just in case) on entry.
12218 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
12219 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
12220 seen-devices list, superseded by general code in check_device.
12221
bbe34652
CW
122222010-06-28 Colin Watson <cjwatson@ubuntu.com>
12223
12224 * commands/cat.c (options): New variable.
12225 (grub_cmd_cat): Parse options. If the --dos option is given, print
12226 DOS-style "\r\n" line endings as simple newlines (Debian bug
12227 #586358).
12228 (GRUB_MOD_INIT): Use extcmd.
12229 (GRUB_MOD_FINI): Likewise.
12230 * docs/grub.texi (cat): Document --dos.
12231
412e09f3
VS
122322010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
12233
12234 XEN with Linux grub-mkconfig support.
12235
12236 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
12237 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
12238 GRUB_CMDLINE_XEN_DEFAULT.
12239 * util/grub.d/20_linux_xen.in: New file.
12240
53f3ef38 122412010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
12242
12243 Initialise VGA video on qemu ourselves.
12244
12245 * boot/i386/qemu/boot.S: Don't call 0xc000.
12246 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
12247 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
12248 (kernel_img_HEADERS): Add pci.h.
12249 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
12250 * configure.ac: Force unifont on qemu and yeeloong.
12251 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
12252 (grub_vga_palette_write): Use correct register.
12253 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
12254 Call grub_qemu_init_cirrus.
12255 * kern/i386/qemu/init.c: New file.
12256 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
12257
12258 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
12259
c75be4fb
PR
122602010-06-26 Pavel Roskin <proski@gnu.org>
12261
12262 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
12263 13.
12264
d8034603
CW
122652010-06-26 Colin Watson <cjwatson@ubuntu.com>
12266
12267 * docs/grub.texi (Simple configuration): Explain that
12268 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
12269 set to `true' to disable their respective recovery entries, not
12270 merely set.
12271
3fa06487
CW
122722010-06-26 Colin Watson <cjwatson@ubuntu.com>
12273
12274 Make the `source' command slightly faster.
12275
12276 * normal/main.c (grub_normal_execute): Don't re-read list files when
12277 nested.
12278
e9b29642
CW
122792010-06-23 Colin Watson <cjwatson@ubuntu.com>
12280
12281 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
12282 field position and mask size to red fields from mode_info, not
12283 green.
12284 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
12285 Remove redundant tag->common.framebuffer_type assignment.
12286 Reported by: Seth Goldberg.
12287
e726542f
CW
122882010-06-23 Colin Watson <cjwatson@ubuntu.com>
12289
12290 Sync up other versions of the Linux loader with Robert Millan's
12291 change of 2010-01-09, "Make loader output a bit more user-friendly".
12292
12293 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
12294 grub_dprintf().
12295 (grub_cmd_linux): Likewise.
12296 (grub_cmd_initrd): Likewise.
12297 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
12298 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
12299
d6e98a17
CW
123002010-06-21 Colin Watson <cjwatson@ubuntu.com>
12301
12302 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
12303 larger than MEMORY_MAP_SIZE.
12304
14d3f08e
BC
123052010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
12306
12307 Fix parallel build.
12308
12309 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
12310 dependency.
12311 * script/parser.y: #include grub_script.tab.h header.
12312
4f9613a3
VS
123132010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 Support >3GiB and <16MiB RAM in i386-qemu.
12316
12317 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
12318 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
12319 (grub_lower_mem): Removed.
12320 (grub_upper_mem): Likewise.
12321 (mem_size): Made static.
12322 (above_4g): New variable.
12323 (grub_machine_mmap_init): Detect small mem_size and above_4g.
12324 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
12325 support.
12326
05e51879
VS
123272010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12328
12329 Cirrus 5446 and Bochs video cards support.
12330
12331 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
12332 video_bochs.mod
12333 (video_cirrus_mod_SOURCES): New variable.
12334 (video_cirrus_mod_CFLAGS): Likewise.
12335 (video_cirrus_mod_LDFLAGS): Likewise.
12336 (video_bochs_mod_SOURCES): Likewise.
12337 (video_bochs_mod_CFLAGS): Likewise.
12338 (video_bochs_mod_LDFLAGS): Likewise.
12339 * include/grub/vga.h: New file.
12340 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
12341 (grub_video_fb_set_page_t): New type.
12342 (grub_video_fb_setup): New prototype.
12343 (grub_video_fb_swap_buffers): Likewise.
12344 (grub_video_fb_get_info_and_fini): Likewise.
12345 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
12346 (CRTC_DATA_PORT): Likewise.
12347 (CRTC_CURSOR): Likewise.
12348 (CRTC_CURSOR_ADDR_HIGH): Likewise.
12349 (CRTC_CURSOR_ADDR_LOW): Likewise.
12350 (CRTC_CURSOR_DISABLE): Likewise.
12351 (update_cursor): Use grub_vga_cr_write.
12352 (grub_vga_text_setcursor): Likewise.
12353 * video/bochs.c: New file.
12354 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
12355 (palette): Likewise.
12356 (palette_size): Likewise.
12357 (framebuffer): New variable.
12358 (grub_video_fb_init): Use 'framebuffer'.
12359 (grub_video_fb_fini): Likewise.
12360 (grub_video_fb_get_info): Likewise.
12361 (grub_video_fb_get_palette): Likewise.
12362 (grub_video_fb_set_palette): Likewise.
12363 (grub_video_fb_set_viewport): Likewise.
12364 (grub_video_fb_get_viewport): Likewise.
12365 (grub_video_fb_map_color): Likewise.
12366 (grub_video_fb_map_rgb): Likewise.
12367 (grub_video_fb_map_rgba): Likewise.
12368 (grub_video_fb_unmap_color): Likewise.
12369 (grub_video_fb_unmap_color_int): Likewise.
12370 (grub_video_fb_fill_rect): Likewise.
12371 (grub_video_fb_blit_bitmap): Likewise.
12372 (grub_video_fb_blit_render_target): Likewise.
12373 (grub_video_fb_scroll): Likewise.
12374 (grub_video_fb_create_render_target): Likewise.
12375 (grub_video_fb_doublebuf_blit_init): Likewise.
12376 (grub_video_fb_set_active_render_target): Handle doublebuffering.
12377 (doublebuf_pageflipping_update_screen): New function.
12378 (doublebuf_pageflipping_init): Likewise.
12379 (grub_video_fb_setup): Likewise.
12380 (grub_video_fb_swap_buffers): Likewise.
12381 (grub_video_fb_get_info_and_fini): Likewise.
12382 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
12383 All users updated.
12384 (doublebuf_pageflipping_commit): Restructured into ...
12385 (doublebuf_pageflipping_set_page): ... this.
12386 (doublebuf_pageflipping_update_screen): Removed.
12387 (doublebuf_pageflipping_init): Likewise.
12388 (double_buffering_init): Likewise.
12389 (grub_video_vbe_setup): Use grub_video_fb_setup.
12390 (grub_video_vbe_swap_buffers): Removed.
12391 (grub_video_vbe_set_active_render_target): Likewise.
12392 (grub_video_vbe_get_active_render_target): Likewise.
12393 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
12394 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
12395 grub_video_fb_set_active_render_target and
12396 grub_video_fb_get_active_render_target.
12397 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
12398 (SEQUENCER_DATA_PORT): Likewise.
12399 (MAP_MASK_REGISTER): Likewise.
12400 (CRTC_ADDR_PORT): Likewise.
12401 (CRTC_DATA_PORT): Likewise.
12402 (START_ADDR_HIGH_REGISTER): Likewise.
12403 (START_ADDR_LOW_REGISTER): Likewise.
12404 (GRAPHICS_ADDR_PORT): Likewise.
12405 (GRAPHICS_DATA_PORT): Likewise.
12406 (READ_MAP_REGISTER): Likewise.
12407 (INPUT_STATUS1_REGISTER): Likewise.
12408 (INPUT_STATUS1_VERTR_BIT): Likewise.
12409 (get_map_mask): Use grub_vga_sr_read.
12410 (set_map_mask): Use grub_vga_sr_write.
12411 (set_read_map): Use grub_vga_gr_write.
12412 (set_start_address): Use grub_vga_cr_write.
12413 * video/sm712.c (framebuffer): Remove leftover fields.
12414
4321c64a
CW
124152010-06-20 Colin Watson <cjwatson@ubuntu.com>
12416
12417 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
12418 setting GRUB_VIDEO_BACKEND. Make it available as a user override
12419 instead. Replace the gfxterm backend check with a check that
12420 ${GRUB_PREFIX}/video.lst is non-empty.
12421 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
12422 again.
12423 (load_video): New generated function. Call it before loading
12424 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
12425 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12426 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
12427 * docs/grub.texi (Simple configuration): Document
12428 GRUB_VIDEO_BACKEND.
12429
124302010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Use video functions in linux and xnu loaders.
12433
12434 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
12435 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
12436 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
12437 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
12438 loader/i386/pc/linux.c.
12439 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
12440 (find_line_len): Removed.
12441 (find_framebuf): Likewise.
12442 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
12443 * loader/i386/efi/xnu.c: Removed.
12444 * loader/i386/pc/xnu.c: Moved from here...
12445 * loader/i386/xnu.c: ...here.
12446
12447 Enable priorities in video drivers.
12448
12449 * include/grub/video.h (grub_video_adapter_prio_t): New type.
12450 (grub_video_adapter): New field prio.
12451 (grub_video_register): Respect prio when inserting.
12452 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
12453 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
12454 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
12455 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
12456 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
12457 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
12458 * video/sm712.c (grub_video_sm712_adapter): Likewise.
12459
12460 Fix SDL driver ID.
12461
12462 * include/grub/video.h (grub_video_driver_id_t): New value
12463 GRUB_VIDEO_DRIVER_SDL.
12464 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
12465
7d24e434
CW
124662010-06-17 Colin Watson <cjwatson@ubuntu.com>
12467
12468 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
12469 argument to printf.
12470 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12471
c88a83f6
CW
124722010-06-17 Colin Watson <cjwatson@ubuntu.com>
12473
12474 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
12475 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12476
094dfb69
CW
124772010-06-17 Colin Watson <cjwatson@ubuntu.com>
12478
12479 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
12480 directly, and recommend grub-install instead.
12481 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
12482
2164da6b
CW
124832010-06-17 Colin Watson <cjwatson@ubuntu.com>
12484
12485 Fix i386-pc prefix handling with nested partitions (Debian bug
12486 #585068). Note that the case where the core image is booted using
12487 multiboot and relocated from its original location still requires
12488 more work.
12489
12490 * kern/i386/pc/init.c (make_install_device): If the prefix starts
12491 with "(,", fill the boot drive in between those two characters, but
12492 expect that a full partition specification including partition map
12493 names will follow.
12494 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
12495 specified, write a prefix without the drive name but including a
12496 full partition specification.
12497
044e2e60
CW
124982010-06-16 Colin Watson <cjwatson@ubuntu.com>
12499
12500 * util/grub-mkconfig.in: Ignore non-option arguments, for
12501 compatibility with older versions (before 2010-06-12) which did the
12502 same. In particular, this makes it easier to ship an update-grub
12503 wrapper which is compatible with that used with GRUB Legacy (Debian
12504 bug #586056).
12505
5591324f
GS
125062010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12507
12508 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
12509 for manual page generation.
12510
662e24d5
GS
125112010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
12512
12513 * po/POTFILES: Remove leftover commands/handler.c.
12514
8d70754e
CW
125152010-06-14 Colin Watson <cjwatson@ubuntu.com>
12516
12517 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
12518 left this script non-functional.
12519
41160e2e
CW
125202010-06-14 Colin Watson <cjwatson@ubuntu.com>
12521
12522 * docs/man/grub-emu.h2m: New file.
12523
b5309cc1
CW
125242010-06-13 Colin Watson <cjwatson@ubuntu.com>
12525
12526 * docs/grub.texi (Commands): Document reduced command set in rescue
12527 mode.
12528 (cpuid): New section.
12529
fcb2d090
GS
125302010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
12531
12532 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
12533 new partition naming style.
12534 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
12535
96e5c556
BC
125362010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
12537
12538 Add "-o grub.iso" like cmdline options support.
12539
12540 * util/grub-install.in: Improve cmdline option parsing.
12541 * util/grub-mkconfig.in: Likewise.
12542 * util/grub-mkrescue.in: Likewise.
12543 * util/grub-reboot.in: Likewise.
12544 * util/grub-set-default.in: Likewise.
12545 * util/i386/efi/grub-install.in: Likewise.
12546 * util/ieee1275/grub-install.in: Likewise.
12547 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12548
c16be99b
CW
125492010-06-12 Colin Watson <cjwatson@ubuntu.com>
12550
12551 * .bzrignore: Ignore 41_custom.
12552
ce08a9fb
TS
125532010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12554
12555 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
12556
7beac90c
CW
125572010-06-12 Colin Watson <cjwatson@ubuntu.com>
12558
12559 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
12560 prototype declarations.
12561
12562 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
12563 generating fs, partmap, and video lists.
12564 * include/grub/fs.h (grub_fs_register): Omit prototype if
12565 GRUB_LST_GENERATOR is defined.
12566 * include/grub/partition.h (grub_partition_map_register): Likewise.
12567 * include/grub/video.h (grub_video_register): Likewise.
12568
1c8f0f8d
JM
125692010-06-12 Javier Martín <lordhabbit@gmail.com>
12570
12571 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
12572
a6085973
TS
125732010-06-12 Thomas Schmitt <scdbackup@gmx.net>
12574
12575 * util/grub-mkrescue.in: Support --xorriso argument.
12576
25c56d29
VS
125772010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
12580 Suggested by: Thomas Schmitt.
12581
e03e4b24
VS
125822010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12583
12584 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
12585 Suggested by: Thomas Schmitt.
12586
57711df6
VS
125872010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
12588
12589 custom.cfg support.
12590
12591 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
12592 * util/grub.d/41_custom.in: New file.
12593
ee62c427
CW
125942010-06-12 Colin Watson <cjwatson@ubuntu.com>
12595
12596 * util/grub-mkrescue.in (make_image): Remove sh module, which has
12597 been merged back into normal.
12598
283af07a
CW
125992010-06-11 Colin Watson <cjwatson@ubuntu.com>
12600
12601 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
12602 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
12603
56a0d956
CW
126042010-06-11 Colin Watson <cjwatson@ubuntu.com>
12605
12606 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
12607 when generating manual pages.
12608 * docs/man/grub-bin2h.h2m: New file.
12609 * docs/man/grub-editenv.h2m: New file.
12610 * docs/man/grub-fstest.h2m: New file.
12611 * docs/man/grub-install.h2m: New file.
12612 * docs/man/grub-macho2img.h2m: New file.
12613 * docs/man/grub-mkconfig.h2m: New file.
12614 * docs/man/grub-mkdevicemap.h2m: New file.
12615 * docs/man/grub-mkfont.h2m: New file.
12616 * docs/man/grub-mkimage.h2m: New file.
12617 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
12618 * docs/man/grub-mkrelpath.h2m: New file.
12619 * docs/man/grub-mkrescue.h2m: New file.
12620 * docs/man/grub-ofpathname.h2m: New file.
12621 * docs/man/grub-pe2elf.h2m: New file.
12622 * docs/man/grub-probe.h2m: New file.
12623 * docs/man/grub-reboot.h2m: New file.
12624 * docs/man/grub-script-check.h2m: New file.
12625 * docs/man/grub-set-default.h2m: New file.
12626 * docs/man/grub-setup.h2m: New file.
12627
3a37e322
VS
126282010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
12629
12630 Use FOR_* macros instead of *_iterate whenever possible.
12631
12632 * commands/handler.c: Removed.
12633 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
12634 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
12635 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12636 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
12637 (grub_probe_SOURCES): Remove kern/parser.c.
12638 (util/grub-script-check.c_DEPENDENCIES): Removed.
12639 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
12640 and grub_script_check_init.c.
12641 (grub_script_check_init.lst): Removed.
12642 (grub_script_check_init.h): Likewise.
12643 (grub_script_check_init.c): Likewise.
12644 (pkglib_MODULES): Remove handler.mod and sh.mod.
12645 (handler_mod_SOURCES): Removed.
12646 (handler_mod_CFLAGS): Likewise.
12647 (handler_mod_LDFLAGS): Likewise.
12648 (normal_mod_SOURCES): Remove normal/handler.c.
12649 Add script/main.c, script/script.c, script/execute.c,
12650 script/function.c, script/lexer.c, grub_script.tab.c
12651 and grub_script.yy.c.
12652 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12653 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12654 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
12655 (grub_setup_SOURCES): Remove kern/parser.c.
12656 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12657 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
12658 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
12659 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12660 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
12661 (grub_setup_SOURCES): Remove kern/parser.c.
12662 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
12663 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
12664 * include/grub/command.h (grub_command_iterate): Removed.
12665 (FOR_COMMANDS): New macro.
12666 * include/grub/dl.h (grub_dl): New member next.
12667 (grub_dl_iterate): Removed.
12668 (grub_dl_head): New variable declaration.
12669 (FOR_DL_MODULES): New macro.
12670 * include/grub/fs.h: Include list.h.
12671 (grub_fs): Make next first element.
12672 (grub_fs_list): New variable declaration.
12673 (grub_fs_register): Make inline.
12674 (grub_fs_unregister): Likewise.
12675 (grub_fs_iterate): Removed.
12676 (FOR_FILESYSTEMS): New macro.
12677 * include/grub/handler.h: Removed.
12678 * include/grub/list.h (grub_list_hook_t): Removed.
12679 (grub_list_test_t): Likewise.
12680 (grub_list_pop): Likewise.
12681 (grub_list_iterate): Likewise.
12682 (grub_list_insert): Likewise.
12683 (FOR_LIST_ELEMENTS): New macro.
12684 * include/grub/parser.h (grub_parser_class): Removed.
12685 (grub_parser_register): Likewise.
12686 (grub_parser_unregister): Likewise.
12687 (grub_parser_get_current): Likewise.
12688 (grub_parser_set_current): Likewise.
12689 (grub_register_rescue_parser): Likewise.
12690 (grub_rescue_parse_line): New function.
12691 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
12692 * include/grub/script_sh.h (grub_script_function_list): New variable
12693 declaration.
12694 (FOR_SCRIPT_FUNCTIONS): New macro.
12695 (grub_script_function_iterate): Removed.
12696 (grub_normal_parse_line): New prototype.
12697 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
12698 (FOR_DISABLED_TERM_INPUTS): Likewise.
12699 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
12700 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
12701 * include/grub/video.h (grub_video_adapter): Move 'next' to first
12702 element.
12703 (grub_video_register): Inline.
12704 (grub_video_unregister): Likewise.
12705 (grub_video_adapter_list): New variable declaration.
12706 (grub_video_iterate): Removed.
12707 (FOR_VIDEO_ADAPTERS): New macro.
12708 * kern/dl.c (grub_dl_list): Removed. All users updated.
12709 (grub_dl_iterate): Removed.
12710 * kern/fs.c (grub_fs_list): Make global.
12711 (grub_fs_register): Removed.
12712 (grub_fs_unregister): Likewise.
12713 (grub_fs_iterate): Likewise.
12714 * kern/handler.c: Removed.
12715 * kern/list.c (grub_list_pop): Removed.
12716 (grub_list_iterate): Likewise.
12717 (grub_list_insert): Likewise.
12718 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
12719 (grub_prio_list_insert): Don't use grub_list_insert.
12720 * kern/main.c (grub_register_rescue_parser): Don't call
12721 grub_register_rescue_parser.
12722 * kern/parser.c (grub_parser_class): Removed.
12723 (grub_parser_execute): Use grub_rescue_parse_line.
12724 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
12725 (grub_rescue_parser): Removed.
12726 (grub_register_rescue_parser): Likewise.
12727 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
12728 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
12729 (grub_auth_check_authentication): Likewise.
12730 * normal/completion.c (iterate_command): Removed.
12731 (grub_normal_do_completion): Use FOR_COMMANDS.
12732 * normal/handler.c: Removed.
12733 * normal/main.c (read_config_file): Remove parser changing.
12734 (grub_normal_execute): Don't call read_handler_list.
12735 (grub_normal_read_line_real): Statically allocate prompt.
12736 (grub_cmdline_run): Use grub_normal_parse_line.
12737 (GRUB_MOD_FINI): Don't call free_handler_list.
12738 * normal/menu_entry.c (run): Likewise.
12739 * script/function.c (grub_script_function_list): Make global.
12740 (grub_script_function_iterate): Removed.
12741 * script/main.c (grub_normal_parse_line): Make global.
12742 (grub_sh_parser): Removed.
12743 (GRUB_MOD_INIT): Likewise.
12744 (GRUB_MOD_FINI): Likewise.
12745 * tests/lib/functional_test.c (grub_functional_test): Use
12746 FOR_LIST_ELEMENTS.
12747 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
12748 (grub_test_run): Use FOR_LIST_ELEMENTS.
12749 * tests/lib/unit_test.c (main): Likewise.
12750 * util/deviceiter.c (grub_util_iterate_devices): Don't use
12751 grub_list_pop.
12752 * util/grub-fstest.c (grub_term_input_class): Removed.
12753 (grub_term_output_class): Likewise.
12754 * util/grub-probe.c: Likewise.
12755 * util/i386/pc/grub-setup.c: Likewise.
12756 * util/sparc64/ieee1275/grub-setup.c: Likewise.
12757 * util/grub-script-check.c (main): Don't call grub_init_all and
12758 grub_fini_all.
12759 * video/video.c (grub_video_adapter_list): Make global.
12760 (grub_video_register): Removed.
12761 (grub_video_unregister): Likewise.
12762 (grub_video_iterate): Likewise.
12763
6289c3a7
VS
127642010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
12765
12766 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
12767 reported by Henrique Ferreiro.
12768
91460247
RM
127692010-06-09 Robert Millan <rmh@gnu.org>
12770
12771 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
12772 ones, when both are available.
12773
0ea7c4f9
GS
127742010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12775
12776 Make --version uniform and avoid hard-coded program name.
12777
12778 * util/grub-mkimage.c (main): Use `program_name' instead of
12779 hard-coded string.
12780 * util/i386/pc/grub-setup.c (main): Likewise.
12781 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
12782 * util/grub-install.in: Save the basename of $0 in $self, and use the
12783 latter in informational messages. Use the same format for --version
12784 as the binary programs.
12785 * util/grub-mkconfig.in: Likewise.
12786 * util/grub-mkrescue.in: Likewise.
12787 * util/grub-reboot.in: Likewise.
12788 * util/grub-set-default.in: Likewise.
12789 * util/i386/efi/grub-install.in: Likewise.
12790 * util/ieee1275/grub-install.in: Likewise.
12791 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
12792
e8a6f3b6
GS
127932010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12794
12795 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
12796 embedding area. Use <= instead of == when checking for non-emptiness.
12797
f4d095d7
GS
127982010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
12799
12800 * configure.ac: Add `.' to the directories searched for unifont.
12801
50e532ca
CW
128022010-06-08 Colin Watson <cjwatson@ubuntu.com>
12803
12804 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
12805 grub_script.yy.h.
12806
d39f3dec
CW
128072010-06-08 Colin Watson <cjwatson@ubuntu.com>
12808
12809 * docs/grub.texi (History): Expand to cover GRUB 2.
12810 (Serial terminal): Refer to `terminal_input' and `terminal_output'
12811 commands, not `terminal'.
12812 (serial): Likewise.
12813 (terminal_input): New section.
12814 (terminal_output): New section.
12815 (uppermem): New section (stub).
12816 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
12817
6ef0ddb4
CW
128182010-06-08 Colin Watson <cjwatson@ubuntu.com>
12819
12820 * docs/grub.texi (Security): Menu entries are unrestricted by
12821 default, not restricted to superusers as I had previously thought.
12822 Reword to account for this.
12823
e0f4c438
CW
128242010-06-07 Colin Watson <cjwatson@ubuntu.com>
12825
12826 * kern/emu/misc.c (device_mapper_null_log): New function.
12827 (grub_device_mapper_supported): New function.
12828 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
12829 prototype.
12830 * kern/emu/hostdisk.c (find_partition_start): Check whether
12831 device-mapper is supported before trying to use it.
12832 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
12833
da908200
CW
128342010-06-07 Colin Watson <cjwatson@ubuntu.com>
12835
12836 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
12837 (File name syntax): Likewise.
12838 (help): --all is no longer supported in GRUB 2. Be more precise
12839 about pattern matching.
12840
fb55c3ac
CW
128412010-06-07 Colin Watson <cjwatson@ubuntu.com>
12842
12843 * normal/completion.c (grub_normal_do_completion): When completing
12844 arguments to "set" and the current word contains an equals sign,
12845 skip to after the equals sign before starting completion.
12846
258c2573
CW
128472010-06-07 Colin Watson <cjwatson@ubuntu.com>
12848
12849 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
12850
ee75515e
CW
128512010-06-07 Colin Watson <cjwatson@ubuntu.com>
12852
12853 * docs/grub.texi (Network): New section.
12854 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
12855 `(nd)' as in GRUB Legacy.
12856 (pxe_unload): New section.
12857
a6a700aa
CW
128582010-06-07 Colin Watson <cjwatson@ubuntu.com>
12859
12860 * docs/grub.texi (Troubleshooting): `echo' is not usually available
12861 in the rescue shell, so recommend using `set' instead. Thanks,
12862 Jordan Uggla.
12863
4003dd38
CW
128642010-06-07 Colin Watson <cjwatson@ubuntu.com>
12865
12866 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
12867 (password): New section.
12868 (password_pbkdf2): New section.
12869 (search): New section.
12870 (Security): New section.
12871 (Troubleshooting): New section, currently very incomplete.
12872 (Invoking grub-mkpasswd-pbkdf2): New section.
12873 (Internals): New section, currently very incomplete.
12874
e1cbcc40
CW
128752010-06-07 Colin Watson <cjwatson@ubuntu.com>
12876
12877 * util/grub.d/00_header.in: Add some more quoting (of
12878 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
12879 work again.
12880 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
12881
db8fa1ad
CW
128822010-06-07 Colin Watson <cjwatson@ubuntu.com>
12883
12884 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
12885 to `count', fixing variable shadowing that broke the -c option.
12886
128872010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
12888
12889 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
12890 in case they contain spaces.
12891
f28a9212
CW
128922010-06-04 Colin Watson <cjwatson@ubuntu.com>
12893
12894 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
12895 "part_" to partmap module names, in line with grub-install.
12896 Reported by: Jindřich Makovička (Debian bug #584426).
12897
9cdfe32f
CW
128982010-06-04 Colin Watson <cjwatson@ubuntu.com>
12899
12900 * util/grub-mkimage.c: Make target-related error messages slightly
12901 more helpful; -O talks about "format". Explicitly point to the use
12902 of -O if no target is specified.
12903 Reported by: Didier Raboud (Debian bug #584415).
12904
795b593a
CW
129052010-06-03 Colin Watson <cjwatson@ubuntu.com>
12906
12907 * INSTALL: Document several build requirements for optional features
12908 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
12909
9d9b5833
GS
129102010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
12911
12912 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
12913 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
12914 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
12915
0819fec8
CW
129162010-06-02 Colin Watson <cjwatson@ubuntu.com>
12917
12918 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
12919 Thanks to Jordan Uggla for spotting this.
12920
49396b4f
VS
129212010-06-02 Aleš Nesrsta <starous@volny.cz>
12922
12923 Finally make USB usable.
12924
12925 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
12926 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
12927 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
12928 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
12929 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
12930 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
12931 (GRUB_OHCI_FSMPS): Likewise.
12932 (GRUB_OHCI_PERIODIC_START): Likewise.
12933 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
12934 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
12935 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
12936 (GRUB_OHCI_SET_PORT_RESET): Likewise.
12937 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
12938 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
12939 (grub_ohci_transaction): Likewise.
12940 (grub_ohci_transfer): Improve condition detection algorithms.
12941 Handle toggle property. Program the transactions correctly.
12942 Improve error handling. Various important fixups.
12943 (grub_ohci_portstatus): Put register writes in right order.
12944 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
12945 (grub_uhci_transfer): Don't show "failed" message on success.
12946 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
12947 array.
12948 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
12949 determine its size.
12950 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
12951 before initialization is completed. Use IN direction for empty
12952 transfers. Use last_trans and compute toggle.
12953 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
12954 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
12955 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
12956 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
12957 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
12958 (grub_usb_device): Increase toggle to 256.
12959 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
12960 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
12961 GRUB_USBMS_SUBCLASS_SFF8070.
12962 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
12963 (grub_scsi_inquiry): New member page and alloc_length.
12964 (grub_scsi_request_sense): New structure.
12965 (grub_scsi_request_sense_data): Likewise.
12966 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
12967 control.
12968 * disk/scsi.c (grub_scsi_request_sense): New function.
12969 (grub_scsi_test_unit_ready): Likewise.
12970 (grub_scsi_inquiry): Fill new fields.
12971 (grub_scsi_read_capacity): Likewise.
12972 (grub_scsi_read10): Add request sense at the end.
12973 (grub_scsi_read12): Likewise.
12974 (grub_scsi_write10): Likewise.
12975 (grub_scsi_write12): Likewise.
12976 (grub_scsi_open): Add Test Unit Ready.
12977 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
12978 Support additional subclasses. Con't clear halt yet. Activate the
12979 proper config. Calculate LUNs correctly.
12980 (grub_usbms_transfer): Various important fixups.
12981
129822010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12983
12984 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
12985 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
12986 (grub_ohci_fini_hw): New function.
12987 (grub_ohci_restore_hw): Likewise.
12988 (GRUB_MOD_INIT(ohci)): Register preboot hook.
12989 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
12990 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
12991
129922010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
12993
12994 Dedicated DMA allocations.
12995
12996 * bus/pci.c (grub_memalign_dma32): New function
12997 (grub_dma_free): Likewise.
12998 (grub_dma_get_virt): Likewise.
12999 (grub_dma_get_phys): Likewise.
13000 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
13001 (grub_ohci_pci_iter): Use dma32_alloc.
13002 (grub_ohci_transfer): Likewise.
13003 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
13004 (grub_usb_bulk_readwrite): Likewise.
13005 * include/grub/pci.h: Add declarations.
13006
130072010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
13008
13009 CS5536 support.
13010
13011 * bus/cs5536.c: New file.
13012 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
13013 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
13014 (cs5536_mod_SOURCES): New variable.
13015 (cs5536_mod_CFLAGS): Likewise.
13016 (cs5536_mod_LDFLAGS): Likewise.
13017 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
13018 machine/pci.h.
13019 (kernel_img_SOURCES): Add bus/cs5536.c.
13020 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
13021 usb_keyboard.mod.
13022 (usb_mod_SOURCES): New variable.
13023 (usb_mod_CFLAGS): New variable.
13024 (usb_mod_LDFLAGS): New variable.
13025 (usbtest_mod_SOURCES): New variable.
13026 (usbtest_mod_CFLAGS): New variable.
13027 (usbtest_mod_LDFLAGS): New variable.
13028 (ohci_mod_SOURCES): New variable.
13029 (ohci_mod_CFLAGS): New variable.
13030 (ohci_mod_LDFLAGS): New variable.
13031 (usbms_mod_SOURCES): New variable.
13032 (usbms_mod_CFLAGS): New variable.
13033 (usbms_mod_LDFLAGS): New variable.
13034 (usb_keyboard_mod_SOURCES): New variable.
13035 (usb_keyboard_mod_CFLAGS): New variable.
13036 (usb_keyboard_mod_LDFLAGS): New variable.
13037 * include/grub/smbus.h: New file.
13038 * include/grub/cs5536.h: New file.
13039
0b35b2a9
CW
130402010-06-02 Colin Watson <cjwatson@ubuntu.com>
13041
13042 * util/grub.d/00_header.in: Add safety check to make sure that
13043 ${locale_dir} exists before trying to probe it.
13044
ca0afd5b
CW
130452010-06-02 Colin Watson <cjwatson@ubuntu.com>
13046
13047 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
13048 per the GNU Coding Standards; this is now too obscure to be worth
13049 documenting.
13050 (QNX): Likewise.
13051 (chainloader): Remove cross-reference to `SCO UnixWare'.
13052
1c41aa78
CW
130532010-06-02 Colin Watson <cjwatson@ubuntu.com>
13054
13055 * docs/grub.texi (Chain-loading): New section.
13056 (DOS/Windows): New section, borrowed from GRUB Legacy with details
13057 adjusted for GRUB 2.
13058 (SCO UnixWare): Likewise.
13059 (QNX): Likewise.
13060 (chainloader): Add reference to `Block list syntax'.
13061 (drivemap): New section.
13062 (parttool): New section.
13063
bb8ea0f5
CW
130642010-06-02 Colin Watson <cjwatson@ubuntu.com>
13065
13066 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
13067 the grub shell'.
13068 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
13069 (Installing GRUB using grub-install): Remove reference to the grub
13070 shell; mention `grub-mkimage' and `grub-setup' instead.
13071 (Invoking grub-install): Likewise.
13072 (Interface): Add reference to `Menu entry editor'.
13073 (serial): Remove `--device' option.
13074
288dd6ed
CW
130752010-06-02 Colin Watson <cjwatson@ubuntu.com>
13076
13077 * docs/grub.texi (Configuration): New section, documenting
13078 configuration file generation using grub-mkconfig. I've left a slot
13079 for documenting the full shell scripting format but have not yet
13080 started on writing that up.
13081 (Invoking grub-mkconfig): New section.
13082
34c9f0e9
CW
130832010-06-02 Colin Watson <cjwatson@ubuntu.com>
13084
13085 * docs/grub.texi (direntry): Remove grub-terminfo reference.
13086 (GNU GRUB manual): Likewise.
13087 (General commands): Update description of `terminfo' for GRUB 2.
13088
9121567e
CW
130892010-06-02 Colin Watson <cjwatson@ubuntu.com>
13090
13091 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
13092 (GRUB_MOD_INIT): Fix capitalisation.
13093 * docs/grub.texi (Command-line and menu entry commands): Document
13094 gettext and gptsync commands.
13095
ab631611
CW
130962010-06-02 Colin Watson <cjwatson@ubuntu.com>
13097
13098 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
13099 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
13100
bde4a9ac
CW
131012010-06-01 Colin Watson <cjwatson@ubuntu.com>
13102
13103 Add btrfs probing support, currently only in the single-device case.
13104
13105 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
13106 function.
13107 (grub_guess_root_device): Call find_root_device_from_mountinfo
13108 before looking in /dev.
13109
b1d17e10
VS
131102010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13111
13112 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
13113 GRUB_DISK_SIZE_UNKNOWN.
13114 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
13115
dfbfe004
JS
131162010-05-31 Jiro SEKIBA <jir@unicus.jp>
13117
13118 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
13119 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
13120 corrupted or not synced properly.
13121
c2ffc8e9
VS
131222010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13123
13124 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
13125 Reported by: Seth Goldberg.
13126
56293166
VS
131272010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13128
13129 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
13130 addition of dest.
13131 Reported by: Seth Goldberg.
13132
7620e7de
VS
131332010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13134
13135 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
13136 Reported by: Seth Goldberg.
13137
c837af3f
VS
131382010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
13141 64-bit address as signed on MIPS.
13142
c7c75cf4
CW
131432010-05-28 Colin Watson <cjwatson@ubuntu.com>
13144
13145 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
13146 to the empty string.
13147
fa4b8490
BC
131482010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
13149
13150 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
13151
13152 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
13153 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
13154 * kern/misc.c (__enable_execute_stack): Disable on
13155 GRUB_MACHINE_EMU.
13156
a33075b9
CW
131572010-05-28 Colin Watson <cjwatson@ubuntu.com>
13158
13159 Make grub-probe work with symbolic links under /dev/mapper as well
13160 as with real block devices. The Linux world seems to be (at best)
13161 in transition here, and GRUB shouldn't get caught in the middle.
13162
13163 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
13164 /dev/mapper.
13165
d8708134
CW
131662010-05-27 Colin Watson <cjwatson@ubuntu.com>
13167
13168 * util/grub-script-check.c (main): Ensure defined behaviour on empty
13169 input files (in which case exit zero).
13170
db2102a0
CW
131712010-05-27 Colin Watson <cjwatson@ubuntu.com>
13172
13173 * kern/emu/misc.c (canonicalize_file_name): realpath can still
13174 return NULL for various reasons even if it has a maximum-length
13175 buffer: for example, there might be a symlink loop, or the path
13176 might exceed PATH_MAX. If this happens, return NULL.
13177
5fdba519
RM
131782010-05-27 Robert Millan <rmh@gnu.org>
13179
13180 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
13181 partmap module to handle cross-partmap setups.
13182 Reported by Orestes Mas. Gràcies!
13183
d1d368e4
CW
131842010-05-27 Colin Watson <cjwatson@ubuntu.com>
13185
13186 * util/grub-mkrescue.in: Initialise override_dir rather than
13187 assuming that it's unset or empty in the environment.
13188
95ac3c73
GS
131892010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
13190
13191 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
13192 variable index into p_index to suppress a warning with -Wshadow.
13193
7d8c0213
BC
131942010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
13195
13196 * INSTALL: Added flex >= 2.5.35 requirement.
13197
db4d5813
VS
131982010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13199
13200 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
13201
f24f4300
VS
132022010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13203
13204 cmostest support.
13205
13206 * commands/i386/cmostest.c: New file.
13207 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
13208 (cmostest_mod_SOURCES): New variable.
13209 (cmostest_mod_CFLAGS): Likewise.
13210 (cmostest_mod_LDFLAGS): Likewise.
13211 * conf/i386-pc.rmk: Likewise.
13212 * docs/grub.texi (Vendor power-on keys): New section.
13213 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
13214 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
13215 and GRUB_BUTTON_CMOS_ADDRESS.
13216 * util/grub.d/00_header.in: Handle powering-on by separate button.
13217
ad603f61
VS
132182010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
13221 Removed drawing_scrollbar argument. All users updated
13222 Fixes #29792.
13223 Reported by Jo Shields
13224
3ecb080a
VS
132252010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13226
13227 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
13228 buffer since gfxterm handles double repaint.
13229
5f2316c1
VS
132302010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
13233 * term/gfxterm.c (real_scroll): Likewise.
13234
9a25f885
VS
132352010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
13238 before calling BIOS.
13239
39fbb79a
VS
132402010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13241
13242 * include/grub/i18n.h: Always enable grub_gettext.
13243
228cfa97
VS
132442010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
13245
13246 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
13247 partition naming style.
13248
21717c8f
CW
132492010-05-21 Colin Watson <cjwatson@ubuntu.com>
13250
13251 * util/grub-mkconfig.in: Fix handling of -o so that it works when
13252 not the first option.
13253
c0f48e65
CW
132542010-05-20 Colin Watson <cjwatson@ubuntu.com>
13255
13256 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
13257
96779aec
CW
132582010-05-20 Colin Watson <cjwatson@ubuntu.com>
13259
13260 * util/misc.c: Move inclusion of <limits.h> to ...
13261 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
13262
fa9d256e
GS
132632010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
13264
13265 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
13266 Fix merge error in NetBSD code.
13267 (find_partition_start) [__NetBSD__]: Likewise.
13268
123b7a85
BC
132692010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
13270
13271 Fix grub-mkrescue usage unit testing.
13272
13273 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
13274
74276c0d
CF
132752010-05-18 Christian Franke <franke@computer.org>
13276
13277 * util/grub.d/10_windows.in: Use path names instead of
13278 drive letters to prevent warning from Cygwin 1.7.
13279 Add drivemap command to menuentry if needed.
13280
c4f7b523
ST
132812010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
13282
13283 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
13284 gnumach and gnumach.gz.
13285
95b97950
VS
132862010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13287
13288 * include/grub/i18n.h (gettext): Inline instead of using #define.
13289 (grub_gettext): Likewise.
13290 (_): Likewise.
13291
01b8d2d7
VS
132922010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13293
13294 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
13295 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
13296 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
13297 (main): Add a slash after pkglibdirroot.
13298
654e1d1e
VS
132992010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13300
13301 * util/grub-install.in: Add missing "in" keyword.
13302
26966aeb
VS
133032010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13304
13305 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
13306 Reported by: Seth Goldberg.
13307
75006747
VS
133082010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
13309
13310 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
13311
74cbf5bd
CW
133122010-05-18 Colin Watson <cjwatson@ubuntu.com>
13313
13314 * configure.ac: Check for Linux device-mapper support.
13315
13316 * util/hostdisk.c (device_is_mapped): New function.
13317 (find_partition_start): New function, partly broken out from
13318 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
13319 device-mapper support added.
13320 (linux_find_partition): Use find_partition_start.
13321 (convert_system_partition_to_system_disk): Add `st' argument.
13322 Support Linux /dev/mapper/* devices if device-mapper support is
13323 available; only DM-RAID devices are understood at present.
13324 (find_system_device): Add `st' argument. Pass it to
13325 convert_system_partition_to_system_disk.
13326 (grub_util_biosdisk_get_grub_dev): Pass stat result to
13327 find_system_device and convert_system_partition_to_system_disk. Use
13328 find_partition_start.
13329
13330 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
13331 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
13332 * util/deviceiter.c [__linux__]: Define MINOR.
13333 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
13334 * util/mkdevicemap.c (grub_putchar): New function.
13335 (grub_getkey): New function.
13336 (grub_refresh): New function.
13337 (main): Set debug=all if -v -v is used.
13338
355b51e9
CW
133392010-05-18 Colin Watson <cjwatson@ubuntu.com>
13340
13341 Fix build with non-GNU libcs.
13342
13343 * util/misc.c (canonicalize_file_name): Move to ...
13344 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
13345 grub_make_system_path_relative_to_its_root.
13346
7fb5c25f
CW
133472010-05-18 Colin Watson <cjwatson@ubuntu.com>
13348
13349 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
13350 we handle finding grub-mkimage. Default to finding grub-mkimage in
13351 ${bindir} with program_transform_name applied, and provide a
13352 --grub-mkimage option to override this.
13353
1d3293d6
VS
133542010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13355
13356 Remove grub-mkisofs.
13357
13358 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
13359 (grub_mkisofs_SOURCES): Removed.
13360 (grub_mkisofs_CFLAGS): Removed.
13361 * util/mkisofs/defaults.h: Removed.
13362 * util/mkisofs/eltorito.c: Likewise.
13363 * util/mkisofs/exclude.h: Likewise.
13364 * util/mkisofs/hash.c: Likewise.
13365 * util/mkisofs/include/: Likewise.
13366 * util/mkisofs/include/fctldefs.h: Likewise.
13367 * util/mkisofs/include/mconfig.h: Likewise.
13368 * util/mkisofs/include/prototyp.h: Likewise.
13369 * util/mkisofs/include/statdefs.h: Likewise.
13370 * util/mkisofs/iso9660.h: Likewise.
13371 * util/mkisofs/joliet.c: Likewise.
13372 * util/mkisofs/match.c: Likewise.
13373 * util/mkisofs/match.h: Likewise.
13374 * util/mkisofs/mkisofs.c: Likewise.
13375 * util/mkisofs/mkisofs.h: Likewise.
13376 * util/mkisofs/msdos_partition.h: Likewise.
13377 * util/mkisofs/multi.c: Likewise.
13378 * util/mkisofs/name.c: Likewise.
13379 * util/mkisofs/rock.c: Likewise.
13380 * util/mkisofs/tree.c: Likewise.
13381 * util/mkisofs/write.c: Likewise.
13382
5dde9afe
VS
133832010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
13384
13385 Unify grub-mkimage accross platforms.
13386
13387 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
13388 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
13389 (grub_mkelfimage_SOURCES): Removed.
13390 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
13391 (util/grub-mkimage.c_DEPENDENCIES): .. this.
13392 (bin_UTILITIES): Add grub-mkimage.
13393 (grub_mkimage_SOURCES): New variable.
13394 (kernel_img_HEADERS): Remove machine/kernel.h.
13395 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
13396 (pkglib_PROGRAMS): Add kernel.img.
13397 (kernel_img_HEADERS): Add machine/kernel.h.
13398 (kernel_img_FORMAT): Removed.
13399 (bin_UTILITIES): Remove grub-mkimage.
13400 (grub_mkimage_SOURCES): Removed.
13401 (grub_mkimage_CFLAGS): Likewise.
13402 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13403 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
13404 (pkglib_PROGRAMS): Add kernel.img.
13405 (bin_UTILITIES): Remove grub-mkimage.
13406 (grub_mkimage_SOURCES): Removed.
13407 (grub_mkimage_CFLAGS): Likewise.
13408 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13409 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
13410 (pkglib_PROGRAMS): Add kernel.img.
13411 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
13412 (pkglib_PROGRAMS): Add kernel.img.
13413 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
13414 (grub_mkimage_SOURCES): Removed.
13415 (grub_mkimage_CFLAGS): Likewise.
13416 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13417 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
13418 (pkglib_PROGRAMS): Add kernel.img.
13419 (bin_UTILITIES): Remove grub-mkimage.
13420 (grub_mkimage_SOURCES): Removed.
13421 (grub_mkimage_CFLAGS): Likewise.
13422 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13423 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
13424 (grub_mkimage_SOURCES): Removed.
13425 (grub_mkimage_CFLAGS): Likewise.
13426 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
13427 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
13428 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
13429 (grub_pe32_optional_header): ... this.
13430 (grub_pe64_optional_header): ... and this. All users updated.
13431 (GRUB_PE32_PE32_MAGIC): Split into ..
13432 (GRUB_PE32_PE32_MAGIC): .. this.
13433 (GRUB_PE32_PE64_MAGIC): .. and this.
13434 (GRUB_PE32_SIGNATURE_SIZE): New definition.
13435 * include/grub/elf.h (PT_GNU_STACK): New definition.
13436 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
13437 * include/grub/i386/efi/kernel.h: Likewise.
13438 * include/grub/i386/kernel.h: Likewise.
13439 * include/grub/i386/pc/kernel.h: Likewise.
13440 * include/grub/i386/qemu/boot.h: Likewise.
13441 * include/grub/mips/kernel.h: Likewise.
13442 * include/grub/mips/qemu-mips/kernel.h: Likewise.
13443 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13444 * include/grub/powerpc/kernel.h: Likewise.
13445 * include/grub/sparc64/ieee1275/boot.h: Likewise.
13446 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13447 * include/grub/sparc64/kernel.h: Likewise.
13448 * include/grub/x86_64/efi/kernel.h: Likewise.
13449 * include/grub/x86_64/kernel.h: Likewise.
13450 * include/grub/offsets.h: New file.
13451 * include/grub/kernel.h (grub_module_info): Split into ...
13452 (grub_module_info32): ... this.
13453 (grub_module_info64): ... and this.
13454 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
13455 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
13456 (grub_boot_blocklist): Moved from here ...
13457 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
13458 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
13459 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
13460 * include/grub/types.h (grub_target_to_host16): Removed.
13461 (grub_target_to_host32): Likewise.
13462 (grub_target_to_host64): Likewise.
13463 (grub_host_to_target16): Likewise.
13464 (grub_host_to_target32): Likewise.
13465 (grub_host_to_target64): Likewise.
13466 (grub_host_to_target_addr): Likewise.
13467
13468 Support grub-mkrescue for efi, coreboot and qemu.
13469
13470 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
13471 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
13472 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
13473 * util/grub-mkrawimage.c: Moved from here ...
13474 * util/grub-mkimage.c: ... here. All users updated.
13475 (ALIGN_ADDR): Use image_target.
13476 (TARGET_NO_FIELD): New const.
13477 (image_target_desc): New type.
13478 (image_targets): New array.
13479 (grub_target_to_host64): Use image_target.
13480 (grub_target_to_host32): Likewise.
13481 (grub_target_to_host16): Likewise.
13482 (grub_host_to_target64): Likewise.
13483 (grub_host_to_target32): Likewise.
13484 (grub_host_to_target16): Likewise.
13485 (grub_host_to_target_addr): Likewise.
13486 (generate_image): Handle multiimage.
13487 (main): Require -O parameter. All users updated.
13488 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
13489 util/efi/grub-mkimage.c
13490 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
13491 New option --rom-directory.
13492 Use xorriso.
13493 * util/i386/efi/grub-mkimage.c: Removed.
13494 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
13495 (grub_target_to_host32): Likewise.
13496 (grub_target_to_host64): Likewise.
13497 (grub_host_to_target16): Likewise.
13498 (grub_host_to_target32): Likewise.
13499 (grub_host_to_target64): Likewise.
13500 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
13501 (grub_target_to_host32): Likewise.
13502 (grub_target_to_host64): Likewise.
13503 (grub_host_to_target16): Likewise.
13504 (grub_host_to_target32): Likewise.
13505 (grub_host_to_target64): Likewise.
13506
f4fc97d0
BC
135072010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
13508
13509 Source tree is reorganized for emu build.
13510
13511 * include/grub/util/console.h: Move from here...
13512 * include/grub/emu/console.h: ...to here.
13513 * include/grub/util/getroot.h: Move from here...
13514 * include/grub/emu/getroot.h: ...to here.
13515 * include/grub/util/hostdisk.h: Move from here...
13516 * include/grub/emu/hostdisk.h: ...to here.
13517 * util/console.c: Move from here...
13518 * kern/emu/console.c: ...to here.
13519 * util/getroot.c: Move from here...
13520 * kern/emu/getroot.c: ...to here.
13521 * util/grub-emu.c: Move from here...
13522 * kern/emu/main.c: ...to here.
13523 * util/hostdisk.c: Move from here...
13524 * kern/emu/hostdisk.c: ...to here.
13525 * util/hostfs.c: Move from here...
13526 * kern/emu/hostfs.c: ...to here.
13527 * util/mm.c: Move from here...
13528 * kern/emu/mm.c: ...to here.
13529 * util/pci.c: Move from here...
13530 * bus/emu/pci.c: ...to here.
13531 * util/sdl.c: Move from here...
13532 * video/emu/sdl.c: ...to here.
13533 * util/time.c: Move from here...
13534 * kern/emu/time.c: ...to here.
13535 * util/usb.c: Move from here...
13536 * bus/usb/emu/usb.c: ...to here.
13537
13538 * include/grub/emu/misc.h: New header for grub-emu functions.
13539 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
13540
13541 * conf/any-emu.rmk: Rule updates for above renames.
13542 * conf/common.rmk: Likewise.
13543 * conf/i386-pc.rmk: Likewise.
13544 * conf/i386-qemu.rmk: Likewise.
13545 * conf/mips.rmk: Likewise.
13546 * conf/sparc64-ieee1275.rmk: Likewise.
13547 * conf/x86-efi.rmk: Likewise.
13548
13549 * disk/lvm.h: #include updates for above renames.
13550 * util/grub-mkrelpath.c: Likewise.
13551 * util/grub-probe.c: Likewise.
13552 * util/i386/pc/grub-setup.c: Likewise.
13553 * util/sparc64/ieee1275/grub-setup.c: Likewise.
13554 * kern/emu/console.c: Likewise.
13555 * kern/emu/getroot.c: Likewise.
13556 * kern/emu/hostdisk.c: Likewise.
13557 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
13558
13559 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
13560 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
13561 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
13562 * util/misc.c: Remove grub-emu functions.
13563
cced9145
VS
135642010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
13565
13566 Fix gfxmenu crash.
13567 Reported by: Thorsten Grützmacher.
13568
13569 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
13570 timeout hook.
13571 (circprog_set_property): Register and unregister timeout hook.
13572 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
13573 (label_destroy): Free template. and unregister hook.
13574 (label_set_state): New function.
13575 (label_set_property): Handle templates and hooks.
13576 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
13577 timeout hook.
13578 (progress_bar_set_property): Register and unregister timeout hook.
13579 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
13580 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
13581 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
13582 (update_timeout_visit): Removed.
13583 (update_timeouts): New function.
13584 (redraw_timeouts): Likewise.
13585 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
13586 (grub_gfxmenu_clear_timeout): Likewise.
13587 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
13588 (grub_gfxmenu_timeout_notify): Likewise.
13589 (grub_gfxmenu_timeout_notifications): New external variable.
13590 (grub_gfxmenu_timeout_register): New function.
13591 (grub_gfxmenu_timeout_unregister): Likewise.
13592
c6e5caab
VS
135932010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
13594
13595 Transform (broken) vga terminal into (working) vga video driver.
13596
13597 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
13598 video/i386/pc/vga.c.
13599 * include/grub/video.h (grub_video_driver_id):
13600 Add GRUB_VIDEO_DRIVER_VGA.
13601 * term/i386/pc/vga.c: Renamed to ...
13602 * video/i386/pc/vga.c: ...this
13603 (DEBUG_VGA): Removed.
13604 (CHAR_WIDTH): Likewise.
13605 (CHAR_HEIGHT): Likewise.
13606 (TEXT_WIDTH): Likewise.
13607 (TEXT_HEIGHT): Likewise.
13608 (DEFAULT_FG_COLOR): Likewise.
13609 (DEFAULT_BG_COLOR): Likewise.
13610 (colored_char): Likewise.
13611 (xpos): Likewise.
13612 (ypos): Likewise.
13613 (cursor_state): Likewise.
13614 (fg_color): Likewise.
13615 (bg_color): Likewise.
13616 (text_buf): Likewise.
13617 (page): Likewise.
13618 (font): Likewise.
13619 (framebuffer): New variable.
13620 (set_read_map): Disabled.
13621 (setup): New variable.
13622 (is_target): Likewise.
13623 (grub_vga_mod_init): Likewise.
13624 (grub_vga_mod_fini): Likewise.
13625 (check_vga_mem): Likewise.
13626 (write_char): Likewise.
13627 (write_cursor): Likewise.
13628 (scroll_up): Likewise.
13629 (grub_vga_putchar): Likewise.
13630 (grub_vga_getcharwidth): Likewise.
13631 (grub_vga_getwh): Likewise.
13632 (grub_vga_getxy): Likewise.
13633 (grub_vga_gotoxy): Likewise.
13634 (grub_vga_cls): Likewise.
13635 (grub_vga_setcolorstate): Likewise.
13636 (grub_vga_setcursor): Likewise.
13637 (grub_video_vga_init): New function.
13638 (grub_video_vga_setup): Likewise.
13639 (grub_video_vga_fini): Likewise.
13640 (update_target): Likewise.
13641 (grub_video_vga_blit_bitmap): Likewise.
13642 (grub_video_vga_blit_render_target): Likewise.
13643 (grub_video_vga_set_active_render_target): Likewise.
13644 (grub_video_vga_get_active_render_target): Likewise.
13645 (grub_video_vga_swap_buffers): Likewise.
13646 (grub_video_vga_set_palette): Likewise.
13647 (grub_video_vga_get_info_and_fini): Likewise.
13648 (grub_vga_term): Removed.
13649 (grub_video_vga_adapter): New variable.
13650 (GRUB_MOD_INIT): Register a video driver instead of terminal.
13651 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
13652
2bf61a98
VS
136532010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13654
13655 * video/readers/jpeg.c: Indented.
13656
09ddcd11
VS
136572010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13658
13659 Various jpeg cleanups.
13660
13661 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
13662 (grub_jpeg_decode_quan_table): Use sizeof.
13663 (grub_jpeg_decode_du): Use ARRAY_SIZE.
13664
e5507505
PH
136652010-05-05 Peter Hurley <No e-mail available> (tiny change)
13666
13667 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
13668 tables. Ignore non-last ac bit.
13669 (grub_jpeg_decode_quan_table): Likewise.
13670
7e720a9b
VS
136712010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13672
13673 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
13674 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
13675 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13676 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
13677 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
13678 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
13679
a7fc080b
VS
136802010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13681
13682 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
13683 error.
13684
2bf6012d
VS
136852010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
13686
13687 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
13688
265d68cd
VS
136892010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
13690
13691 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
13692 condition.
13693
136942010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
13695
13696 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
13697 part.
13698
265d68cd 136992010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
13700
13701 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
13702 pointers.
13703
265d68cd 137042010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
13705
13706 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
13707
d1b61374
CF
137082010-05-01 Christian Franke <franke@computer.org>
13709
13710 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
13711 Remove broken Cygwin path conversion.
13712 * util/misc.c: [__CYGWIN__] Add include and define.
13713 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
13714 for Cygwin 1.7.
13715 (make_system_path_relative_to_its_root): Simplify loop, replace early
13716 return by break.
13717 [__CYGWIN__] Add conversion to win32 path.
13718 Include "/" case in trailing slash removal.
13719
3558c6e9
VS
137202010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * kern/main.c (grub_load_config): Fix copy-pasted comment.
13723 Reported by: Seth Goldberg
13724
f5f3ff93
VS
137252010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13726
13727 * commands/help.c (grub_cmd_help): Fix a typo.
13728 Reported by: Seth Goldberg
13729
d8b5cd40
VS
137302010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13731
13732 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
13733 name and add N_.
13734 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
13735 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
13736 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
13737 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
13738 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
13739 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
13740 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
13741 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
13742 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
13743 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
13744 * normal/context.c (GRUB_MOD_INIT): Likewise.
13745 * normal/main.c (GRUB_MOD_INIT): Likewise.
13746 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
13747 * term/serial.c (GRUB_MOD_INIT): Likewise.
13748 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
13749
88c14915
VS
137502010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13751
13752 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
13753 extra == 0.
13754
165134bc
VS
137552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13756
13757 * commands/iorw.c: New file.
13758 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
13759 (iorw_mod_SOURCES): New variable.
13760 (iorw_mod_CFLAGS): Likewise.
13761 (iorw_mod_LDFLAGS): Likewise.
13762
c5ac9b32
VS
137632010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13764
13765 Hotkey support
13766
13767 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
13768 * normal/main.c (hotkey_aliases): New variable.
13769 (grub_normal_add_menu_entry): Parse "--hotkey".
13770 * normal/menu_text.c (run_menu): Handle hotkeys.
13771
ce60689c
VS
137722010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13773
13774 * kern/i386/coreboot/init.c (grub_machine_init): Call
13775 grub_machine_mmap_init on qemu.
13776
0359d006
VS
137772010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13778
13779 * boot/i386/qemu/boot.S: Add a missing .code16.
13780
7819a456
VS
137812010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13782
13783 Use LBIO on coreboot.
13784
13785 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
13786 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
13787 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
13788 New declaration.
13789 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
13790 grub_machine_mmap_init on coreboot.
13791 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
13792 GRUB_LINUXBIOS_MEMBER_LINK.
13793 (grub_machine_mmap_iterate): Fix declaration.
13794 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
13795
7210dca9
VS
137962010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13797
13798 Split coreboot and multiboot ports.
13799
13800 * conf/i386-multiboot.rmk: New file.
13801 * configure.ac: Add multiboot port.
13802 * include/grub/i386/multiboot/boot.h: New file.
13803 * include/grub/i386/multiboot/console.h: Likewise.
13804 * include/grub/i386/multiboot/init.h: Likewise.
13805 * include/grub/i386/multiboot/kernel.h: Likewise.
13806 * include/grub/i386/multiboot/loader.h: Likewise.
13807 * include/grub/i386/multiboot/memory.h: Likewise.
13808 * include/grub/i386/multiboot/serial.h: Likewise.
13809 * include/grub/i386/multiboot/time.h: Likewise.
13810 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
13811 * loader/multiboot.c: Likewise.
13812 * loader/multiboot_mbi2.c: Likewise.
13813 * util/grub-mkrescue.in: Generate multiboot rescue.
13814
6f8aaf68
VS
138152010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13816
3080f7a7
VS
13817 * kern/parser.c (grub_parser_execute): Cope with read-only config.
13818
138192010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
13820
13821 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
13822
13823 * commands/terminal.c (abstract_terminal): New struct.
13824 (handle_command): New function. Based on grub_cmd_terminal_input.
13825 (grub_cmd_terminal_input): Use handle_command.
13826 (grub_cmd_terminal_output): Use handle_command.
13827
a8ebb841
BC
138282010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
13829
13830 Fix comment handling.
13831
13832 * tests/grub_script_comments.in: New testcase.
13833 * conf/tests.rmk: Rules for new testcase.
13834 * script/yylex.l: Updated flex rules.
13835
bb06ba08
ST
138362010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
13837
13838 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
13839 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
13840 if argc is 1.
bb06ba08 13841
cc9d2425
VS
138422010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
13843
13844 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
13845 autogen issues.
13846
460d8402
CF
138472010-04-26 Christian Franke <franke@computer.org>
13848
13849 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
13850 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
13851 (grub_get_prefix): Remove function.
13852 * util/grub-emu.c (main): Replace grub_get_prefix () call by
13853 make_system_path_relative_to_its_root ().
13854 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
13855
553c01f9
CF
138562010-04-24 Christian Franke <franke@computer.org>
13857
13858 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
13859 (kernel_img_LDFLAGS): Remove -static-libgcc.
13860
2aec1692
CF
138612010-04-24 Christian Franke <franke@computer.org>
13862
13863 * configure.ac: Do not CHECK_BSS_START_SYMBOL
13864 and CHECK_END_SYMBOL if grub-emu is built.
13865 Unset TARGET_OBJ2ELF if grub-emu is built
13866 without module support.
13867
f67dc308
JS
138682010-04-24 Jiro SEKIBA <jir@unicus.jp>
13869
13870 Nilfs2 support.
13871
13872 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
13873 (grub_fstest_SOURCES): Likewise.
13874 (pkglib_MODULES): Add nilfs2.mod.
13875 (nilfs2_mod_SOURCES): New variable.
13876 (nilfs2_mod_CFLAGS): Likewise.
13877 (nilfs2_mod_LDFLAGS): Likewise.
13878 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13879 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
13880 * fs/nilfs2.c: New file.
13881
4ba8d354
VS
138822010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
13883
13884 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
13885 is not supported.
13886
0d2c20c6
GS
138872010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
13888
13889 Add grub-mkconfig support for NetBSD.
13890
13891 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
13892 * util/grub-mkconfig.in: export new NetBSD specific variables.
13893 * po/POTFILES-shell: added 10_netbsd.in.
13894 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
13895
bc4a2d83
BC
138962010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
13897
13898 Fix emu build with grub-emu-pci and grub-emu-modules.
13899
13900 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
13901 functions.
13902 * include/grub/libpciaccess.h: New file.
13903 * conf/any-emu.rmk: Update kernel headers for emu build.
13904
f48c87aa
VS
139052010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
13908
18959385
VS
139092010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
13910
13911 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
13912
0037de3f
VS
139132010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13914
13915 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
13916 Retrieve chosen/bootpath if bootpath isn't hardcoded.
13917 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
13918 util/ieee1275/ofpath.c.
13919 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
13920 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
13921 * include/grub/sparc64/ieee1275/boot.h
13922 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
13923 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
13924 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
13925 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
13926 const char *.
13927 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
13928 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
13929 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
13930 install.
13931
38e55e90
GS
139322010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
13933
13934 * util/grub-mkconfig.in: Corrected two == equality tests.
13935 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
13936 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
13937 expect a number appended to it.
13938 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
13939 expects a number appended to it.
13940
a9e6ff28
VS
139412010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13942
13943 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
13944
0b830b8f
VS
139452010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
13946
13947 * util/hostdisk.c (make_device_name): Change to new partition naming.
13948
0973daeb
VS
139492010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
13952
460d8402 139532010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
13954
13955 * Makefile.in: Add missing localedir setting.
13956
0b456309
CW
139572010-04-14 Colin Watson <cjwatson@ubuntu.com>
13958
13959 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
13960 mistake in r2156. Noticed by Anthony Fok.
13961
13962 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
13963 @localedir@.
13964 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
13965
08f46d62
BC
139662010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
13967
13968 Fix a spurious, uninitialized variable warning.
13969
13970 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
13971 Initialize variable, shdr.
13972 (grub_freebsd_load_elfmodule): Likewise.
13973 (grub_freebsd_load_elf_meta): Likewise.
13974
8c4a72d4
BC
139752010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
13976
13977 Fix for escaped dollar in double quoted strings.
13978
13979 * script/yylex.l: Updated flex rules.
13980 * conf/tests.rmk: Rule for new testcase.
13981 * tests/grub_script_dollar.in: New testcase.
13982
ce44826e
CPE
139832010-04-13 Carles Pina i Estany <carles@pina.cat>
139842010-04-13 Colin Watson <cjwatson@ubuntu.com>
13985
13986 Enclose all translated strings in grub.cfg in single quotes, and
13987 escape them appropriately (Ubuntu bug #552921).
13988
13989 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
13990 * util/grub.d/10_hurd.in: Use it.
13991 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
13992 * util/grub.d/10_linux.in (linux_entry): Likewise.
13993
4b0cd8f8
VS
139942010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
13995
13996 Fix cygwin compilation.
13997
13998 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
13999 * include/grub/misc.h (__register_frame_info)
14000 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
14001 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14002 * kern/misc.c (__register_frame_info)
14003 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
14004 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
14005
01fcf061
VS
140062010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14007
14008 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
14009
5d04b11e
VS
140102010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 Unify libgcc processing.
14013
14014 * Makefile.in (kernel_img_LDFLAGS): New variable.
14015 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
14016 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
14017 overwriting.
14018 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
14019 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
14020 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
14021 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
14022 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
14023 overwriting. Remove -lgcc and -static-libgcc
14024 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
14025 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14026 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
14027 (kernel_img_LDFLAGS): Append instead of overwriting.
14028 Remove -lgcc and -static-libgcc
14029 * conf/sparc64-ieee1275.rmk: Likewise.
14030 * include/grub/powerpc/libgcc.h: Move to ...
14031 * include/grub/libgcc.h: .. this.
14032 * include/grub/libgcc.h: Don't export most of the function on x86.
14033 (__bswapsi2): New export.
14034 (__bswapdi2): Likewise.
14035 * include/grub/mips/libgcc.h: Removed.
14036 * include/grub/sparc64/libgcc.h: Likewise.
14037
b7f3ac29
VS
140382010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
14041 disk_info_msg (conflicts with gettexting into languages with cases).
14042
2c7031b1
GS
140432010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
14044
14045 Add grub-probe support for NetBSD.
14046
14047 * util/getroot.c (find_root_device): Convert block device to
14048 character device on NetBSD.
14049 * util/probe.c (probe): Require character device on NetBSD.
14050 * util/hostdisk.c: NetBSD specific headers.
14051 (configure_device_driver): new function to tune device driver
14052 parameters (currently only for NetBSD floppy driver).
14053 (grub_util_biosdisk_open): NetBSD specific code (get disk size
14054 via disklabel ioctl).
14055 (open_device): call configure_device_driver on NetBSD.
14056 (convert_system_partition_to_system_disk): NetBSD specific code.
14057 (device_is_wholedisk): Likewise.
14058 (grub_util_biosdisk_get_grub_dev): Likewise.
14059 (make_device_name): Fixed a typo in bsd_part_str.
14060 * configure.ac: check for opendisk() and getrawpartition() on
14061 NetBSD and set LIBUTIL.
14062 * Makefile.in: add LIBUTIL to LIBS.
14063
f516290c
BC
140642010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14065
14066 Documentation fix.
14067
14068 * util/grub-script-check.c: Better help message.
14069
d8dcc0df
BC
140702010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
14071
14072 Fix FreeBSD build.
14073
14074 * configure.ac: Flex version check.
14075 * conf/common.rmk: Add -Wno-error to sh.mod.
14076 * script/yylex.l: Remove all #pragma.
14077
6734334a
VS
140782010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * include/grub/util/misc.h (canonicalise_file_name): Add missing
14081 prototype.
14082 Reported by: Seth Goldberg.
14083
daea6abd
VS
140842010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14085
14086 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
14087 Rename "module" to "module2".
14088 Reported by: Seth Goldberg.
14089
f2fd9d2b
VS
140902010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14091
14092 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
14093 EXPORT_FUNC.
14094 Reported by: Seth Goldberg.
14095
be124579
VS
140962010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14097
14098 * lib/posix_wrap/locale.h: Add missing file.
14099 Reported by: Seth Goldberg.
14100
ef5da797
VS
141012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
14102
14103 grub-emu module load support.
14104
14105 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
14106 NO_DYNAMIC_MODULES switched to this.
14107 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
14108 (CFLAGS): Likewise.
14109 * conf/any-emu.rmk: Generate symlist.
14110 (kernel_img_HEADERS): Add util/datetime.h.
14111 (kernel_img_HEADERS) [sdl]: Add sdl.h.
14112 (kernel_img_HEADERS) [libusb]: Add libusb.h.
14113 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
14114 kern/$(target_cpu)/cache.S.
14115 * configure.ac (grub-emu-modules): New option.
14116 * genmk.rb: Handle multiple source lists.
14117 * include/grub/sdl.h: New file.
14118 * include/grub/libusb.h: Likewise.
14119 * util/grub-emu.c (main): Hanle (host) root.
14120 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
14121 GRUB_ERR_UNKNOWN_DEVICE.
14122 * util/misc.c: Move mm functions to ...
14123 * util/mm.c: ... here. All users updated.
14124
47822096
VS
141252010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14126
14127 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
14128 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
14129 missing files.
14130 (maintainer-clean): Remove libgcrypt-grub.
14131
5d7e7445
VS
141322010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14133
14134 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
14135
25f4e252
EC
141362010-04-09 EFI Coder <eficoder@hotmail.com>
14137
14138 * normal/menu_text.c (print_message): Clean up the message and show
14139 the Fn information when on EFI
14140 * term/efi/console.c (grub_console_checkkey): Add F4 support.
14141
027de555
VS
141422010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14143
14144 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
14145 All users updated.
14146 * normal/crypto.c (read_crypto_list): Likewise.
14147 * normal/dyncmd.c (read_command_list): Likewise.
14148 * normal/term.c (read_terminal_list): Likewise.
14149 * normal/main.c (read_lists): Use explicit prefix.
14150 (read_lists_hook): Use read_lists.
14151 (grub_normal_execute): Likewise.
14152
47779711
VS
141532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14154
14155 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
14156 Reported by: Thomas Schmitt.
14157 Add -no-emul-boot to grub-mkisofs parameters.
14158
1118c32e
VS
141592010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14160
14161 * font/font.c: Indented.
14162
7d652447
BC
141632010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14164
14165 Elif support to GRUB script (by Deepak Vankadaru).
14166
14167 * tests/grub_script_if.in: New testcase.
14168 * conf/tests.rmk: Rule for new testcase.
14169 * script/parser.y: Grammar rules for elif.
14170
34bb22df
BC
141712010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
14172
14173 While and until loops support to GRUB script.
14174
14175 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
14176 (grub_script_create_cmdwhile): New function prototype.
14177 (grub_script_execute_cmdwhile): New function prototype.
14178 * script/execute.c (grub_script_execute_cmdwhile): New function.
14179 * script/parser.y (command): New commands.
14180 (whilecmd): New grammar rule.
14181 (untilcmd): New grammar rule.
14182 * script/script.c (grub_script_create_cmdwhile): New function.
14183 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
14184 function.
14185
14186 * tests/grub_script_while1.in: New testcase.
14187 * conf/tests.rmk: Rule for new testcase.
14188
e215d8e0
VS
141892010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14190
14191 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
14192 as *.jpg.
14193
d7c43ba1
MV
141942010-04-09 Mario Vazquez <mariovazq@gmail.com>
14195
14196 GRUB_BACKGROUND support.
14197
14198 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
14199 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
14200
d64795c0
VS
142012010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14202
14203 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 14204 Idea by: Mario Vazquez
d64795c0
VS
14205
14206 * util/grub.d/00_header.in: Load pf2 and image modules.
14207
f267f83a
VS
142082010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14209
14210 grub-mkconfig multiple terminal support.
14211
14212 * util/grub-mkconfig.in: Handle multiple terminals correctly.
14213 * util/grub.d/00_header.in: Likewise.
14214
b7841ceb
VS
142152010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
14216
14217 * Makefile.in: Specify files explicitly instead of using $< and $@ since
14218 we use cd $(srcdir).
14219
df60998c
CW
142202010-04-08 Colin Watson <cjwatson@ubuntu.com>
14221
14222 * util/grub.d/10_linux.in: Only use the first word of
14223 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
14224 spaces in GRUB_DISTRIBUTOR.
14225 * util/grub.d/10_kfreebsd.in: Likewise.
14226 * util/grub.d/10_hurd.in: Likewise.
14227
fa09c82e
BC
142282010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
14229
14e18ae3 14230 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
14231
14232 * tests/util/grub-shell.in: Remove -serial stdio option.
14233
daf892b3
BC
142342010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
14235
14236 POSIX header file wrappers.
14237
14238 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
14239 equivalents.
14240 * lib/posix_wrap/ctype.h: Likewise.
14241 * lib/posix_wrap/errno.h: Likewise.
14242 * lib/posix_wrap/langinfo.h: Likewise.
14243 * lib/posix_wrap/limits.h: Likewise.
14244 * lib/posix_wrap/localcharset.h: Likewise.
14245 * lib/posix_wrap/stdint.h: Likewise.
14246 * lib/posix_wrap/stdio.h: Likewise.
14247 * lib/posix_wrap/stdlib.h: Likewise.
14248 * lib/posix_wrap/string.h: Likewise.
14249 * lib/posix_wrap/sys/types.h: Likewise.
14250 * lib/posix_wrap/unistd.h: Likewise.
14251 * lib/posix_wrap/wchar.h: Likewise.
14252 * lib/posix_wrap/wctype.h: Likewise.
14253 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
14254 (grub_script.yy.h): Likewise.
14255 * script/yylex.l: Remove POSIX emulation #defines.
14256 * Makefile.in (POSIX_CFLAGS): New variable.
14257 (GNULIB_UTIL_CFLAGS): Likewise.
14258
14259 Regexp support.
14260
14261 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
14262 (regexp_mod_SOURCES): New variable.
14263 (regexp_mod_CFLAGS): Likewise.
14264 (regexp_mod_LDFLAGS): Likewise.
14265 * commands/regexp.c: New file.
14266 * gnulib/regcomp.c: New file. Imported from gnulib.
14267 * gnulib/regex.c: Likewise.
14268 * gnulib/regex_internal.c: Likewise.
14269 * gnulib/regex_internal.h: Likewise.
14270 * gnulib/regexec.c: Likewise.
14271 * gnulib/regex.h: Likewise.
14272
974ac4f7
VS
142732010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14274
14275 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
14276 unsupported video mode types.
14277
2622c3ff
VS
142782010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
14281
064cb524
VS
142822010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
14283
14284 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
14285 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
14286
a8c3b552
VS
142872010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
14288
14289 Remove unused grub_vga_get_font.
14290
14291 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
14292 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
14293
187bbe3d
GS
142942010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14295
14296 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
14297 * include/grub/misc.h: Likewise.
14298
b9396631
GS
142992010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14300
14301 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
14302 for which failure is fatal.
14303
50479feb
GS
143042010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14305
14306 * util/grub-install.in: Use mkdir -p to create grub directory.
14307 * util/i386/efi/grub-install.in: Likewise.
14308 * util/ieee1275/grub-install.in: Likewise.
14309
b1654fdf
GS
143102010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14311
14312 * Makefile.in (LEX): new variable.
14313
bd5a6415
GS
143142010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
14315
14316 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
14317 `=' and added double quotes on operands of this equality test.
14318
3db3a82b
VS
143192010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14320
14321 * Makefile.in (uninstall): Remove a leftover debug echo.
14322 Reported by: Grégoire Sutre
14323
38023412
VS
143242010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
14325
14326 MIPS multiboot2 support.
14327
14328 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
14329 (multiboot2_mod_SOURCES): New variable.
14330 (multiboot2_mod_CFLAGS): Likewise.
14331 (multiboot2_mod_LDFLAGS): Likewise.
14332 (multiboot2_mod_ASFLAGS): Likewise.
14333 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
14334 definition.
14335 (MULTIBOOT_ENTRY_REGISTER): Likewise.
14336 (MULTIBOOT_MBI_REGISTER): Likewise.
14337 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
14338 (MULTIBOOT_ELF32_MACHINE): Likewise.
14339 (MULTIBOOT_ELF64_MACHINE): Likewise.
14340 * include/grub/mips/multiboot.h: New file.
14341 * include/grub/video.h (grub_video_driver_id): New type
14342 GRUB_VIDEO_DRIVER_SM712.
14343 (grub_video_get_info_and_fini): Export.
14344 (grub_video_get_palette): Likewise.
14345 (grub_video_get_driver_id): Likewise.
14346 * include/multiboot2.h: Resynced with spec.
14347 * loader/i386/multiboot.c: Moved from here ...
14348 * loader/multiboot.c: ... here. All users updated.
14349 (grub_multiboot_boot): Use platform-specific macros.
14350 * loader/i386/multiboot_elfxx.c: Moved from here ...
14351 * loader/multiboot_elfxx.c: ... here. All users updated.
14352 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
14353 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
14354 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
14355
47674667
VS
143562010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
14357
14358 Import gnulib argp module.
14359
14360 * gnulib/argp-ba.c: New file.
14361 * gnulib/argp-eexst.c: Likewise.
14362 * gnulib/argp-fmtstream.c: Likewise.
14363 * gnulib/argp-fmtstream.h: Likewise.
14364 * gnulib/argp-fs-xinl.c: Likewise.
14365 * gnulib/argp-help.c: Likewise.
14366 * gnulib/argp-namefrob.h: Likewise.
14367 * gnulib/argp-parse.c: Likewise.
14368 * gnulib/argp-pin.c: Likewise.
14369 * gnulib/argp-pv.c: Likewise.
14370 * gnulib/argp-pvh.c: Likewise.
14371 * gnulib/argp-version-etc.c: Likewise.
14372 * gnulib/argp-version-etc.h: Likewise.
14373 * gnulib/argp-xinl.c: Likewise.
14374 * gnulib/argp.h: Likewise.
14375
495442ed
VS
143762010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14377
14378 * kern/device.c (grub_device_iterate): Clear errors after failed
14379 opening device.
14380
f9fd65df
VS
143812010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
14382
14383 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
14384 returned by firmware.
14385
af09641e
VS
143862010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
14389 compilation on coreboot and qemu
14390
016883a5
VS
143912010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14392
14393 * include/multiboot2.h: Resync with spec.
14394
f97e1f7d
VS
143952010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
14396
14397 Multiboot2 tag support
14398
14399 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
14400 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
14401 Remove loader/multiboot_loader.c.
14402 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
14403 (grub_multiboot2_real_boot): Likewise.
14404 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
14405 (grub_get_multiboot_mmap_count): New proto.
14406 (grub_fill_multiboot_mmap): Likewise.
14407 (grub_multiboot_set_video_mode): Likewise.
14408 (grub_multiboot_set_console): Likewise.
14409 (grub_multiboot_load): Likewise.
14410 (grub_multiboot_load_elf): Likewise.
14411 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
14412 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
14413 * include/multiboot.h: Resynced with specification.
14414 * include/multiboot2.h: Resynced with specification.
14415 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
14416 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
14417 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
14418 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
14419 users updated.
14420 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
14421 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
14422 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
14423 Removed.
14424 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
14425 Moved from here...
14426 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
14427 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14428 Moved from here...
14429 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
14430 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
14431 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
14432 All users updated.
14433 * loader/i386/multiboot_mbi2.c: New file.
14434
3506b90b
VS
144352010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14436
14437 Resync with gnulib.
14438
14439 * Makefile.in (GNULIB_CFLAGS): New variable.
14440 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
14441 (grub_script_check_CFLAGS): New variable.
14442 * gnulib/alloca.h: Resync with gnulib.
14443 * gnulib/error.c: Likewise.
14444 * gnulib/error.h: Likewise.
14445 * gnulib/fnmatch.c: Likewise.
14446 * gnulib/fnmatch_loop.c: Likewise.
14447 * gnulib/getdelim.c: Likewise.
14448 * gnulib/getline.c: Likewise.
14449 * gnulib/getopt.c: Likewise.
14450 * gnulib/getopt1.c: Likewise.
14451 * gnulib/getopt_int.h: Likewise.
14452 * gnulib/gettext.h: Likewise.
14453 * gnulib/progname.c: Likewise.
14454 * gnulib/progname.h: Likewise.
14455
394a3120
GS
144562010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
14457
14458 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
14459 which is the case with --disabled-nls.
14460
14461 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
14462 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
14463 * util/misc.c: Likewise.
14464 * util/mkisofs/mkisofs.c: Likewise.
14465 * util/mkisofs/mkisofs.h: Likewise.
14466
969d1c78
VS
144672010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
14468
14469 Simplify Apple CC support.
14470
14471 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
14472 Add 0 byte at the end not to have a symbol with empty target.
14473 * mmap/i386/pc/mmap_helper.S: Likewise.
14474 * genmk.rb: Ignore errors 2030 and 2050.
14475 * kern/i386/pc/startup.S: Use LOCAL when possible.
14476
8d2977bb
BC
144772010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
14478
14479 Testcase and the fix for final semicolon on cmdline.
14480
14481 * tests/grub_script_final_semicolon.in: New testcase.
14482 * conf/tests.rmk: Rules for the new testcase.
14483 * script/parser.y: Grammar fix.
14484
a7bd6915
BC
144852010-03-26 BVK Chaitanya <bvk@localhost>
14486
14487 Blank lines testcase for GRUB script.
14488
14489 * tests/grub_script_blanklines.in: New testcase.
14490 * conf/tests.rmk: Rules for the new testcase.
14491
e4ff6628
VS
144922010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14493
14494 Don't use __FILE__.
14495
14496 * genmk.rb: Add -DGRUB_FILE to all C targets.
14497 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
14498 * include/grub/list.h: Likewise.
14499 * include/grub/misc.h: Likewise.
14500 * include/grub/mm.h: Likewise.
14501 * include/grub/test.h: Likewise.
14502 * kern/mm.c: Likewise.
14503 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
14504
6a5cf6b6
VS
145052010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14506
14507 Sunpc partitions support.
14508
14509 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
14510 (grub_fstest_SOURCES): Likewise.
14511 (pkglib_MODULES): Add part_sunpc.mod.
14512 (part_sunpc_mod_SOURCES): New variable.
14513 (part_sunpc_mod_CFLAGS): Likewise.
14514 (part_sunpc_mod_LDFLAGS): Likewise.
14515 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
14516 * partmap/sunpc.c: New file.
14517
746d9045
BC
145182010-03-26 BVK Chaitanya <bvk@localhost>
14519
14520 For loop support to GRUB script.
14521
14522 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
14523 (grub_script_create_cmdfor): New function prototype.
14524 (grub_script_execute_cmdfor): New function prototype.
14525 * script/execute.c (grub_script_execute_cmdfor): New function.
14526 * script/parser.y (command): New for command.
14527 (forcmd): New grammar rule.
14528 * script/script.c (grub_script_create_cmdfor): New function.
14529 * util/grub-script-check.c (grub_script_execute_cmdfor): New
14530 function.
14531 * tests/grub_script_for1.in: New testcase.
14532 * conf/tests.rmk: Rules for new testcase.
14533
18486b18
VS
145342010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
14535
14536 Nested partitions
14537
14538 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
14539 'partition' is NULL, grub_partition_get_start already does that.
14540 * commands/loadenv.c (check_blocklists): Likewise.
14541 (write_blocklists): Likewise.
14542 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
14543 (grub_fstest_SOURCES): Likewise.
14544 (pkglib_MODULES): Add part_bsd.mod.
14545 (part_bsd_mod_SOURCES): New variable.
14546 (part_bsd_mod_CFLAGS): Likewise.
14547 (part_bsd_mod_LDFLAGS): Likewise.
14548 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
14549 (grub_emu_SOURCES): Likewise.
14550 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14551 * include/grub/bsdlabel.h: New file.
14552 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
14553 'get_name'.
14554 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
14555 (grub_partition_map_list): New variable.
14556 (grub_partition_map_register): Inline.
14557 (grub_partition_map_unregister): Likewise.
14558 (FOR_PARTITION_MAPS): New macro.
14559 (grub_partition_map_iterate): Removed.
14560 (grub_partition_get_start): Handle nested partitions.
14561 * include/grub/msdos_partition.h: Remove bsd-related entries.
14562 (grub_pc_partition): Remove.
14563 * kern/disk.c (grub_disk_close): Free partition data.
14564 (grub_disk_adjust_range): Handle nested partitions.
14565 * kern/partition.c (grub_partition_map_probe): New function.
14566 (grub_partition_probe): Parse name to number, handle subpartitions.
14567 (get_partmap): New function.
14568 (grub_partition_iterate): Handle subpartitions.
14569 (grub_partition_get_name): Likewise.
14570 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
14571 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
14572 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
14573 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
14574 Set 'number'.
14575 (acorn_partition_map_probe): Remove.
14576 (acorn_partition_map_get_name): Likewise.
14577 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
14578 Set 'number'.
14579 Set 'index' to 0 since there can be only one partition entry per sector.
14580 (amiga_partition_map_probe): Remove.
14581 (amiga_partition_map_get_name): Likewise.
14582 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
14583 Set 'number'.
14584 Set 'offset' and 'index' to real positions of partitions.
14585 (apple_partition_map_probe): Remove.
14586 (apple_partition_map_get_name): Likewise.
14587 * partmap/bsdlabel.c: New file.
14588 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
14589 Set 'number'.
14590 Allocate 'data' so it can be correctly freed.
14591 Set 'index' to offset inside sector.
14592 (gpt_partition_map_probe): Remove.
14593 (gpt_partition_map_get_name): Likewise.
14594 * partmap/msdos.c (grub_partition_parse): Remove.
14595 (pc_partition_map_iterate): Don't force raw access.
14596 Set 'number'.
14597 Make 'ext_offset' a local variable.
14598 (pc_partition_map_probe): Remove.
14599 (pc_partition_map_get_name): Remove.
14600 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
14601 Set 'number'.
14602 (sun_partition_map_probe): Remove.
14603 (sun_partition_map_get_name): Likewise.
14604 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
14605 (grub_pcpart_type): Likewise.
14606 * util/hostdisk.c (open_device): Handle new numbering scheme.
14607 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
14608 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
14609 * util/grub-probe.c (probe_partmap): Handle nested paritions.
14610 * util/grub-install.in: Insert all subpartition modules.
14611 * util/ieee1275/grub-install.in: Likewise.
14612
a3940f88
AG
146132010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
14614
14615 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
14616 grammar.
14617
21b99926 146182010-03-24 Colin Watson <cjwatson@ubuntu.com>
14619
14620 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
14621
bed1d352
CW
146222010-03-21 Colin Watson <cjwatson@ubuntu.com>
14623
14624 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
14625 match where 'make install' puts them.
14626 * util/i386/efi/grub-install.in: Likewise.
14627
c9f58427
CW
146282010-03-19 Colin Watson <cjwatson@ubuntu.com>
14629
14630 * .bzrignore: Add gentrigtables, grub-script-check,
14631 grub_script_check_init.c, grub_script_check_init.h, and
14632 trigtables.c.
14633
f84afb27
VS
146342010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
14635
14636 * kern/parser.c: Indented.
14637
ed0e3d30
VS
146382010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14639
14640 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
14641
0ea81d98
VS
146422010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
14643
14644 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
14645 alpha_mask_size == 0 case.
14646
0cdc2a09
BC
146472010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
14648
14649 GRUB shell lexer and parser improvements.
14650
14651 * conf/any-emu.rmk: Build rule updates.
14652 * conf/common.rmk: Likewise.
14653 * conf/i386-coreboot.rmk: Likewise.
14654 * conf/i386-efi.rmk: Likewise.
14655 * conf/i386-ieee1275.rmk: Likewise.
14656 * conf/i386-pc.rmk: Likewise.
14657 * conf/powerpc-ieee1275.rmk: Likewise.
14658 * conf/x86_64-efi.rmk: Likewise.
14659
14660 * configure.ac: Configure check for flex.
14661
14662 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
14663 types.
14664 (grub_lexer_param): Struct member updates.
14665 (grub_parser_param): Likewise.
14666 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
14667 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
14668 (grub_script_lexer_init): Prototype update.
14669 (grub_script_lexer_record_start): Likewise.
14670 (grub_script_lexer_record_stop): Likewise.
14671 (grub_script_lexer_yywrap): New function prototype.
14672 (grub_script_lexer_fini): Likewise.
14673 (grub_script_execute_argument_to_string): Removed by...
14674 (grub_script_execute_argument_to_argv): ...better version.
14675
14676 * script/execute.c (ROUND_UPTO): New macro.
14677 (grub_script_execute_cmdline): Out of memory fixes.
14678 (grub_script_execute_menuentry): Likewise.
14679 (grub_script_execute_argument_to_string): Removed. Update all
14680 users by...
14681 (grub_script_execute_argument_to_argv): ...better version.
14682 * script/function.c (grub_script_function_create): Use
14683 grub_script_execute_argument_to_argv instead of
14684 grub_script_execute_argument_to_string.
14685
14686 * script/lexer.c (check_varstate): Removed.
14687 (check_textstate): Removed.
14688 (grub_script_lexer_record_start): Likewise.
14689 (grub_script_lexer_record_stop): Likewise.
14690 (recordchar): Replaced with...
14691 (grub_script_lexer_record): ...new function.
14692 (nextchar): Removed.
14693 (grub_script_lexer_init): Rewritten.
14694 (grub_script_yylex): Rewritten.
14695 (append_newline): New function.
14696 (grub_script_lexer_yywrap): New function.
14697 (grub_script_lexer_fini): New function.
14698 (grub_script_yyerror): Sets error flag.
14699
14700 * script/yylex.l: New file.
14701 (grub_lexer_yyfree): Wrapper for flex yyffre.
14702 (grub_lexer_yyalloc): Likewise.
14703 (grub_lexer_yyrealloc): Likewise.
14704 * script/parser.y: Refactored.
14705
14706 * script/script.c (grub_script_arg_add): Out of memory fixes.
14707 (grub_script_add_arglist): Likewise.
14708 (grub_script_create_cmdline): Likewise.
14709 (grub_script_create_cmdmenu): Likewise.
14710 (grub_script_add_cmd): Likewise.
14711 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
14712 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
14713 unnecessary code.
14714
14715 * tests/grub_script_echo1.in: New testcase.
14716 * tests/grub_script_vars1.in: New testcase.
14717 * tests/grub_script_echo_keywords.in: New testcase.
14718
1d63a066
VS
147192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14720
14721 Remove some redundancy in build system.
14722
14723 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
14724 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
14725 (TARGET_LDFLAGS): Add -nostdlib.
14726 (TARGET_IMG_LDFLAGS): Likewise.
14727 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
14728 anything since mmap isn't available.
14729 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
14730 Add util/time.c.
14731 (pkglib_MODULES): Remove reboot.mod.
14732 (reboot_mod_SOURCES): Removed.
14733 (reboot_mod_CFLAGS): Likewise.
14734 (reboot_mod_LDFLAGS): Likewise.
14735 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
14736 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
14737 (DEFSYMFILES): Add kernel_syms.lst.
14738 (kernel_img_HEADERS): Add common headers.
14739 (symlist.c): New target.
14740 (kernel_syms.lst): Likewise.
14741 (pkglib_MODULES): Add memdisk.mod.
14742 (memdisk_mod_SOURCES): New variable.
14743 (memdisk_mod_CFLAGS): Likewise.
14744 (memdisk_mod_LDFLAGS): Likewise.
14745 (pkglib_MODULES): Add reboot.mod.
14746 (reboot_mod_SOURCES): New variable.
14747 (reboot_mod_CFLAGS): Likewise.
14748 (reboot_mod_LDFLAGS): Likewise.
14749 (pkglib_MODULES): Add date.mod.
14750 (date_mod_SOURCES): New variable.
14751 (date_mod_CFLAGS): Likewise.
14752 (date_mod_LDFLAGS): Likewise.
14753 (pkglib_MODULES): Add datehook.mod.
14754 (datehook_mod_SOURCES): New variable.
14755 (datehook_mod_CFLAGS): Likewise.
14756 (datehook_mod_LDFLAGS): Likewise.
14757 (pkglib_MODULES): Add lsmmap.mod.
14758 (lsmmap_mod_SOURCES): New variable.
14759 (lsmmap_mod_CFLAGS): Likewise.
14760 (lsmmap_mod_LDFLAGS): Likewise.
14761 (pkglib_MODULES): Add boot.mod.
14762 (boot_mod_SOURCES): New variable.
14763 (boot_mod_CFLAGS): Likewise.
14764 (boot_mod_LDFLAGS): Likewise.
14765 * conf/i386-coreboot.rmk: Removed redundant parts.
14766 * conf/i386-ieee1275.rmk: Likewise.
14767 * conf/i386-pc.rmk: Likewise.
14768 * conf/mips-yeeloong.rmk: Likewise.
14769 * conf/mips.rmk: Likewise.
14770 * conf/powerpc-ieee1275.rmk: Likewise.
14771 * conf/sparc64-ieee1275.rmk: Likewise.
14772 * conf/x86_64-efi.rmk: Likewise.
14773 * conf/i386-coreboot.rmk: Moved qemu parts ..
14774 * conf/i386-qemu.rmk: ... here
14775 * conf/i386-efi.rmk: Moved common parts to...
14776 * conf/x86-efi.rmk: ... here.
14777 * conf/i386.rmk: Added modules common to all x86 variants.
14778 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
14779 * disk/memdisk.c: Remove grub/machine/kernel.h.
14780 * gensymlist.sh.in: Include symbol.h.
14781 * hook/datehook.c: Correct module name.
14782 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
14783 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
14784 * include/grub/i386/efi/serial.h: New file.
14785 * include/grub/x86_64/efi/serial.h: Likewise.
14786 * util/time.c: Likewise.
14787 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
14788
463ac55f
CK
147892010-03-14 Colin King <colin.king@ubuntu.com>
147902010-03-14 Colin Watson <cjwatson@ubuntu.com>
14791
14792 Shrink the pre-partition-table part of boot.img by eight bytes.
14793
14794 * boot/i386/pc/boot.S (ERR): New macro.
14795 (chs_mode): Use ERR.
14796 (geometry_error): Likewise.
14797 (hd_probe_error): Remove. This is only used once, so we wrwite
14798 it inline instead.
14799 (read_error): Instead of printing read_error_string, just set up
14800 %si and fall through to ...
14801 (error_message): ... this new function, also used by ERR.
14802
08e46ede
CW
148032010-03-14 Colin Watson <cjwatson@ubuntu.com>
14804
14805 Speed up consecutive hostdisk operations on the same device.
14806
14807 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
14808 (grub_util_biosdisk_open): Initialise disk->data.
14809 (struct linux_partition_cache): New structure.
14810 (linux_find_partition): Cache partition start positions; these are
14811 expensive to compute on every read and write.
14812 (open_device): Cache open file descriptor in disk->data, so that we
14813 don't have to reopen it and flush the buffer cache for consecutive
14814 operations on the same device.
14815 (grub_util_biosdisk_close): New function.
14816 (grub_util_biosdisk_dev): Set `close' member.
14817
14818 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
14819 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
14820 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
14821 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
14822 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
14823
4a6d2d06
VS
148242010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14825
14826 Compile parts of grub-emu as modules.
14827
14828 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
14829 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
14830 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
14831 (all-local): Add $(GRUB_EMU).
14832 (install-local): Install $(GRUB_EMU).
14833 (uninstall): Uninstall $(GRUB_EMU).
14834 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
14835 * kern/dl.c: Likewise.
14836 * commands/sleep.c: Not include machine/time.h.
14837 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
14838 (COMMON_CFLAGS): Likewise.
14839 (sbin_UTILITIES): Remove grub-emu.
14840 (grub_emu_SOURCES): Removed.
14841 (kernel_img_RELOCATABLE): New variable.
14842 (pkglib_PROGRAMS): Add kernel.img.
14843 (kernel_img_SOURCES): New variable
14844 (kernel_img_CFLAGS): Likewise.
14845 (kernel_img_LDFLAGS): Likewise.
14846 (TARGET_NO_STRIP): Likewise.
14847 (TARGET_NO_DYNAMIC_MODULES): Likewise.
14848 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
14849 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
14850 (grub-emu): New target.
14851 (GRUB_EMU): New variable.
14852 * configure.ac: Whitelist -emu as possible x86_64 architecture.
14853 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
14854 * loader/xnu.c: Likewise.
14855 * include/grub/pci.h: Likewise.
14856 * genemuinit.sh: New file.
14857 * genemuinitheader.sh: Likewise.
14858 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
14859 Support TARGET_NO_DYNAMIC_MODULES.
14860 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
14861 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
14862 * disk/loopback.c: Likewise.
14863 * font/font_cmd.c: Likewise.
14864 * partmap/acorn.c: Likewise.
14865 * partmap/amiga.c: Likewise.
14866 * partmap/apple.c: Likewise.
14867 * partmap/gpt.c: Likewise.
14868 * partmap/msdos.c: Likewise.
14869 * partmap/sun.c: Likewise.
14870 * parttool/msdospart.c: Likewise.
14871 * term/gfxterm.c: Likewise.
14872 * video/bitmap.c: Likewise.
14873 * video/readers/jpeg.c: Likewise.
14874 * video/readers/png.c: Likewise.
14875 * video/readers/tga.c: Likewise.
14876 * video/video.c: Likewise.
14877 * util/grub-emu.c (read_command_list): Removed.
14878 (main): Don't call util_init_nls.
14879 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
14880 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
14881
91fdd2ed
VS
148822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14883
14884 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
14885 date.mod, datehook.mod.
14886 (datetime_mod_SOURCES): New variable.
14887 (datetime_mod_CFLAGS): Likewise.
14888 (datetime_mod_LDFLAGS): Likewise.
14889 (date_mod_SOURCES): Likewise.
14890 (date_mod_CFLAGS): Likewise.
14891 (date_mod_LDFLAGS): Likewise.
14892 (datehook_mod_SOURCES): Likewise.
14893 (datehook_mod_CFLAGS): Likewise.
14894 (datehook_mod_LDFLAGS): Likewise.
14895 * conf/sparc64-ieee1275.rmk: Likewise.
14896 * lib/ieee1275/datetime.c: New file.
14897
873ccae6
VS
148982010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14899
14900 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
14901 (ieee1275_fb_mod_SOURCES): New variable.
14902 (ieee1275_fb_mod_CFLAGS): Likewise.
14903 (ieee1275_fb_mod_LDFLAGS): Likewise.
14904 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
14905 New proto.
14906 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
14907 (HEAP_MAX_ADDR): Likewise.
14908 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
14909 type.
14910 Correct stop condition.
14911 (grub_ieee1275_devices_iterate): New function.
14912 * video/ieee1275.c: New file.
14913
601c97c0
VS
149142010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
14915
14916 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
14917
14918 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
14919 as scratch.
14920 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
14921 SCRATCH_PAD_DISKBOOT as scratch.
14922 (bootit): Pass Openfirmware pointer in %o4.
14923 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
14924 of 0x200000.
14925 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
14926 with util/grub-mkrawimage.c.
14927 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
14928 * include/grub/aout.h (AOUT_MID_SUN): New definition.
14929 (grub_aout_get_type) [GRUB_UTIL]: Removed.
14930 (grub_aout_load) [GRUB_UTIL]: Likewise.
14931 * include/grub/kernel.h (grub_modules_get_end): New proto.
14932 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
14933 (SCRATCH_PAD_BOOT): New definition.
14934 (SCRATCH_PAD_DISKBOOT): Likewise.
14935 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
14936 * include/grub/sparc64/ieee1275/ieee1275.h
14937 (grub_ieee1275_original_stack): New variable
14938 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14939 New definition
14940 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
14941 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
14942 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
14943 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
14944 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
14945 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
14946 (grub_platform_image_format_t): New type.
14947 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
14948 * kern/main.c (grub_modules_get_end)
14949 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
14950 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
14951 (codestart): Switch stacks.
14952 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
14953 variable.
14954 (grub_heap_init): Use grub_modules_get_end.
14955 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
14956 stack.
14957 * util/grub-mkrawimage.c (generate_image): Support sparc64.
14958 (main): Likewise.
14959 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
14960
d68b491e
TG
149612010-03-14 Thorsten Glaser <tg@mirbsd.org>
14962
14963 * util/grub-mkrescue.in: Base ISO UUID on UTC.
14964
4e02ed50
MK
149652010-03-08 Matt Kraai <kraai@ftbfs.org>
14966
14967 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
14968 bug #559005).
14969
1f15fc1e
VS
149702010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 * genmoddep.awk: Output all missing symbols and not only first.
14973
fce5d8ff
VS
149742010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14975
14976 * NEWS: Put the date of 1.98 release.
14977
d1e8a02f
VS
149782010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14979
14980 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
14981 ft2build.h.
14982
696fd607
VS
149832010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14984
14985 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
14986 completition in the middle of string.
14987
33e2e6f3
VS
149882010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14989
14990 * util/grub-mkrescue.in: Use mktemp with explicit template.
14991
b1f6d291
VS
149922010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14993
14994 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
14995
2ac227c7
VS
149962010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
14997
14998 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
14999 right pointer.
15000
8f9a632b
VS
150012010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15002
15003 Fix FreeBSD compilation.
15004
15005 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
15006 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
15007
60b03859
VS
150082010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
15009
15010 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
15011
48a5a769
VS
150122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15013
15014 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
15015
3ab4bd77
VS
150162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
15019
d116e0d8
RM
150202010-03-04 Robert Millan <rmh.grub@aybabtu.com>
15021
15022 Support relative image path in theme file.
15023
15024 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
15025 (image_set_property): Handle theme_dir and relative path.
15026
c7ef54aa
VS
150272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15028
15029 * configure.ac: Alias amd64 to x86_64.
15030
fcee14ed
VS
150312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15032
15033 * NEWS: mention multiboot on EFI.
15034
d0780363
VS
150352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15036
15037 * kern/main.c (grub_load_modules): Handle errors from init functions of
15038 embeded modules.
15039
41168ea4
VS
150402010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15041
15042 * normal/autofs.c (autoload_fs_module): Handle errors.
15043
b54d93ac
VS
150442010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15045
15046 Disable linux.mod on qemu-mips since it's not functional and leads
15047 to compilation failure.
15048
15049 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
15050 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
15051 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
15052 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
15053 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
15054 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
15055 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
15056 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
15057 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
15058 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
15059 Reported by: BVK Chaitanya
15060
fc8345da
JU
150612010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
15062
15063 * INSTALL: Add gettext as a dependency and add qemu to a new section
15064 "Prerequisites for make-check".
15065
4760f979
CF
150662010-03-04 Christian Franke <franke@computer.org>
15067
15068 * util/grub-pe2elf.c: Add missing include "progname.h".
15069
f209b5b2
VS
150702010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15071
15072 * normal/crypto.c (read_crypto_list): Fix a typo.
15073 Reported by: Seth Goldberg.
15074
b4b7be98
VS
150752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 15078 Reported by: Seth Goldberg.
b4b7be98 15079
c0ee0385
VS
150802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15081
15082 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
15083 ascii.bitmaps.
15084
a8efbf64
VS
150852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15086
15087 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 15088 Reported by: Seth Goldberg.
a8efbf64 15089
08dcd913
VS
150902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
15091
15092 * util/i386/efi/grub-install.in: Copy gettext files.
15093
c4d0b332
VS
150942010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15095
15096 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
15097
c6f2fe52
VS
150982010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15099
15100 Wait for user entry basing on presence of output rather than on errors.
15101
15102 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
15103 (grub_install_newline_hook): Likewise.
15104 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
15105 * normal/menu.c (show_menu): Check line_counter to determine presence
15106 of output.
15107 * normal/term.c (grub_normal_line_counter): New variable.
15108 (grub_normal_get_line_counter): New function.
15109 (grub_install_newline_hook): Likewise.
15110
5382b1e4
VS
151112010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15112
15113 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
15114
5519963b
VS
151152010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
15116
15117 * configure.ac: Update version to 1.98.
15118
72b28631
VS
151192010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15120
15121 * util/grub.d/10_linux.in (linux_entry): Don't default to
15122 gfxpayload=keep if Linux doesn't support video handover.
15123
c140a180
VS
151242010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
15125
15126 Don't compile video modules on yeeloong since video subsystem is part
15127 of kernel.
15128
15129 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
15130 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
15131 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
15132 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
15133 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
15134 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
15135 * include/grub/bitmap_scale.h: Likewise.
15136 * include/grub/bufio.h: Likewise.
15137 * include/grub/font.h: Likewise.
15138 * include/grub/gfxterm.h: Likewise.
15139 * include/grub/video.h: Likewise.
15140 * include/grub/vbe.h: Don't include video_fb.h.
15141 * video/i386/pc/vbe.c: Include video_fb.h.
15142 * commands/i386/pc/vbetest.c: Include video.h.
15143
a0ca21c2
CW
151442010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
15145
15146 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
15147 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
15148 default entry if GRUB_SAVEDEFAULT=true. This allows using
15149 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
15150 saving a new default on every boot.
15151
4a8a763c
VS
151522010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15153
15154 * normal/crypto.c (read_crypto_list): Fix a memory leak.
15155 * normal/term.c (read_terminal_list): Likewise.
15156 * normal/main.c (grub_normal_init_page): Likewise.
15157 (grub_normal_read_line_real): Likewise.
15158
607ffde2
VS
151592010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
15160
15161 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
15162 memory leak.
15163 Reported by: Seth Goldberg.
15164
2b8fa975
CW
151652010-02-24 Joey Korkames <joey+lists@kidfixit.com>
15166
15167 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
15168 duplicate declaration of `start'.
15169
618307dd
VS
151702010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15171
15172 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
15173 filename.
15174 Reported by: Georgy Buranov
15175
7dd05b96 151762010-02-20 Carles Pina i Estany <carles@pina.cat>
15177
15178 * util/grub-mkrawimage.c (usage): Change string formatting to
15179 improve gettext.
15180
d1484a42
MRA
151812010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
15182
15183 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
15184 backspace keys.
15185
42b1d186
VS
151862010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
15187
15188 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
15189 Reported by: Michael Suchanek.
15190
151912010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
15192
15193 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
15194 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
15195
d9f31a41
VS
151962010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
15197
15198 Remove any reference to non-free fonts.
15199
15200 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
15201 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
15202 uses non-free components.
15203 * font/font.c (grub_font_get_name): Remove example name.
15204 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
15205 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
15206 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
15207 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
15208
2793c71e
GB
152092010-02-16 Georgy Buranov <gburanov@gmail.com>
15210
15211 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
15212
402e3779
VS
152132010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15214
15215 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
15216 Double divisor.
15217 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
15218 features.
15219 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
15220
0dd1e0dd
VS
152212010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
15222
15223 * gensymlist.sh.in: Use TARGET_CC instead of CC.
15224
6fa7cfce
ST
152252010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15226
15227 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
15228 * docs/grub.texi (Command-line and menu entry commands): Document play
15229 command.
15230
37c8483b
ST
152312010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15232
15233 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
15234 parse arguments as inline tempo and notes. Move code for playing notes
15235 to...
15236 (play): ... new function.
15237
14da0fb7
ST
152382010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
15239
15240 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
15241 grub_uint16_t instead of short.
15242 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
15243 disk from little endian to cpu endianness.
15244
04459e70
ST
152452010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
15246
15247 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
15248 GRUB_TICKS_PER_SECOND instead of 120.
15249
a0876943
VS
152502010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15251
15252 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
15253 escape sequence after \e.
15254
e29f95dc
VS
152552010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15256
15257 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
15258 non-ASCII characters.
15259
d27859b2
VS
152602010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15261
15262 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
15263 set root in single quotes to prevent \, from being unescaped.
15264
bc028f2f
VS
152652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15266
15267 Prevent unknown commands from stopping menuentry execution.
15268
15269 * script/execute.c (grub_script_execute_cmdline): Print error after
15270 unknown command.
15271
095f5f82
VS
152722010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
15273
15274 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
15275 Reported by: Pavel Pisa.
15276
8c717950
VS
152772010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15278
15279 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
15280
904935c3
VS
152812010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15282
15283 Merge grub_ieee1275_map_physical into grub_map and rename to
15284 grub_ieee1275_map
15285
15286 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
15287 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
15288 Remove.
15289 * kern/ieee1275/openfw.c (grub_map): Rename to ...
15290 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
15291 necessary.
15292 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
15293
5b59a4e3
VS
152942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15295
15296 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
15297 opening and not after.
15298
69e137e8
VS
152992010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15300
15301 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
15302 constants.
15303
2c0fcc36
VS
153042010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15305
15306 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
15307 (alloc_phys): Use ALIGN_UP instead of align_addr.
15308
8c6052ce
VS
153092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15310
15311 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
15312
17cec782
VS
153132010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15314
15315 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
15316
e0128bbd
VS
153172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15318
15319 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
15320 verbose dprintf.
15321
ca62070b
VS
153222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 Fix over-4GiB seek on sparc64.
15325
15326 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
15327 Replace pos_i and pos_lo with pos. All users updated.
15328 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15329 New constant.
15330 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
15331 Likewise.
15332 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
15333 and pos_lo.
15334
bdca2607
VS
153352010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 * util/grub-mkrawimage.c (main): Call set_program_name.
15338
da278c4d
VS
153392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15340
15341 Properly align 64-bit targets.
15342
15343 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
15344 (generate_image): Use ALIGN_ADDR.
15345
b274d734
VS
153462010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15347
15348 Properly create cross-endian images.
15349
15350 * include/grub/types.h (grub_host_to_target_addr): New macro
15351 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
15352
82da2062
VS
153532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
15354
15355 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
15356
7cae4377
VS
153572010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15358
15359 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
15360
15361 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
15362 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
15363 (grub_linux_boot): Divide by 64K when on VESA.
15364
65a533e7
VS
153652010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15366
15367 Support GRUB_GFXPAYLOAD_LINUX.
15368
15369 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
15370 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
15371
dd01d397
VS
153722010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
15373
15374 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
15375 to show messages instead of discarding them.
15376 Process errors after executing command and not before. Keep old method
15377 too as precaution.
15378
660960d6
VS
153792010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
15380
15381 * configure.ac: Check for ft2build.h.
15382
62509f04
VS
153832010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15384
15385 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
15386
473df63d
VS
153872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15388
15389 * genkernsyms.sh.in: Use TARGET_CC.
15390
c98d2a13
CW
153912010-02-07 Colin Watson <cjwatson@ubuntu.com>
15392
15393 * NEWS: Update.
15394
6e14234c
VS
153952010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15396
15397 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
15398 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
15399 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 15400
b255e9cf
YB
154012010-02-07 Yves Blusseau <blusseau@zetam.org>
15402
6e14234c 15403 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 15404
98e6959d
VS
154052010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15406
15407 Fix warnings in grub-emu when compiling with maximum warning options.
15408
15409 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
15410 (grub_arch_modules_addr): Return 0 and not NULL.
15411 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 15412 (xstrdup): Use newstr instead of dup.
f88d801b
VS
15413 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
15414 of disk to dsk to avoid shadowing.
74e4934e
VS
15415 (find_free_slot): Fix prototype.
15416 * util/getroot.c (grub_util_is_dmraid): Make static.
15417 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
15418 Add missing prototype.
15419 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 15420
74e31b5c
VS
154212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15422
15423 * loader/i386/linux.c (grub_linux_setup_video): Handle error
15424 appropriately.
15425
6b2ad14b
VS
154262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15427
15428 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
15429 code out.
15430
8f891adc
VS
154312010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15432
15433 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
15434 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
15435 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
15436 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
15437 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
15438 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
15439
74b45184
VS
154402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15441
15442 * include/grub/err.h (grub_err_printf): Don't export.
15443
a4bced77
VS
154442010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15445
15446 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
15447
007d0695
VS
154482010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * include/grub/i18n.h (grub_gettext_dummy): Removed.
15451 * kern/misc.c (grub_gettext_dummy): Make static.
15452
b6c0d9c2
VS
154532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
15456 by non-valid ones.
15457 * kern/term.c (grub_putchar): Likewise.
15458
f51a90d0
VS
154592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
15462 buggy hook call and memory leak.
15463
6846cec5
VS
154642010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15465
15466 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
15467
468d69fe
VS
154682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15469
15470 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
15471
51906b8c
VS
154722010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15473
15474 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
15475 modevar.
15476 Return grub_errno on allocation error.
15477
09706ce5
VS
154782010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15479
15480 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
15481
911df80c
YB
154822010-02-06 Yves Blusseau <blusseau@zetam.org>
15483
15484 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
15485 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
15486
3746a6bc
VS
154872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15488
15489 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
15490 non-pxe disk.
15491 (grub_pxefs_open): Likewise.
15492
09706ce5
VS
154932010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15494
15495 * util/grub.d/10_hurd.in: Add --class information to menuentries.
15496 * util/grub.d/10_kfreebsd.in: Likewise.
15497 * util/grub.d/10_linux.in: Likewise.
15498
7cc192d9
VS
154992010-02-06 Colin D Bennett <colin@gibibit.com>
15500
15501 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
15502 (gfxmenu_mod_SOURCES): New variable.
15503 (gfxmenu_mod_CFLAGS): Likewise.
15504 (gfxmenu_mod_LDFLAGS): Likewise.
15505 * include/grub/term.h (grub_term_set_current_output): Declare
15506 argument as const.
15507 * docs/gfxmenu-theme-example.txt: New file.
15508 * gfxmenu/gfxmenu.c: Likewise.
15509 * gfxmenu/gui_box.c: Likewise.
15510 * gfxmenu/gui_canvas.c: Likewise.
15511 * gfxmenu/gui_circular_progress.c: Likewise.
15512 * gfxmenu/gui_image.c: Likewise.
15513 * gfxmenu/gui_label.c: Likewise.
15514 * gfxmenu/gui_list.c: Likewise.
15515 * gfxmenu/gui_progress_bar.c: Likewise.
15516 * gfxmenu/gui_string_util.c: Likewise.
15517 * gfxmenu/gui_util.c: Likewise.
15518 * gfxmenu/icon_manager.c: Likewise.
15519 * gfxmenu/model.c: Likewise.
15520 * gfxmenu/named_colors.c: Likewise.
15521 * gfxmenu/theme_loader.c: Likewise.
15522 * gfxmenu/view.c: Likewise.
15523 * gfxmenu/widget-box.c: Likewise.
15524 * include/grub/gfxmenu_model.h: Likewise.
15525 * include/grub/gfxmenu_view.h: Likewise.
15526 * include/grub/gfxwidgets.h: Likewise.
15527 * include/grub/gui.h: Likewise.
15528 * include/grub/gui_string_util.h: Likewise.
15529 * include/grub/icon_manager.h: Likewise.
15530
155312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15532
15533 Agglomerate scrolling in gfxterm.
15534
15535 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
15536 (grub_virtual_screen_setup): Initialise 'total_screen'.
15537 (write_char): Split to ...
15538 (paint_char): ... this ...
15539 (write_char): ... and this.
15540 (paint_char): Handle delayed scrolling.
15541 (draw_cursor): Likewise.
15542 (scroll_up): Split to ...
15543 (real_scroll): ... this ...
15544 (scroll_up): ... and this.
15545 (real_scroll): Handle multi-line scroll and draw below-the-bottom
15546 characters.
15547 (grub_gfxterm_refresh): Call real_scroll.
15548
155492010-02-06 Colin D Bennett <colin@gibibit.com>
15550
15551 * include/grub/misc.h (grub_iscntrl): New inline function.
15552 (grub_isalnum): Likewise.
15553 (grub_strtol): Likewise.
15554
155552010-02-06 Colin D Bennett <colin@gibibit.com>
15556
15557 * normal/menu_text.c (get_entry_number): Move from here ...
15558 * normal/menu.c (get_entry_number): ... moved here.
15559 * include/grub/menu.h (grub_menu_get_default_entry_index):
15560 New prototype.
15561 * normal/menu.c (grub_menu_get_default_entry_index): New function.
15562 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
15563 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
15564 (grub_menu_viewer_should_return): Likewise.
15565 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
15566 * normal/menu_text.c (run_menu): Enable menu switching.
15567 * normal/menu_viewer.c (should_return): New variable.
15568 (menu_viewer_changed): Likewise.
15569 (grub_menu_viewer_show_menu): Handle menu viewer changes.
15570 (grub_menu_viewer_should_return): New function.
15571 (menuviewer_write_hook): Likewise.
15572 (grub_menu_viewer_init): Likewise.
15573
155742010-02-06 Colin D Bennet <colin@gibibit.com>
155752010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15576
15577 Support for gfxterm in a window.
15578
15579 * include/grub/gfxterm.h: New file.
15580 * include/grub/video.h (struct grub_video_rect): New declaration.
15581 (grub_video_rect_t): Likewise.
15582 * term/gfxterm.c (struct grub_gfxterm_window): New type.
15583 (refcount): New variable.
15584 (render_target): Likewise.
15585 (window): Likewise.
15586 (repaint_callback): Likewise.
15587 (grub_virtual_screen_setup): Use 'render_target'.
15588 (init_window): New function.
15589 (grub_gfxterm_init_window): Likewise.
15590 (grub_gfxterm_init): Check reference counter.
15591 Use init_window.
15592 (destroy_window): New function.
15593 (grub_gfxterm_destroy_window): Likewise.
15594 (grub_gfxterm_fini): Check reference counter.
15595 Use destroy_window.
15596 (redraw_screen_rect): Restore viewport.
15597 Use 'render_target' and 'window'.
15598 Call 'repaint_callback'.
15599 (write_char): Use 'render_target'.
15600 (draw_cursor): Likewise.
15601 (scroll_up): Restore viewport.
15602 Use 'render_target' and 'window'.
15603 Call 'repaint_callback'.
15604 (grub_gfxterm_cls): Likewise.
15605 (grub_gfxterm_refresh): Use 'window'.
15606 (grub_gfxterm_set_repaint_callback): New function.
15607 (grub_gfxterm_background_image_cmd): Use 'window'.
15608 (grub_gfxterm_get_term): New function.
15609 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
15610
156112010-02-06 Colin D Bennett <colin@gibibit.com>
15612
15613 Bitmap scaling support.
15614
15615 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
15616 (bitmap_scale_mod_SOURCES): New variable.
15617 (bitmap_scale_mod_CFLAGS): Likewise.
15618 (bitmap_scale_mod_LDFLAGS): Likewise.
15619 * include/grub/bitmap_scale.h: New file.
15620 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
15621 (background_image_cmd_options): New variable.
15622 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
15623 (cmd): Rename and change type to ...
15624 (background_image_cmd_handle): ... this. All users updated.
15625 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
15626 * video/bitmap_scale.c: New file.
15627
156282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15629
15630 SDL support.
15631
15632 * Makefile.in (LIBSDL): New variable.
15633 (enable_grub_emu_sdl): Likewise.
15634 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
15635 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
15636 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
15637 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
15638 * util/sdl.c: New file.
15639
156402010-02-06 Colin D Bennett <colin@gibibit.com>
156412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15642
15643 Double buffering support.
15644
15645 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
15646 * include/grub/video.h: Update comment.
15647 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
15648 New type.
15649 (grub_video_fb_doublebuf_blit_init): New prototype.
15650 * term/gfxterm.c (scroll_up): Support double buffering.
15651 (grub_gfxterm_refresh): Likewise.
15652 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
15653 (grub_video_fb_doublebuf_blit_init): Likewise.
15654 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
15655 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
15656 'displayed_page', 'render_page' and 'update_screen'.
15657 (grub_video_vbe_fini): Free offscreen buffer.
15658 (doublebuf_pageflipping_commit): New function.
15659 (doublebuf_pageflipping_update_screen): Likewise.
15660 (doublebuf_pageflipping_init): Likewise.
15661 (double_buffering_init): Likewise.
15662 (grub_video_vbe_setup): Enable doublebuffering.
15663 (grub_video_vbe_swap_buffers): Implement.
15664 (grub_video_vbe_set_active_render_target): Handle double buffering.
15665 (grub_video_vbe_get_active_render_target): Likewise.
15666 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
15667 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
15668 (grub_video_vbe_enable_double_buffering): Likewise.
15669 (grub_video_vbe_swap_buffers): Use update_screen.
15670 (grub_video_set_mode): Use double buffering.
15671
156722010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15673
15674 * maintainance/gentrigtables.py: Remove.
15675 * lib/trig.c: Likewise.
15676
15677 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
15678
15679 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
15680 `trigtables.c'.
15681 (trigtables.c): New rule.
15682 (gentrigtables): Likewise.
15683 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
15684
156852010-02-06 Robert Millan <rmh.grub@aybabtu.com>
15686
15687 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
15688 integer constants.
15689
156902010-02-06 Colin D Bennet <colin@gibibit.com>
15691
15692 Trigonometry support.
15693
15694 * include/grub/trig.h: New file.
15695 * lib/trig.c: Likewise.
15696 * maintainance/gentrigtables.py: Likewise.
15697 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
15698 (trig_mod_SOURCES): New variable.
15699 (trig_mod_CFLAGS): Likewise.
15700 (trig_mod_LDFLAGS): Likewise.
15701
5562834e
VS
157022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15703
15704 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
15705 disk devices.
15706
4f8528fc
VS
157072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
15708
15709 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
15710 error.
15711
2b4068e9
VS
157122010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15713
15714 * util/hostdisk.c (open_device): Don't use partition device when reading
15715 before the partition.
15716 (grub_util_biosdisk_read): Don't read from partition and before the
15717 partition in single operation.
15718 (grub_util_biosdisk_write): Don't write to partition and before the
15719 partition in single operation.
15720
399f6e4d
TL
157212010-02-03 Torsten Landschoff <torsten@debian.org>
15722
15723 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15724 last sectors.
15725
996649b0
VS
157262010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
15727
15728 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
15729 CDROM reads.
15730 (grub_biosdisk_write): Refuse to write to CDROM.
15731
3b205d4d
VS
157322010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15733
15734 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
15735
61e89d9d
VS
157362010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
15737
15738 * font/font.c (find_glyph): Check that bmp_idx is available before
15739 using it.
15740 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
15741 with (font == NULL).
15742
bf7fcba2
CS
157432010-01-28 Christian Schmitt <chris@ilovelinux.de>
15744
15745 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
15746
f45d2663
BC
157472010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
15748
15749 * include/grub/script_sh.h (sourcecode): Add const qualifier.
15750 * util/grub-script-check.c (getline): Fix empty lines case.
15751
ec1444e6
RM
157522010-01-28 Robert Millan <rmh.grub@aybabtu.com>
15753
15754 * Makefile.in (check): Exit with fail status when one of the tests
15755 fails.
15756 * tests/example_functional_test.c (example_test): Fix reversed assert.
15757 * tests/example_unit_test.c (example_test): Likewise.
15758
2e1cb9bb
CW
157592010-01-28 Colin Watson <cjwatson@ubuntu.com>
15760
15761 * util/grub.d/10_linux.in: This script does not use any of the
15762 contents of gettext.sh, only the external command `gettext', so stop
15763 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
15764 the same prefix as GRUB.)
15765 * util/grub.d/10_kfreebsd.in: Likewise.
15766
63533ab0
VS
157672010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15768
15769 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
15770 of the line.
15771
989e1f93
VS
157722010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15773
15774 * kern/disk.c (grub_disk_read): Fix offset computation when reading
15775 last sectors.
15776
e709ebe2
VS
157772010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
15778
15779 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
15780 having a 4KiB and not 32KiB buffer size.
15781
27dea7ed
RM
157822010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15783
15784 * util/hostfs.c: Include `<errno.h>'.
15785 (grub_hostfs_read): Handle errors from fseeko() and fread().
15786
67667b9c
RM
157872010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15788
15789 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
15790 loop when using read hooks on files whose size isn't sector-aligned.
15791
c294d9d8
RM
157922010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15793
15794 Remove unused parameter.
15795
15796 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
15797 (grub_iso9660_open): Remove initialization of `data->length'.
15798
af75a9f1
RM
157992010-01-27 Robert Millan <rmh.grub@aybabtu.com>
15800
15801 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
15802 memleak conditions.
15803
254e2ce5 158042010-01-27 Carles Pina i Estany <carles@pina.cat>
15805
15806 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
15807 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
15808
b510928c 158092010-01-26 Carles Pina i Estany <carles@pina.cat>
15810
15811 * util/bin2h.c (usage): Fix warning (space after backslash).
15812
aa2f9dd2 158132010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 15814
15815 * font/font.c: Include `grub/fontformat.h.
15816 Remove font file format constants.
15817 (grub_font_load): Use the new macros.
15818 * include/grub/fontformat.h: New file.
15819 * util/grub-mkfont.c: Include `grub/fontformat.c'.
15820 (write_font_pf2): Use the new macros.
15821
94e7e712
RM
158222010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15823
15824 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
15825 does.
15826
3973a59a
RM
158272010-01-26 Robert Millan <rmh.grub@aybabtu.com>
15828
15829 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
15830
15831 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
15832 (_start): Macroify `0x7F'.
15833
15834 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
15835 (make_install_device): Use "(pxe)" as fallback prefix when booting
15836 via PXE.
15837
42e0cba3
GS
158382010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
15839
15840 * configure.ac: Reset LIBS after check for libgcc symbols.
15841
847effd8
CW
158422010-01-25 Colin Watson <cjwatson@ubuntu.com>
15843
15844 * util/hostdisk.c (open_device): Add trailing newline to debug
15845 message.
15846
ea4a7e35
GS
158472010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
15848
15849 * configure.ac: Check for `limits.h'.
15850 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
15851
67951a53
RM
158522010-01-24 Robert Millan <rmh.grub@aybabtu.com>
15853
15854 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
15855 capitalize error strings.
15856
c273d4ce
ST
158572010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
15858
15859 * util/grub.d/10_hurd.in: Add a recovery mode.
15860
69be5b74
VS
158612010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
15862
15863 * configure.ac: Check for libgcc symbols with -nostdlib.
15864
fc9e5810
BC
158652010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
15866
15867 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
15868
4b358c0a
VS
158692010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15870
15871 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
15872 stack since heap may be unavailable at that point.
15873 (grub_ofconsole_gotoxy): Likewise.
15874
454fcd1c
VS
158752010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15876
15877 * configure.ac: Check for _restgpr_14_x.
15878 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
15879 and _savegpr_* prototypes.
15880
566863ca
RM
158812010-01-22 Robert Millan <rmh.grub@aybabtu.com>
15882
15883 Use generic grub_reboot() for i386-efi.
15884
15885 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
15886 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
15887 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
15888
bf86e59a
VS
158892010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
15890
15891 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
15892 presence of "prefix" variable as it breaks when normal.mod is
15893 embedded.
15894
d645e0f8
VS
158952010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15896
15897 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
15898 stack since heap is unavailable at that point.
15899
f9ab2e25
VS
159002010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
15903 (grub_freebsd_bootinfo): Rewritten.
15904 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
15905
01fc7054
VS
159062010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
15907
15908 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
15909
caab4fd6
RM
159102010-01-21 Robert Millan <rmh.grub@aybabtu.com>
15911
15912 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
15913 domain now.
15914
67eb1427
FZ
159152010-01-20 Felix Zielcke <fzielcke@z-51.de>
15916
15917 * util/misc.c (make_system_path_relative_to_its_root): Change the work
15918 around for handling "/" to the correct fix. Fix a memory leak. Use
15919 xstrdup instead of strdup.
15920
a9ed4ff3
VS
159212010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15922
15923 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
15924
159252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
15926
15927 Optimise glyph lookup by Basic Multilingual Plane lookup array.
15928
15929 * font/font.c (struct grub_font): New member 'bmp_idx'.
15930 (font_init): Initialise 'bmp_idx'.
15931 (load_font_index): Fill 'bmp_idx'.
15932 (find_glyph): Make inline. Use bmp_idx for BMP characters.
15933
48209f4f
VS
159342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15935
15936 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
15937 unnecessary calls.
15938
9f0a4bb7
VS
159392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15940
15941 Move context handling out of the kernel.
15942
15943 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
15944 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
15945 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
15946 * conf/i386-efi.rmk: Likewise.
15947 * conf/i386-ieee1275.rmk: Likewise.
15948 * conf/i386-pc.rmk: Likewise.
15949 * conf/powerpc-ieee1275.rmk: Likewise.
15950 * conf/sparc64-ieee1275.rmk: Likewise.
15951 * conf/x86_64-efi.rmk: Likewise.
15952 * include/grub/env.h: Include grub/menu.h.
15953 (grub_env_var_type): Removed.
15954 (grub_env_var): Replaced field 'type' with 'global'.
15955 (grub_env_find): New prototype.
15956 (grub_env_context_open): Remove EXPORT_FUNC.
15957 (grub_env_context_close): Likewise.
15958 (grub_env_export): Likewise.
15959 (grub_env_set_data_slot): Removed.
15960 (grub_env_get_data_slot): Likewise.
15961 (grub_env_unset_data_slot): Likewise.
15962 (grub_env_unset_menu): New prototype.
15963 (grub_env_set_menu): Likewise.
15964 (grub_env_get_menu): Likewise.
15965 * include/grub/env_private.h: New file.
15966 * include/grub/normal.h (grub_context_init): New prototype.
15967 (grub_context_fini): Likewise.
15968 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
15969 * normal/context.c (grub_cmd_export): ... to here.
15970 * kern/env.c: Include env_private.h.
15971 (HASHSZ): Moved to include/grub/env_private.h.
15972 (grub_env_context): Likewise.
15973 (grub_env_sorted_var): Likewise.
15974 (current_context): Renamed from this ...
15975 (grub_current_context): ...to this. 'static' removed. All users updated.
15976 (grub_env_find): Removed 'static'.
15977 (grub_env_context_open): Moved to normal/context.c.
15978 (grub_env_context_close): Likewise.
15979 (grub_env_export): Likewise.
15980 (mangle_data_slot_name): Removed.
15981 (grub_env_set_data_slot): Likewise.
15982 (grub_env_get_data_slot): Likewise.
15983 (grub_env_unset_data_slot): Likewise.
15984 * kern/main.c (grub_set_root_dev): Don't export root.
15985 It will be done later.
15986 (grub_main): Don't export prefix.
15987 It will be done later.
15988 * normal/context.c: New file.
15989 * normal/main.c (free_menu): Use grub_env_unset_menu.
15990 (grub_normal_add_menu_entry): Use grub_env_get_menu.
15991 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
15992 (GRUB_MOD_INIT(normal)): Call grub_context_init.
15993 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
15994
8dd35b8c
VS
159952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
15996
15997 setpci support.
15998
15999 * commands/setpci.c: New file.
16000 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
16001 (setpci_mod_SOURCES): New variable.
16002 (setpci_mod_CFLAGS): Likewise.
16003 (setpci_mod_LDFLAGS): Likewise.
16004
449193d5
VS
160052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 Byte-addressable PCI configuration space.
16008
16009 * bus/pci.c (grub_pci_make_address): Use byte address instead of
16010 dword address.
16011 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
16012 GRUB_PCI_REG_CACHELINE.
16013 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
16014 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
16015 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
16016 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
16017 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
16018 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
16019 grub_pci_make_address.
16020 (lock_rom_area): Likewise.
16021 * commands/lspci.c (grub_lspci_iter): Use macroses
16022 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
16023 of grub_pci_make_address.
16024 * disk/ata.c (grub_ata_pciinit): Likewise.
16025 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
16026 (GRUB_PCI_REG_VENDOR): Likewise.
16027 (GRUB_PCI_REG_DEVICE): Likewise.
16028 (GRUB_PCI_REG_COMMAND): Likewise.
16029 (GRUB_PCI_REG_STATUS): Likewise.
16030 (GRUB_PCI_REG_REVISION): Likewise.
16031 (GRUB_PCI_REG_CLASS): Likewise.
16032 (GRUB_PCI_REG_CACHELINE): Likewise.
16033 (GRUB_PCI_REG_LAT_TIMER): Likewise.
16034 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
16035 (GRUB_PCI_REG_BIST): Likewise.
16036 (GRUB_PCI_REG_ADDRESSES): Likewise.
16037 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16038 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16039 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16040 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16041 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16042 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
16043 (GRUB_PCI_REG_CIS_POINTER): Likewise.
16044 (GRUB_PCI_REG_SUBVENDOR): Likewise.
16045 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
16046 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
16047 (GRUB_PCI_REG_CAP_POINTER): Likewise.
16048 (GRUB_PCI_REG_IRQ_LINE): Likewise.
16049 (GRUB_PCI_REG_IRQ_PIN): Likewise.
16050 (GRUB_PCI_REG_MIN_GNT): Likewise.
16051 (GRUB_PCI_REG_MAX_LAT): Likewise.
16052 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
16053 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
16054 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 16055 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
16056 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
16057 space.
16058
96d73208
RM
160592010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16060
16061 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
16062 can be reliably determined to be supported.
16063
d4484482
RM
160642010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16065
16066 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
16067 that VESA is supported.
16068 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
16069 supported.
16070
00308ecf
VS
160712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16072
16073 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
16074
f66924a4
RM
160752010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16076
16077 * util/misc.c (make_system_path_relative_to_its_root): Work around
16078 special-casing of "/", as previous incarnation of this routine did.
16079
cbca0ada
VS
160802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16081
16082 Fix any-emu compilation.
16083
16084 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
16085 * grub_bin2h_SOURCES: New variable.
16086
34a66d99
RM
160872010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16088
16089 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
16090
94fabf58
RM
160912010-01-20 Robert Millan <rmh.grub@aybabtu.com>
16092
16093 * util/grub.d/00_header.in: Fix handling of locale_dir.
16094
02cf98ca
VS
160952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16096
16097 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
16098 as possible unifont location (Gentoo).
16099 Reported by: Alexander Brüning
16100
327dbcd7
VS
161012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16102
16103 Don't try to generate lists for kernel.img.
16104
16105 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
16106 (pkglib_MODULES): Remove kernel.img.
16107 (kernel_img_EXPORTS): Removed.
16108 (kernel_img_RELOCATABLE): New variable.
16109 * conf/x86_64-efi.rmk: Likewise.
16110 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
16111
ca467290
VS
161122010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16113
16114 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
16115 grub_xasprintf or grub_snprintf.
16116 (grub_vsprintf): Likewise.
16117 (grub_snprintf): New proto.
16118 (grub_vsnprintf): Likewise.
16119 (grub_xasprintf): Likewise.
16120 (grub_xvasprintf): Likewise.
16121 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
16122 (grub_sprintf): Removed.
16123 (grub_vsnprintf): New function.
16124 (grub_snprintf): Likewise.
16125 (grub_xvasprintf): Likewise.
16126 (grub_xasprintf): Likewise.
16127 (grub_vsprintf): Renamed to ...
16128 (grub_vsnprintf_real): ...this. New argument max_len.
16129
aca655fd
BC
161302010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
16131
16132 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
16133 fix grub-script-check warning.
16134
7ee92c32
VS
161352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 * include/grub/font.h (grub_font_load): Fix prototype.
16138
f80927ca
VS
161392010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16140
16141 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
16142
119c50ea
VS
161432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16144
16145 * include/grub/x86_64/at_keyboard.h: New file.
16146
47d5f3c1
VS
161472010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16148
16149 * loader/mips/linux.c: Include missing grub/i18n.h.
16150
55ff5266
RM
161512009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16152
16153 * normal/menu.c (notify_execution_failure): Clarify error message.
16154
c893cc87
RM
161552009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16156
16157 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
16158 return value (and revert all return statements). Update users.
16159
917dd370
CW
161602010-01-20 Dan Merillat <debian@dan.merillat.org>
16161
16162 * kern/device.c (grub_device_iterate): Allocate new part_ent
16163 structure based on sizeof (*p) rather than sizeof (p->next), to
16164 account for structure padding.
16165
16166 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
16167 disk is NULL, which might happen for LVM physical volumes with no
16168 LVM signature.
16169
d4a4ee57
RM
161702009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16171
16172 * loader/mips/linux.c (grub_cmd_initrd)
16173 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
16174
161752009-12-20 Robert Millan <rmh.grub@aybabtu.com>
16176
16177 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
16178 (grub_video_video_init, grub_video_bitmap_init)
16179 (grub_font_manager_init, grub_term_gfxterm_init)
16180 (grub_at_keyboard_init): New extern declarations.
16181 (grub_machine_init): Initialize gfxterm and at_keyboard.
16182
16183 * kern/main.c (grub_main): Revert grub_printf delay kludge.
16184
16185 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
16186 `gfxterm.mod' into core image.
16187
16188 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16189 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16190 (kernel_img_FORMAT): Copy to ...
16191
16192 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16193 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16194 (kernel_img_FORMAT): ... here, and ...
16195
16196 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
16197 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
16198 (kernel_img_FORMAT): ... here.
16199
16200 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
16201 and input (at_keyboard) terminals in kernel.
16202 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
16203
16204 (pkglib_MODULES): Remove `pci.mod'.
16205 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
16206 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
16207 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
16208 (at_keyboard_mod_LDFLAGS): Remove variables.
16209
162102010-01-11 Felix Zielcke <fzielcke@z-51.de>
16211
16212 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
16213
162142009-12-10 Robert Millan <rmh.grub@aybabtu.com>
16215
16216 * include/grub/mips/libgcc.h: Only export symbols for functions
16217 that libgcc provides.
16218
162192009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
16220
16221 MIPS support.
16222
16223 * bus/bonito.c: New file.
16224 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
16225 GRUB_PCI_NUM_DEVICES.
16226 * term/i386/pc/serial.c: Move to ...
16227 * term/serial.c: ... here. All users updated.
16228 * util/i386/pc/grub-mkimage.c: Move to ...
16229 * util/grub-mkrawimage.c: ... here. All users updated.
16230 * term/i386/pc/at_keyboard.c: Move to ...
16231 * term/at_keyboard.c: ... here. All users updated.
16232 * conf/mips-qemu-mips.rmk: New file.
16233 * conf/mips-yeeloong.rmk: Likewise.
16234 * conf/mips.rmk: Likewise.
16235 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
16236 mipsel-qemu-mips.
16237 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
16238 to port addresses.
16239 (grub_ata_pciinit): Support CS5536.
16240 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
16241 * font/font_cmd.c (loadfont_command): Open file before passing it to
16242 grub_font_load.
16243 (pseudo_file_read): New function.
16244 (pseudo_file_close): Likewise.
16245 (pseudo_fs): New structure.
16246 (load_font_module): New function.
16247 (GRUB_MOD_INIT(font_manager)): Load embedded font.
16248 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
16249 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
16250 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
16251 * include/grub/i386/at_keyboard.h: Split into ...
16252 * include/grub/at_keyboard.h: ... this ...
16253 * include/grub/i386/at_keyboard.h: ... and this.
16254 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
16255 New prototype.
16256 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
16257 updated.
16258 (grub_elf64_size): Likewise.
16259 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
16260 filename.
16261 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
16262 * include/grub/i386/coreboot/serial.h: Rewritten.
16263 * include/grub/i386/ieee1275/serial.h: Include
16264 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
16265 * include/grub/i386/pc/serial.h: Moved from here ...
16266 * include/grub/serial.h: ... to here. All users updated.
16267 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
16268 (GRUB_PCI_NUM_BUS): Likewise.
16269 (GRUB_PCI_NUM_DEVICES): Likewise.
16270 (grub_pci_device_map_range): Add missing volatile keyword.
16271 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
16272 * include/grub/mips/at_keyboard.h: New file.
16273 * include/grub/mips/cache.h: Likewise.
16274 * include/grub/mips/io.h: Likewise.
16275 * include/grub/mips/kernel.h: Likewise.
16276 * include/grub/mips/libgcc.h: Likewise.
16277 * include/grub/mips/pci.h: Likewise.
16278 * include/grub/mips/qemu-mips/boot.h: Likewise.
16279 * include/grub/mips/qemu-mips/kernel.h: Likewise.
16280 * include/grub/mips/qemu-mips/loader.h: Likewise.
16281 * include/grub/mips/qemu-mips/memory.h: Likewise.
16282 * include/grub/mips/qemu-mips/serial.h: Likewise.
16283 * include/grub/mips/qemu-mips/time.h: Likewise.
16284 * include/grub/mips/relocator.h: Likewise.
16285 * include/grub/mips/time.h: Likewise.
16286 * include/grub/mips/types.h: Likewise.
16287 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
16288 * include/grub/mips/yeeloong/boot.h: Likewise.
16289 * include/grub/mips/yeeloong/kernel.h: Likewise.
16290 * include/grub/mips/yeeloong/loader.h: Likewise.
16291 * include/grub/mips/yeeloong/memory.h: Likewise.
16292 * include/grub/mips/yeeloong/pci.h: Likewise.
16293 * include/grub/mips/yeeloong/serial.h: Likewise.
16294 * include/grub/mips/yeeloong/time.h: Likewise.
16295 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
16296 * kern/elf.c (grub_elf32_size): New parameter. All users
16297 updated.
16298 (grub_elf64_size): Likewise.
16299 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
16300 Load modules before saying "Welcome to GRUB!".
16301 Call grub_refresh after saying "Welcome to GRUB!".
16302 * kern/mips/cache.S: New file.
16303 * kern/mips/cache_flush.S: Likewise.
16304 * kern/mips/dl.c: Likewise.
16305 * kern/mips/init.c: Likewise.
16306 * kern/mips/qemu-mips/init.c: Likewise.
16307 * kern/mips/startup.S: Likewise.
16308 * kern/mips/yeeloong/init.c: Likewise.
16309 * kern/term.c (grub_putcode): Handle NULL terminal.
16310 (grub_getcharwidth): Likewise.
16311 (grub_getkey): Likewise.
16312 (grub_checkkey): Likewise.
16313 (grub_getkeystatus): Likewise.
16314 (grub_getxy): Likewise.
16315 (grub_getwh): Likewise.
16316 (grub_gotoxy): Likewise.
16317 (grub_cls): Likewise.
16318 (grub_setcolorstate): Likewise.
16319 (grub_setcolor): Likewise.
16320 (grub_getcolor): Likewise.
16321 (grub_refresh): Likewise.
16322 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
16323 (write_jump): Add hatch nop.
16324 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
16325 * lib/mips/setjmp.S: New file.
16326 * loader/mips/linux.c: Likewise.
16327 * term/i386/pc/at_keyboard.c: Move from here ...
16328 * term/at_keyboard.c: ... to here.
16329 * term/i386/pc/serial.c: Moved from here ...
16330 * term/serial.c: ... to here. All users updated.
16331 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
16332 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
16333 (serial_translate_key_sequence): Avoid deadlock.
16334 (grub_serial_getkey): Handle backspace.
16335 (grub_serial_putchar): Fix newline handling.
16336 * util/i386/pc/grub-mkimage.c: Move from here ...
16337 * util/grub-mkrawimage.c: ... to here. All users updated.
16338 (generate_image): New parameters 'font_path' and 'format'.
16339 Support embedding font.
16340 Use grub_host_to_target* instead of grub_cpu_to_le*.
16341 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
16342 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
16343 (options): New option "--font".
16344 (usage): Likewise.
16345 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
16346 (main): Handle "--font".
16347 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
16348 (grub_virtual_screen_setup): Set bg_color_display.
16349 (redraw_screen_rect): Use bg_color_display instead of incorrect
16350 bg_color.
16351 (grub_gfxterm_cls): Likewise.
16352 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
16353 Support embedding config file.
16354 (add_segments): Likewise.
16355 (options): New option "--config".
16356 (main): Handle "--config".
16357 * video/sm712.c: New file.
16358
25c2b5b3
RM
163592010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16360
16361 Fix parallel builds.
16362
16363 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
16364 font.c depend on ascii.h).
16365
163662010-01-12 Carles Pina i Estany <carles@pina.cat>
16367
16368 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
16369
163702010-01-11 Carles Pina i Estany <carles@pina.cat>
16371
16372 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
16373 By default: disabled.
16374 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
16375 parameter.
16376
163772010-01-10 Carles Pina i Estany <carles@pina.cat>
16378
16379 * font/font.c: Update copyright years.
16380 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
16381
163822010-01-10 Carles Pina i Estany <carles@pina.cat>
16383
16384 * font/font.c: Include `ascii.h'.
16385 (ASCII_BITMAP_SIZE): New macro.
16386 (ascii_font_glyph): Define.
16387 (ascii_glyph_lookup): New function.
16388 (grub_font_get_string_width): Change comment. If glyph not found, use
16389 ascii_glyph_lookup.
16390 (grub_font_get_glyph_with_fallback): If glyph not available returns
16391 ascii_glyph_lookup.
16392 * util/grub-mkfont.c (file_formats): New enum.
16393 (options): Add `ascii-bitmaps' new option.
16394 (usage): Add `asii-bitmaps' new option.
16395 (write_font_ascii_bitmap): New function.
16396 (write_font): Rename to ...
16397 (write_font_p2): ... this. Remove print_glyphs call.
16398 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
16399 used. Call print_glyphs.
16400 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
16401
164022010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16403
16404 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
16405 (grub_bin2h_SOURCES): New variable.
16406 * util/bin2h.c: New file.
16407
915fc1b8
VS
164082010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
16409
16410 * include/multiboot.h: Resynced with spec.
16411 * include/multiboot2.h: Likewise.
16412 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
16413 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
16414
9444b678
RM
164152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16416
16417 * include/grub/term.h (grub_term_register_input,
16418 grub_term_register_output): Check return of terminal init()
16419 routines, and abort if errors are raised.
16420
16421 * commands/terminal.c: Update copyright year.
16422
cba98e8d
RM
164232010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16424
16425 * commands/terminal.c (grub_cmd_terminal_input)
16426 (grub_cmd_terminal_output): Check return of terminal init()
16427 routines, and abort if errors are raised.
16428
6f7db5d6
VS
164292010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16430
16431 * include/grub/i386/bsd.h: Fix include pathes.
16432
262bff8d
VS
164332010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
16434
16435 Add missing *BSD copyright headers.
16436
16437 * include/grub/aout.h: Add BSD licence.
16438 * include/grub/i386/bsd.h: Parts under different licences moved to ...
16439 * include/grub/i386/freebsd_linker.h: ... here,
16440 * include/grub/i386/freebsd_reboot.h: ... here,
16441 * include/grub/i386/netbsd_bootinfo.h: ... here,
16442 * include/grub/i386/netbsd_reboot.h: ... here,
16443 * include/grub/i386/openbsd_bootarg.h: ... here,
16444 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
16445 licence to each file.
16446
b2cab848
RM
164472010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16448
16449 * acinclude.m4: Remove `nop' assembly instruction; it's not
16450 implemented by all architectures.
16451
2cb6be4b
RM
164522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16453
16454 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
16455 ELILO. This is no longer necessary.
16456
a2eaee15
BC
164572010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
16458
16459 Added new tool, grub-scrit-check to verify grub.cfg syntax.
16460
16461 * util/grub-script-check.c: grub-script-check tool.
16462 * conf/common.rmk: Make rules for grub-script-check.
16463
88d17012
RM
164642010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16465
16466 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
16467 spotting it back in 2008. Shame on me for forgetting he did.
16468
16469 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
16470
8040619d
RM
164712010-01-18 Robert Millan <rmh.grub@aybabtu.com>
16472
16473 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
16474 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
16475 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
16476 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
16477 (GRUB_VIDEO_TYPE_EFI): Rename to ...
16478 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
16479
a0c2a0f6
RM
164802010-01-17 Robert Millan <rmh.grub@aybabtu.com>
16481
16482 * include/grub/test.h: Add license header.
16483 * tests/example_functional_test.c: Likewise.
16484 * tests/example_unit_test.c: Likewise.
16485 * tests/lib/functional_test.c: Likewise.
16486 * tests/lib/test.c: Likewise.
16487 * tests/lib/unit_test.c: Likewise.
16488
b0b13907
VS
164892010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
16490
16491 Use flag-based instead of hook-based video mode selection and "auto"
16492 keyword.
16493
16494 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
16495 (grub_video_set_mode): Changed prototype. All users updated.
16496 (grub_video_check_mode_flag): New inline function.
16497 * video/video.c (parse_modespec): New function.
16498 (grub_video_set_mode): Parse flags and keywords.
16499
ea379330 165002010-01-17 Carles Pina i Estany <carles@pina.cat>
16501
16502 * util/misc.c (grub_util_info): Fix the order of the parameters in a
16503 fprintf call.
16504
e15c215e
FZ
165052010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
16506
16507 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
16508
409ae1c9 165092010-01-16 Carles Pina i Estany <carles@pina.cat>
16510
16511 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
16512 string.
16513 * util/grub-emu.c (usage): Likewise.
16514 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
16515 * util/i386/efi/grub-mkimage.c (usage): Likewise.
16516 * util/i386/pc/grub-mkimage.c (usage): Likewise.
16517 * util/i386/pc/grub-setup.c (usage): Likewise.
16518
70a14d3d 165192010-01-16 Carles Pina i Estany <carles@pina.cat>
16520
16521 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
16522 the message.
16523 (grub_util_info): Likewise.
16524 (grub_util_error): Likewise.
16525 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
16526 and/or new lines in `grub_util_warna', `grub_util_info',
16527 `grub_util_error' calls.
16528 * util/getroot.c: Likewise.
16529 * util/grub-editenv.c: Likewise.
16530 * util/grub-emu.c: Likewise.
16531 * util/grub-fstest.c: Likewise.
16532 * util/grub-mkdevicemap.c: Likewise.
16533 * util/grub-mkfont.c: Likewise.
16534 * util/grub-mkpasswd-pbkdf2.c: Likewise.
16535 * util/grub-mkrelpath.c: Likewise.
16536 * util/grub-pe2elf.c: Likewise.
16537 * util/grub-probe.c: Likewise.
16538 * util/hostdisk.c: Likewise.
16539 * util/i386/efi/grub-mkimage.c: Likewise.
16540 * util/i386/pc/grub-mkimage.c: Likewise.
16541 * util/i386/pc/grub-setup.c: Likewise.
16542 * util/ieee1275/ofpath.c: Likewise.
16543 * util/mkisofs/eltorito.c: Likewise.
16544 * util/mkisofs/rock.c: Likewise.
16545 * util/mkisofs/write.c: Likewise.
16546 * util/raid.c: Likewise.
16547 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
16548 * util/sparc64/ieee1275/grub-setup.c: Likewise.
16549
a0b766fc
VS
165502010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16551
16552 Enable multiboot on non-pc.
16553
16554 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
16555 multiboot.mod and multiboot2.mod to ...
16556 * conf/i386.rmk (pkglib_MODULES): ... here.
16557 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
16558 Moved to ...
16559 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
16560 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
16561 Moved to ...
16562 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
16563 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
16564 Moved to ...
16565 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
16566 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
16567 Moved to ...
16568 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
16569 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
16570 relocator.mod.
16571 (ata_mod_SOURCES): Removed.
16572 (ata_mod_CFLAGS): Likewise.
16573 (ata_mod_LDFLAGS): Likewise.
16574 (relocator_mod_SOURCES): Removed.
16575 (relocator_mod_CFLAGS): Likewise.
16576 (relocator_mod_ASFLAGS): Likewise.
16577 (relocator_mod_LDFLAGS): Likewise.
16578 Include i386.mk.
16579 * include/grub/x86_64/multiboot.h: New file.
16580 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
16581 Terminate EFI.
16582
884ade56
VS
165832010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16584
16585 Video multiboot support.
16586
16587 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
16588 New prototype.
16589 * include/multiboot.h: Resynced with multiboot specification.
16590 * include/multiboot2.h: Likewise.
16591 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
16592 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
16593 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
16594 (HAS_VGA_TEXT): Likewise.
16595 (accepts_video): New variable.
16596 (grub_multiboot_set_accepts_video): New function.
16597 (grub_multiboot_get_mbi_size): Account for video structures.
16598 (set_video_mode): New function.
16599 (retrieve_video_parameters): Likewise.
16600 (grub_multiboot_make_mbi): Fill video fields.
16601
0d90e8a6
VS
166022010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
16603
16604 Video driver ids.
16605
16606 * include/grub/video.h (grub_video_driver_id): New type.
16607 (grub_video_adapter): New member 'id'. All users updated.
16608 (grub_video_get_driver_id): New proto.
16609 * video/video.c (grub_video_get_driver_id): New function.
16610
5c71db1b 166112010-01-14 Carles Pina i Estany <carles@pina.cat>
16612
16613 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
16614 `var=val'.
16615
cca15b52 166162010-01-14 Carles Pina i Estany <carles@pina.cat>
16617
16618 * normal/cmdline.c (print_completion): Gettextizze.
16619
c586fbb2 166202001-01-14 Carles Pina i Estany <carles@pina.cat>
16621
16622 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
16623
ba2f6848 166242010-01-14 Carles Pina i Estany <carles@pina.cat>
16625
16626 * gettext/gettext.c (grub_gettext_translate): Push and pop
16627 grub_errno.
16628 (grub_gettext_delete_list): Change comment style.
16629 * kern/err.c (grub_error): Gettextizze.
16630 (grub_fatal): Gettextizze.
16631
0a46429a
RM
166322010-01-14 Robert Millan <rmh.grub@aybabtu.com>
16633
16634 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
16635 (grub_linux16_real_boot): ... this.
16636 * kern/i386/loader.S: Likewise.
16637 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
16638 (grub_linux16_boot): New function. Switches to text mode and calls
16639 grub_linux16_real_boot().
16640
16641 * loader/i386/bsd.c: Include `<grub/video.h>'.
16642 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
16643 text mode before calling grub_unix_real_boot().
16644
16645 * loader/i386/multiboot.c: Include `<grub/video.h>'.
16646 (grub_multiboot_boot): Switch to text mode before calling
16647 grub_relocator32_boot().
16648
16649 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
16650 (grub_chainloader_boot): Switch to text mode before calling
16651 grub_chainloader_real_boot().
16652
d6f93a66
RM
166532010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
166542010-01-05 Colin Watson <cjwatson@ubuntu.com>
16655
16656 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
16657 non-empty value.
16658
166592010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
166602010-01-05 Colin Watson <cjwatson@ubuntu.com>
16661
16662 * util/grub.d/00_header.in: Define a "savedefault" function for use
16663 in menu entries.
16664 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
16665
166662010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
166672010-01-05 Colin Watson <cjwatson@ubuntu.com>
16668
16669 * util/grub-mkconfig_lib.in (save_default_entry): Only set
16670 saved_entry if boot_once is unset.
16671 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
16672 previous saved entry (i.e. grub-reboot).
16673
166742009-12-08 Colin Watson <cjwatson@ubuntu.com>
16675
16676 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
16677
166782009-12-08 Colin Watson <cjwatson@ubuntu.com>
16679
16680 * util/grub.d/00_header.in: Use `set var=val' rather than plain
16681 `var=val'.
16682 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
16683
166842009-12-08 Colin Watson <cjwatson@ubuntu.com>
16685
16686 * util/grub-reboot.in: Fix --version output.
16687 * util/grub-set-default.in: Likewise.
16688
166892009-12-08 Colin Watson <cjwatson@ubuntu.com>
16690
16691 * util/grub.d/00_header.in: Silently ignore zero-sized environment
16692 blocks.
16693
166942009-12-08 Colin Watson <cjwatson@ubuntu.com>
16695
16696 * util/grub.d/00_header.in: Quote the value assigned to `default',
16697 in case it contains spaces.
16698
166992009-12-08 Colin Watson <cjwatson@ubuntu.com>
16700
16701 * util/grub.d/30_os-prober.in: Fix merge error that moved a
16702 `save_default_entry' call from the macosx case to the linux case.
16703
167042009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
167052009-10-25 Colin Watson <cjwatson@ubuntu.com>
16706
16707 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
16708 in `chosen' environment variable.
16709 * normal/menu_text.c (get_entry_number): Check if the variable
16710 matches the title of a menu entry.
16711 (run_menu): Pass menu to get_entry_number.
16712
16713 * util/grub-reboot.in: New file.
16714 * util/grub-set-default.in: New file.
16715 * conf/common.rmk (grub-reboot): New utility.
16716 (grub-set-default): New utility.
16717
16718 * util/grub-mkconfig_lib.in (save_default_entry): New function.
16719 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
16720 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
16721 move it to `saved_entry' for the next boot. Load environment on
16722 initialisation.
16723 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
16724 * util/grub.d/10_hurd.in: Likewise.
16725 * util/grub.d/10_linux.in (linux_entry): Likewise.
16726 * util/grub.d/10_windows.in: Likewise.
16727 * util/grub.d/30_os-prober.in: Likewise.
16728
16729 * util/grub-install.in: Create environment block.
16730 * util/i386/efi/grub-install.in: Likewise.
16731 * util/ieee1275/grub-install.in: Likewise.
16732 * util/sparc64/ieee1275/grub-install.in: Likewise.
16733
0934d184
BC
167342010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
16735
16736 Unit testing framework for GRUB.
16737
16738 * Makefile.in: Test framework build rules for 'make check'.
16739 * conf/tests.rmk: Build rules for individual tests and framework.
16740
16741 * include/grub/test.h: Header file for whitebox tests.
16742 * tests/lib/functional_test.c: Framework support for whitebox
16743 functional tests.
16744 * tests/lib/test.c: Common whitebox testing code for unit and
16745 functional tests.
16746 * tests/lib/unit_test.c: Framework support for whitebox unit
16747 tests.
16748
16749 * tests/util/grub-shell-tester.in: Support utility for grub-script
16750 tests.
16751 * tests/util/grub-shell.in: Utility to execute grub-script
16752 commands in a Qemu instance.
16753
16754 * tests/example_functional_test.c: Example whitebox functional
16755 test.
16756 * tests/example_grub_script_test.in: Example grub-script test.
16757 * tests/example_scripted_test.in: Example scripted test.
16758 * tests/example_unit_test.c: Example whitebox unit test.
16759
9c4ffeeb
VS
167602010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
16763 Add loader/i386/multiboot_mbi.c.
16764 (multiboot2_mod_SOURCES): Likewise.
16765 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
16766 (multiboot2_mod_SOURCES): Likewise.
16767 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
16768 (grub_multiboot_make_mbi): Likewise.
16769 (grub_multiboot_free_mbi): Likewise.
16770 (grub_multiboot_init_mbi): Likewise.
16771 (grub_multiboot_add_module): Likewise.
16772 (grub_multiboot_set_bootdev): Likewise.
16773 * loader/i386/multiboot.c (mbi): Removed.
16774 (mbi_dest): Likewise.
16775 (alloc_mbi): New variable.
16776 (grub_multiboot_payload_size): Removed. All users updated.
16777 (grub_multiboot_pure_size): New variable.
16778 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
16779 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
16780 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
16781 (grub_fill_multiboot_mmap): Likewise.
16782 (grub_multiboot_get_bootdev): Likewise.
16783 (grub_multiboot): Use multiboot_mbi functions.
16784 * loader/i386/multiboot_mbi.c: New file.
16785
17383dfe
VS
167862010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16787
16788 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
16789 it would result in module crash.
16790
c1f28820
VS
167912010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
16792
16793 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
16794 (grub_ofconsole_getwh): Split to ...
16795 (grub_ofconsole_getwh): ... this.
16796 (grub_ofconsole_dimensions): ...and this.
16797 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
16798
58655a16
RM
167992010-01-13 Robert Millan <rmh.grub@aybabtu.com>
16800
16801 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
16802
10891398
VS
168032010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16804
16805 * loader/i386/pc/multiboot2.c: Removed stalled file.
16806
0b8a223c
VS
168072010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
16808
16809 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
16810 Reported by: Grégoire Sutre
16811
92ab12b0
RM
168122010-01-11 Robert Millan <rmh.grub@aybabtu.com>
16813
16814 * util/misc.c (canonicalize_file_name): New function.
16815 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
16816 instead of realpath().
16817
a788afb6
CW
168182010-01-11 Colin Watson <cjwatson@ubuntu.com>
16819
16820 * util/grub-install.in (usage): Clarify meaning of --root-directory,
16821 and make it clearer that it's optional. Based on confusion
16822 witnessed on IRC.
16823
ffa8e3d2
VS
168242010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16825
16826 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
16827 in premature implicit newline.
16828
e9060a9d
VS
168292010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
16830
16831 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
16832 which resulted in garbled command line at the end of screen.
16833
f0d0c0b7
RM
168342010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16835
16836 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
16837 initialization with similar approach as with other Linux loaders.
16838
0e60bae7
RM
168392010-01-10 Robert Millan <rmh.grub@aybabtu.com>
16840
16841 Fix i386-ieee1275 build.
16842
16843 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
16844 and grub_term_height() for video_{width,height} initialization.
16845
168462010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
16847
16848 Fix grub-emu build.
16849
16850 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
16851
cdb3f378
RM
168522010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
168532010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16854
16855 Support for multiple terminals.
16856
16857 * Makefile.in (pkglib_DATA): terminal.lst.
16858 (terminal.lst): New target.
16859 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
16860 (GRUB_MOD_INIT(handler)): Likewise.
16861 (GRUB_MOD_FINI(handler)): Likewise.
16862 * commands/help.c (grub_cmd_help): Handle multiple terminals.
16863 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
16864 * commands/sleep.c (do_print): Use grub_term_restore_pos.
16865 (grub_cmd_sleep): Use grub_term_save_pos.
16866 * commands/terminal.c: New file.
16867 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
16868 commands/terminal.c and lib/charset.c.
16869 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
16870 (pkglib_MODULES): Add terminal.mod.
16871 (terminal_mod_SOURCES): New variable.
16872 (terminal_mod_CFLAGS): Likewise.
16873 (terminal_mod_LDFLAGS): Likewise.
16874 * genhandlerlist.sh: Don't handle terminals.
16875 * genmk.rb: Generate terminal-*.lst.
16876 * genterminallist.sh: New file.
16877 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
16878 (grub_is_valid_utf8): Likewise.
16879 (grub_utf8_to_ucs4_alloc): Likewise.
16880 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
16881 (grub_menu_register_viewer): Changed argument.
16882 (grub_menu_try_text): New proto.
16883 (grub_gfxmenu_try_hook): New declaration.
16884 * include/grub/normal.h (grub_normal_exit_level): New declaration.
16885 (grub_menu_init_page): Additional argument term.
16886 (grub_normal_init_page): Likewise.
16887 (grub_cmdline_get): Arguments simplified.
16888 (grub_utf8_to_ucs4_alloc): Removed.
16889 (grub_print_ucs4): Additional argument term.
16890 (grub_getstringwidth): Likewise.
16891 (grub_print_message_indented): Likewise.
16892 (grub_menu_text_register_instances): New proto.
16893 (grub_show_menu): Likewise.
16894 (read_terminal_list): Likewise.
16895 (grub_set_more): Likewise.
16896 * include/grub/parser.h: Include handler.h.
16897 * include/grub/reader.h: Rewritten.
16898 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
16899 (GRUB_TERM_WIDTH): Changed to function.
16900 (GRUB_TERM_HEIGHT): Likewise.
16901 (GRUB_TERM_BORDER_WIDTH): Likewise.
16902 (GRUB_TERM_BORDER_HEIGHT): Likewise.
16903 (GRUB_TERM_NUM_ENTRIES): Likewise.
16904 (GRUB_TERM_ENTRY_WIDTH): Likewise.
16905 (GRUB_TERM_CURSOR_X): Likewise.
16906 (grub_term_input_class): Likewise.
16907 (grub_term_output_class): Likewise.
16908 (grub_term_outputs_disabled): New declaration.
16909 (grub_term_inputs_disabled): Likewise.
16910 (grub_term_outputs): Likewise.
16911 (grub_term_inputs): Likewise.
16912 (grub_term_register_input): Rewritten.
16913 (grub_term_register_output): Likewise.
16914 (grub_term_unregister_input): Likewise.
16915 (grub_term_unregister_output): Likewise.
16916 (FOR_ACTIVE_TERM_INPUTS): New macro.
16917 (FOR_DISABLED_TERM_INPUTS): Likewise.
16918 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
16919 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
16920 * include/grub/terminfo.h: Add oterm argument to all protypes.
16921 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
16922 Use grub_rescue_run.
16923 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
16924 All users updated.
16925 * kern/reader.c: Removed. All users updated.
16926 * kern/rescue_reader.c (grub_rescue_init): Removed.
16927 (grub_rescue_reader): Likewise.
16928 (grub_register_rescue_reader): Likewise.
16929 (grub_rescue_run): New function based on kern/reader.c.
16930 * kern/term.c: Adapted for multiterm.
16931 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
16932 (grub_is_valid_utf8): Likewise.
16933 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
16934 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
16935 right terminal.
16936 * loader/i386/linux.c (grub_linux_boot): Likewise.
16937 * normal/auth.c (grub_username_get): New function.
16938 (grub_auth_check_authentication): Use grub_username_get.
16939 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
16940 * normal/color.c: Adapt for multiterm.
16941 * normal/main.c (read_config_file): Don't use grub_reader_loop.
16942 (grub_normal_init_page): Additional argument term.
16943 (read_lists): Call read_terminal_lists.
16944 (grub_enter_normal_mode): Call grub_cmdline_run.
16945 Handle grub_normal_exit_level.
16946 (grub_cmd_normal): Make reentrant.
16947 (grub_cmd_normal_exit): New function.
16948 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
16949 * normal/menu.c: Adapt for multiterm.
16950 * normal/menu_entry.c: Likewise.
16951 * normal/menu_text.c: Likewise.
16952 * normal/menu_viewer.c: Removed. All users updated.
16953 * normal/term.c: New file.
16954 * util/console.c: Change order of includes to workaround a bug in
16955 ncurses headers.
16956 * term/terminfo.c: New argument oterm on all exported functions.
16957 All users updated.
16958 * util/grub-editenv.c (grub_term_input_class): Removed.
16959 (grub_term_output_class): Likewise.
16960
1a064917
RM
169612010-01-09 Robert Millan <rmh.grub@aybabtu.com>
16962
16963 Make loader output a bit more user-friendly.
16964
16965 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
16966 is being loaded. Likewise for the Hurd.
16967
16968 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
16969 that kernel of FreeBSD ${version} is being loaded.
16970
16971 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
16972 grub_dprintf().
16973 (grub_cmd_initrd): Likewise.
16974 * util/grub.d/10_linux.in (linux_entry): Print message indicating
16975 that Linux ${version} is being loaded. Likewise for initrd.
16976
5ce0a83a 169772010-01-09 Carles Pina i Estany <carles@pina.cat>
16978
16979 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
16980
809bbfeb 169812010-01-08 Carles Pina i Estany <carles@pina.cat>
16982
16983 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
16984 (GRUB_MOD_INIT): Gettextizze.
16985 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
16986 (GRUB_MOD_INIT): Gettextizze.
16987 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
16988 (grub_cmd_linux): Capitalise Linux.
16989 (GRUB_MOD_INIT): Gettextizze.
16990 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
16991 (grub_cmd_linux): Capitalise Linux.
16992 (GRUB_MOD_INIT): Gettextizze.
16993 * loader/i386/linux.c: Include `<grub/i18n.h>'.
16994 (grub_cmd_linux): Capitalise Linux.
16995 (GRUB_MOD_INIT): Gettextizze.
16996 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
16997 (GRUB_MOD_INIT): Gettextizze.
16998 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
16999 (grub_cmd_linux): Capitalise Linux.
17000 (GRUB_MOD_INIT): Gettextizze.
17001 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
17002 (grub_cpu_xnu_init): Gettextizze.
17003 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
17004 (GRUB_MOD_INIT): Gettextizze.
17005 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
17006 (GRUB_MOD_INIT): Gettextizze.
17007 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
17008 (grub_linux_load64): Capitalise Linux.
17009 (GRUB_MOD_INIT): Gettextizze.
17010 * loader/xnu.c: Include `<grub/i18n.h>'.
17011 (GRUB_MOD_INIT): Gettextizze.
17012 * po/POTFILES: Add `loader/efi/appleloader.c',
17013 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
17014 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
17015 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
17016 `loader/i386/xnu.c', `loader/multiboot_loader.c',
17017 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
17018 and `loader/xnu.c'.
17019
b394b2ca
RM
170202010-01-08 Robert Millan <rmh.grub@aybabtu.com>
17021
17022 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
17023
170242010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
17025
17026 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
17027 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
17028 * util/mkisofs/mkisofs.c (main): Readjust --version output.
17029
bc8b32b3
RM
170302010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17031
17032 Reset Multiboot 2 support. New loader implements the draft in
17033 /branches/multiboot2 and shares as much code as possible with the
17034 production Multiboot 1 implementation.
17035
17036 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
17037 * loader/multiboot2.c: Likewise.
17038 * loader/i386/multiboot_helper.S: Likewise.
17039 * include/multiboot2.h: Replace with latest version from the draft
17040 in /branches/multiboot2.
17041
17042 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
17043 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
17044 and `loader/multiboot2.c'.
17045 (pkglib_MODULES): Add `multiboot2.mod'.
17046 (multiboot2_mod_SOURCES): New variable.
17047 (multiboot2_mod_LDFLAGS): Likewise.
17048 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
17049
17050 * conf/i386-pc.rmk: Likewise.
17051
17052 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
17053 (multiboot_mod_SOURCES): Remove variable.
17054 (multiboot_mod_LDFLAGS): Likewise.
17055 (multiboot_mod_CFLAGS): Likewise.
17056
17057 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
17058 `<multiboot2.h>' instead of `<multiboot.h>'.
17059 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
17060 (MULTIBOOT_HEADER_MAGIC): New macros.
17061
17062 * loader/multiboot_loader.c (module_version_status): Remove variable.
17063 (find_multi_boot2_header): Remove function.
17064 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
17065 logic. Always check for the Multiboot version we're compiling for.
17066 (grub_cmd_module_loader): Likewise.
17067 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
17068 command instead of `multiboot'.
17069
5d2c52b8
RM
170702010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17071
17072 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
17073 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
17074 all users.
17075
53108d92
RM
170762010-01-07 Robert Millan <rmh.grub@aybabtu.com>
170772010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17078
17079 Fix breakage introduced with previous commit.
17080
17081 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
17082 commands.
17083 * normal/handler.c (read_handler_list): Revert part of previous commit
17084 affecting this file.
17085 * normal/main.c (read_lists): Move read_handler_list() call back to ...
17086 (grub_normal_execute): ... here.
17087
e2e936b2
RM
170882010-01-07 Robert Millan <rmh.grub@aybabtu.com>
17089
17090 Merge prefix-redefinition-fix branch.
17091
17092 * normal/autofs.c (read_fs_list): Make function capable of being
17093 run multiple times, gracefuly replacing the previous data
17094 structures.
17095 * normal/dyncmd.c (read_command_list): Likewise.
17096 * normal/handler.c (read_handler_list): Likewise.
17097 * normal/main.c (read_lists): New function. Calls all the
17098 list reading functions.
17099 (grub_normal_execute): Use read_lists() instead of calling all
17100 list reading functions explicitly. Register read_lists() as a
17101 variable hook attached to ${prefix}.
17102
607a3701
VS
171032010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 Merge crypto branch.
17106
17107 * Makefile.in (pkglib_DATA): Add crypto.lst.
17108 (crypto.lst): New target.
17109 * commands/hashsum.c: New file.
17110 * commands/password.c (check_password): Use grub_crypto_memcmp.
17111 * commands/password_pbkdf2.c: New file.
17112 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
17113 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
17114 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
17115 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
17116 -I$(srcdir)/lib/libgcrypt_wrap.
17117 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
17118 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
17119 password_pbkdf2.mod.
17120 (crypto_mod_SOURCES): New variable.
17121 (crypto_mod_CFLAGS): Likewise.
17122 (crypto_mod_LDFLAGS): Likewise.
17123 (hashsum_mod_SOURCES): New variable.
17124 (hashsum_mod_CFLAGS): Likewise.
17125 (hashsum_mod_LDFLAGS): Likewise.
17126 (pbkdf2_mod_SOURCES): New variable.
17127 (pbkdf2_mod_CFLAGS): Likewise.
17128 (pbkdf2_mod_LDFLAGS): Likewise.
17129 (password_pbkdf2_mod_SOURCES): New variable.
17130 (password_pbkdf2_mod_CFLAGS): Likewise.
17131 (password_pbkdf2_mod_LDFLAGS): Likewise.
17132 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
17133 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
17134 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
17135 Include conf/gcry.rmk.
17136 * include/grub/auth.h: Rewritten.
17137 * include/grub/crypto.h: New file.
17138 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
17139 * include/grub/normal.h (read_crypto_list): New prototype.
17140 * lib/crypto.c: New file.
17141 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
17142 * lib/pbkdf2.c: Likewise.
17143 * normal/auth.c (grub_auth_strcmp): Removed.
17144 (grub_iswordseparator): Likewise.
17145 (grub_auth_strword): Likewise.
17146 (is_authenticated): Use grub_strword.
17147 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
17148 and grub_strword. Pass entered password to authentication callback.
17149 * normal/crypto.c: New file.
17150 * normal/main.c: Call read_crypto_list.
17151 * util/grub-mkpasswd-pbkdf2.c: New file.
17152 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
17153
42841caa
VS
171542010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
17155
17156 Fix descent and ascent calculation.
17157
17158 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
17159 (options): New option "asce".
17160 (usage): Likewise.
17161 (add_char): Ignore invalid glyphs for descent calculation.
17162 Calculate ascent from actual content.
17163 (print_glyphs): Use 'asce'.
17164 (write_font): Likewise. Allow ascent override.
17165 (main): Handle "asce" option.
17166
e7730de7 171672010-01-06 Carles Pina i Estany <carles@pina.cat>
17168
17169 * kern/err.c: Include `<grub/i18n.h>'.
17170 (grub_print_error): Add full stop. Gettextizze.
17171 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
17172 (grub_bsd_load_elf): Capitalise ELF.
17173 (grub_cmd_freebsd_loadenv): Add `s' in error string.
17174 (grub_cmd_freebsd_module): Likewise.
17175 (grub_cmd_freebsd_module_elf): Likewise.
17176 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
17177
40e3a41f 171782010-01-06 Carles Pina i Estany <carles@pina.cat>
17179
17180 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
17181 * commands/search_file.c (HELP_MESSAGE): New macro.
17182 * commands/search_label.c (HELP_MESSAGE): Likewise.
17183 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
17184 * po/POTFILES: Add `commands/search_file.c',
17185 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
17186 `commands/search.c'.
17187
83507e68
RM
171882010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17189
17190 * config.rpath: Update from Gnulib.
17191
465c787b
YB
171922010-01-05 Yves Blusseau <blusseau@zetam.org>
17193
17194 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
17195
6581dd3a
YB
171962010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
17197
17198 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
17199
3bff18c5
CW
172002010-01-05 Colin Watson <cjwatson@ubuntu.com>
17201
17202 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
17203 arguments to fread so that we get a return value in bytes, rather
17204 than something that will normally be rounded down to 0.
17205 Adjust error handling to avoid producing garbage when size_t is not
17206 the same size as long long.
17207
a1368118
CW
172082010-01-05 Colin Watson <cjwatson@ubuntu.com>
17209
17210 * util/mkisofs/write.c (padblock_write): Check return value of
17211 fread.
17212
7c302978
RM
172132010-01-05 Robert Millan <rmh.grub@aybabtu.com>
17214
17215 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
17216 floppy images now.
17217
17218 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
17219
e33ace06
RM
172202010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17221
17222 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
17223 instead of manual alignment.
17224 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
17225 verbose). Avoid attempts to read past end of the device
17226 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
17227 but GRUB_DISK_CACHE_SIZE may exceed that).
17228
4b856776
RM
172292010-01-04 Robert Millan <rmh.grub@aybabtu.com>
17230
17231 * commands/crc.c (grub_cmd_crc): Abort on read errors.
17232 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
17233 it to upper layer.
17234
52c2d97f
VS
172352010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17236
17237 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
17238 New constant.
17239 (grub_efi_piwg_device_path): New structure
17240 (grub_efi_piwg_device_path_t): New type.
17241 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
17242 (devpath_1): Transform to a structure. All users updated.
17243 (devpath_2): Likewise.
17244 (devpath_3): Likewise.
17245 (devpath_4): Likewise.
17246 (devpath_5): Likewise.
17247
98ff6a54
VS
172482010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 * loader/efi/appleloader.c: Restored. Update all users.
17251
3a73dcb6
RM
172522010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17253
17254 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
17255
17256 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
17257 (struct boot_blocklist): Move from here ...
17258 * include/grub/i386/pc/boot.h [ASM_FILE]
17259 (struct grub_boot_blocklist): ... to here. Update all users.
17260 (setup): Only initialize `start' member of `first_block'
17261 structure. Add assert() calls to verify the other members.
17262
17263 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
17264 (generate_image): Fix broken blocklist length initialization.
17265 Add assert() call to verify blocklist `segment' field.
17266
ab0eeb0c
RM
172672010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17268
17269 * loader/efi/appleloader.c: Remove. Update all users.
17270
58bc8bd5
RM
172712010-01-03 Robert Millan <rmh.grub@aybabtu.com>
17272
17273 * boot/i386/pc/boot.S: Update copyright year.
17274 * boot/i386/pc/cdboot.S: Likewise.
17275 * boot/i386/pc/diskboot.S: Likewise.
17276 * boot/i386/pc/lnxboot.S: Likewise.
17277 * boot/i386/pc/pxeboot.S: Likewise.
17278 * bus/pci.c: Likewise.
17279 * commands/cmp.c: Likewise.
17280 * commands/help.c: Likewise.
17281 * commands/hexdump.c: Likewise.
17282 * commands/i386/pc/halt.c: Likewise.
17283 * commands/i386/pc/play.c: Likewise.
17284 * commands/i386/pc/vbeinfo.c: Likewise.
17285 * commands/ls.c: Likewise.
17286 * commands/test.c: Likewise.
17287 * disk/dmraid_nvidia.c: Likewise.
17288 * disk/i386/pc/biosdisk.c: Likewise.
17289 * disk/ieee1275/nand.c: Likewise.
17290 * disk/ieee1275/ofdisk.c: Likewise.
17291 * disk/lvm.c: Likewise.
17292 * disk/raid.c: Likewise.
17293 * disk/raid6_recover.c: Likewise.
17294 * disk/scsi.c: Likewise.
17295 * fs/affs.c: Likewise.
17296 * fs/cpio.c: Likewise.
17297 * fs/ext2.c: Likewise.
17298 * fs/hfs.c: Likewise.
17299 * fs/iso9660.c: Likewise.
17300 * fs/ntfs.c: Likewise.
17301 * fs/sfs.c: Likewise.
17302 * fs/udf.c: Likewise.
17303 * fs/ufs.c: Likewise.
17304 * fs/xfs.c: Likewise.
17305 * gencmdlist.sh: Likewise.
17306 * genmk.rb: Likewise.
17307 * include/grub/disk.h: Likewise.
17308 * include/grub/efi/api.h: Likewise.
17309 * include/grub/efi/efi.h: Likewise.
17310 * include/grub/efi/pe32.h: Likewise.
17311 * include/grub/elf.h: Likewise.
17312 * include/grub/fs.h: Likewise.
17313 * include/grub/i386/at_keyboard.h: Likewise.
17314 * include/grub/i386/pc/memory.h: Likewise.
17315 * include/grub/i386/pc/vbe.h: Likewise.
17316 * include/grub/i386/pci.h: Likewise.
17317 * include/grub/i386/tsc.h: Likewise.
17318 * include/grub/ieee1275/ieee1275.h: Likewise.
17319 * include/grub/ntfs.h: Likewise.
17320 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17321 * include/grub/sparc64/libgcc.h: Likewise.
17322 * include/grub/symbol.h: Likewise.
17323 * include/grub/types.h: Likewise.
17324 * include/multiboot2.h: Likewise.
17325 * io/gzio.c: Likewise.
17326 * kern/device.c: Likewise.
17327 * kern/disk.c: Likewise.
17328 * kern/efi/efi.c: Likewise.
17329 * kern/efi/mm.c: Likewise.
17330 * kern/elf.c: Likewise.
17331 * kern/file.c: Likewise.
17332 * kern/i386/dl.c: Likewise.
17333 * kern/i386/pc/init.c: Likewise.
17334 * kern/i386/pc/startup.S: Likewise.
17335 * kern/ieee1275/ieee1275.c: Likewise.
17336 * kern/ieee1275/init.c: Likewise.
17337 * kern/main.c: Likewise.
17338 * kern/mm.c: Likewise.
17339 * kern/powerpc/dl.c: Likewise.
17340 * kern/sparc64/dl.c: Likewise.
17341 * kern/x86_64/dl.c: Likewise.
17342 * lib/hexdump.c: Likewise.
17343 * loader/efi/appleloader.c: Likewise.
17344 * loader/i386/ieee1275/linux.c: Likewise.
17345 * loader/i386/pc/chainloader.c: Likewise.
17346 * loader/i386/pc/linux.c: Likewise.
17347 * loader/i386/pc/multiboot2.c: Likewise.
17348 * loader/ieee1275/multiboot2.c: Likewise.
17349 * loader/multiboot2.c: Likewise.
17350 * loader/multiboot_loader.c: Likewise.
17351 * loader/powerpc/ieee1275/linux.c: Likewise.
17352 * normal/completion.c: Likewise.
17353 * normal/menu_entry.c: Likewise.
17354 * partmap/apple.c: Likewise.
17355 * util/grub.d/10_hurd.in: Likewise.
17356 * util/hostfs.c: Likewise.
17357 * video/readers/png.c: Likewise.
17358
e2d70b5c
CW
173592010-01-03 Colin Watson <cjwatson@ubuntu.com>
17360
17361 * include/grub/misc.h (GNUC_PREREQ): New macro.
17362 (ATTRIBUTE_ERROR): New macro.
17363 * include/grub/list.h (grub_bad_type_cast_real): Use
17364 ATTRIBUTE_ERROR.
17365
a173283f 173662010-01-03 Carles Pina i Estany <carles@pina.cat>
17367
17368 * normal/menu_text.c (print_message): Change messages.
17369
7fa7ff74 173702010-01-03 Carles Pina i Estany <carles@pina.cat>
17371
17372 * normal/menu_entry.c (store_completion): Gettextizze.
17373
136d24f6 173742010-01-03 Carles Pina i Estany <carles@pina.cat>
17375
17376 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
17377
f936862e 173782010-01-03 Carles Pina i Estany <carles@pina.cat>
17379
17380 * po/POTFILES: Sort correctly.
17381
29c44ad1 173822010-01-03 Carles Pina i Estany <carles@pina.cat>
17383
17384 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
17385 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
17386 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
17387 full stop.
17388 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
17389 summary. Gettextizze the strings.
17390 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
17391 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
17392 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
17393 full stop.
17394 (GRUB_MOD_INIT): Remove command name from summary.
17395 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
17396 summary.
17397 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
17398 * term/i386/pc/serial.c (options): Add full stops.
17399 (GRUB_MOD_INIT): Remove command name from the summary.
17400
77a79592 174012010-01-03 Carles Pina i Estany <carles@pina.cat>
17402
17403 * commands/acpi.c: Gettextizze help strings and/or options. Include
17404 `grub/i18n.h' if needed.
17405 * commands/blocklist.c: Likewise.
17406 * commands/boot.c: Likewise.
17407 * commands/cat.c: Likewise.
17408 * commands/cmp.c: Likewise.
17409 * commands/configfile.c: Likewise.
17410 * commands/crc.c: Likewise.
17411 * commands/date.c: Likewise.
17412 * commands/echo.c: Likewise.
17413 * commands/efi/fixvideo.c: Likewise.
17414 * commands/efi/loadbios.c: Likewise.
17415 * commands/gptsync.c: Likewise.
17416 * commands/halt.c: Likewise.
17417 * commands/handler.c: Likewise.
17418 * commands/hdparm.c: Likewise.
17419 * commands/hexdump.c: Likewise.
17420 * commands/i386/cpuid.c: Likewise.
17421 * commands/i386/pc/drivemap.c: Likewise.
17422 * commands/i386/pc/halt.c: Likewise.
17423 * commands/i386/pc/pxecmd.c: Likewise.
17424 * commands/i386/pc/vbeinfo.c: Likewise.
17425 * commands/i386/pc/vbetest.c: Likewise.
17426 * commands/ieee1275/suspend.c: Likewise.
17427 * commands/keystatus.c: Likewise.
17428 * commands/loadenv.c: Likewise.
17429 * commands/ls.c: Likewise.
17430 * commands/lsmmap.c: Likewise.
17431 * commands/lspci.c: Likewise.
17432 * commands/memrw.c: Likewise.
17433 * commands/minicmd.c: Likewise.
17434 * commands/parttool.c: Likewise.
17435 * commands/password.c: Likewise.
17436 * commands/probe.c: Likewise.
17437 * commands/read.c: Likewise.
17438 * commands/reboot.c: Likewise.
17439 * commands/search.c: Likewise.
17440 * commands/sleep.c: Likewise.
17441 * commands/test.c: Likewise.
17442 * commands/true.c: Likewise.
17443 * commands/usbtest.c: Likewise.
17444 * commands/videotest.c: Likewise.
17445 * commands/xnu_uuid.c: Likewise.
17446 * disk/loopback.c: Likewise.
17447 * hello/hello.c: Likewise.
17448 * loader/i386/bsd.c: Likewise.
17449 * term/i386/pc/serial.c: Likewise.
17450 * po/POTFILES: Add new files.
17451
da8d5c53
CW
174522010-01-02 Colin Watson <cjwatson@ubuntu.com>
17453
17454 * term/i386/pc/at_keyboard.c
17455 (keyboard_controller_wait_untill_ready): Rename to ...
17456 (keyboard_controller_wait_until_ready): ... this. Update all users.
17457
33937904 174582010-01-01 Carles Pina i Estany <carles@pina.cat>
17459
17460 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
17461 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
17462 string using string width.
17463 * normal/menu_text.c (grub_print_message_indented): Use
17464 grub_print_spaces and not print_spaces.
17465 (print_timeout): Likewise.
17466 (print_spaces): Move to...
17467 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
17468
3fd3b8d8
RM
174692010-01-01 Robert Millan <rmh.grub@aybabtu.com>
17470
17471 Import from Gnulib.
17472
17473 * gnulib/getdelim.c: New file.
17474 * gnulib/getline.c: Likewise.
17475
33433555
VS
174762009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
17477
17478 * include/grub/list.h (grub_assert_fail): Removed.
17479 (grub_bad_type_cast_real): New function.
17480 (grub_bad_type_cast): New macro.
17481 (GRUB_AS_LIST): Use grub_bad_type_cast.
17482 (GRUB_AS_LIST_P): Likewise.
e44721e8 17483 (GRUB_AS_NAMED_LIST): Likewise.
33433555 17484 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 17485 (GRUB_AS_PRIO_LIST): Likewise.
33433555 17486 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 17487 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 17488
f5a51306
VS
174892009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
17490
17491 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
17492 Fix syntax error.
17493
90d1e879
RM
174942009-12-29 Robert Millan <rmh.grub@aybabtu.com>
17495
17496 * configure.ac: Check for TARGET_CFLAGS initialization before we
17497 initialize it ourselves (sigh).
17498 Move a few modifications to TARGET_CFLAGS to be unconditional
17499 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
17500 eh_frame)
17501
17502 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
17503 * term/i386/pc/at_keyboard.c
17504 (keyboard_controller_wait_untill_ready): Likewise.
17505 (keyboard_controller_led): Rename `led_status' paramter to avoid
17506 name conflict.
17507
465b5a81 175082009-12-28 Carles Pina i Estany <carles@pina.cat>
17509
17510 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
17511 quotes.
17512
c181849b
VS
175132009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17514
17515 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
17516
9c8739a4
VS
175172009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17518
17519 * normal/menu_text.c (grub_print_message_indented): Prevent
17520 past-the-end-of-array dereference.
17521
3e74249c
VS
175222009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
17523
17524 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
17525 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
17526
64fd18ed 175272009-12-27 Carles Pina i Estany <carles@pina.cat>
17528
17529 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
17530 * normal/main.c (grub_normal_read_line): Remove a space from the
17531 default prompt.
17532
714af9b9 175332009-12-27 Carles Pina i Estany <carles@pina.cat>
17534
17535 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
17536 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17537 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17538 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17539 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17540 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17541 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17542
82f3e412 175432009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 17544
17545 * video/readers/jpeg.c (cmd): Declare.
17546 (grub_cmd_jpegtest): Use `grub_command_t' type.
17547 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17548 Assign to `cmd'.
17549 (GRUB_MOD_FINI): Use `cmd' to unregister.
17550 * video/readers/png.c (cmd): Declare.
17551 (grub_cmd_pngtest): Use `grub_command_t' type.
17552 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17553 Assign to `cmd'.
17554 (GRUB_MOD_FINI): Use `cmd' to unregister.
17555 * video/readers/tga.c (cmd): Declare.
17556 (grub_cmd_tgatest): Use `grub_command_t' type.
17557 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
17558 Assign to `cmd'.
17559 (GRUB_MOD_FINI): Use `cmd' to unregister.
17560
82f3e412 175612009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 17562
17563 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
17564 stops.
17565 * kern/corecmd.c (grub_register_core_commands): Likewise.
17566 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
17567 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17568 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
17569 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17570 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
17571 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
17572 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
17573 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
17574 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17575 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
17576 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17577 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17578 * normal/handler.c (insert_handler): Likewise.
17579 * normal/main.c (GRUB_MOD_INIT): Likewise.
17580 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
17581
fdcdbb66 175822009-12-26 Carles Pina i Estany <carles@pina.cat>
17583
17584 * commands/help.c (grub_cmd_help): Print the command name before the
17585 summary.
17586 (GRUB_MOD_INIT): Remove command name from the summary.
17587 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 17588 string as summary.
fdcdbb66 17589 * lib/arg.c (find_long): Print the command name before the summary.
17590 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
17591 summary.
17592 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
17593 * commands/cat.c (GRUB_MOD_INIT): Likewise.
17594 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
17595 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
17596 * commands/crc.c (GRUB_MOD_INIT): Likewise.
17597 * commands/date.c (GRUB_MOD_INIT): Likewise.
17598 * commands/echo.c (GRUB_MOD_INIT): Likewise.
17599 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
17600 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
17601 * commands/handler.c (GRUB_MOD_INIT): Likewise.
17602 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
17603 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
17604 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
17605 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
17606 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
17607 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
17608 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
17609 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
17610 * commands/ls.c (GRUB_MOD_INIT): Likewise.
17611 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
17612 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
17613 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
17614 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
17615 * commands/password.c (GRUB_MOD_INIT): Likewise.
17616 * commands/probe.c (GRUB_MOD_INIT): Likewise.
17617 * commands/read.c (GRUB_MOD_INIT): Likewise.
17618 * commands/search.c (GRUB_MOD_INIT): Likewise.
17619 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
17620 * commands/test.c (GRUB_MOD_INIT): Likewise.
17621 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
17622 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
17623 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
17624 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
17625 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
17626 * lib/arg.c (GRUB_MOD_INIT): Likewise.
17627 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
17628 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
17629 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
17630 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
17631 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
17632 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
17633 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
17634 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
17635
9c288be2
VS
176362009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17637
17638 Use search command for preliminar UUID search.
17639
17640 * commands/search.c: Split into ...
17641 * commands/search_wrap.c: ...this
17642 * commands/search.c: ...and this.
17643 * commands/search_file.c: New file.
17644 * commands/search_label.c: New file.
17645 * commands/search_uuid.c: New file.
17646 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
17647 Add commands/search_wrap.c, commands/search_file.c,
17648 commands/search_label.c and commands/search_uuid.c.
17649 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
17650 (search_mod_SOURCES): Set to commands/search_wrap.c.
17651 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
17652 search_label.mod.
17653 (search_fs_file_mod_SOURCES): New variable.
17654 (search_fs_file_mod_CFLAGS): Likewise.
17655 (search_fs_file_mod_LDFLAGS): Likewise.
17656 (search_label_mod_SOURCES): Likewise.
17657 (search_label_mod_CFLAGS): Likewise.
17658 (search_label_mod_LDFLAGS): Likewise.
17659 (search_fs_uuid_mod_SOURCES): New variable.
17660 (search_fs_uuid_mod_CFLAGS): Likewise.
17661 (search_fs_uuid_mod_LDFLAGS): Likewise.
17662 (fs_file_mod_SOURCES): Removed.
17663 (fs_file_mod_CFLAGS): Likewise.
17664 (fs_file_mod_LDFLAGS): Likewise.
17665 (fs_uuid_mod_SOURCES): Removed.
17666 (fs_uuid_mod_CFLAGS): Likewise.
17667 (fs_uuid_mod_LDFLAGS): Likewise.
17668 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
17669 Set to util/grub-install.in.
17670 * disk/fs_file.c: Removed.
17671 * disk/fs_uuid.c: Likewise.
17672 * include/grub/search.h: New file.
17673 * util/grub-install.in: Handle sparc64.
17674 Create and use load.cfg.
17675 * util/sparc64/ieee1275/grub-install.in: Removed.
17676
db943399
VS
176772009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17678
17679 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
17680 Ignore return status if CF is cleared.
17681 (grub_biosdisk_get_diskinfo_standard): Likewise.
17682
3fdae612
RM
176832009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17684
17685 * term/i386/pc/at_keyboard.c
17686 (keyboard_controller_wait_untill_ready): New function.
17687 (grub_keyboard_controller_write, grub_keyboard_controller_read)
17688 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
17689 for keyboard polling, rather than duplicate the same loop. This
17690 saves a few bytes in code size.
17691
7ebaa2b4
VS
176922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
17693
17694 Support for (pxe[:server[:gateway]]) syntax and
17695 use environment variable for PXE.
17696
17697 * commands/i386/pc/pxecmd.c (options): Removed.
17698 (print_ip): Removed.
17699 (grub_cmd_pxe): Removed
17700 (grub_cmd_pxe_unload): New function.
17701 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
17702 (grub_pxe_your_ip): Made static.
17703 (grub_pxe_default_server_ip): Likewise.
17704 (grub_pxe_default_gateway_ip): Likewise.
17705 (grub_pxe_blksize): Likewise.
17706 (parse_ip): New function.
17707 (grub_pxe_open): Support server and gateway specification.
17708 (grub_pxe_close): Free disk->data.
17709 (grub_pxefs_open): Use disk->data.
17710 (grub_pxefs_read): Likewise.
17711 (grub_env_write_readonly): New function.
17712 (set_mac_env): Likewise.
17713 (set_env_limn_ro): Likewise.
17714 (parse_dhcp_vendor): Likewise.
17715 (grub_pxe_detect): Set the environment variables.
17716 (set_ip_env): New function.
17717 (write_ip_env): Likewise.
17718 (grub_env_write_pxe_default_server): Likewise.
17719 (grub_env_write_pxe_default_gateway): Likewise.
17720 (grub_env_write_pxe_blocksize): Likewise.
17721 (GRUB_MOD_INIT(pxe)): Set environment variables.
17722 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
17723 (grub_pxe_mac_addr_t): ... this. All users updated.
17724 (grub_pxe_your_ip): Removed.
17725 (grub_pxe_server_ip): Likewise.
17726 (grub_pxe_gateway_ip): Likewise.
17727 (grub_pxe_blksize): Likewise.
17728
ec5f98ab 177292009-12-25 Carles Pina i Estany <carles@pina.cat>
17730
17731 * commands/help.c: Include `<grub/i18n.h>'.
17732 (grub_cmd_help): Gettextizze.
17733 (GRUB_MOD_INIT): Likewise.
17734 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
17735 (GRUB_MOD_INIT): Gettextizze.
17736 * commands/search.c: Include `<grub/i18n.h>'.
17737 (options): Gettextizze.
17738 (GRUB_MOD_INIT): Gettextizze.
17739 * lib/arg.c: Include `<grub/i18n.h>'.
17740 (help_options): Gettextizze.
17741 (find_long): Likewise.
17742 (grub_arg_show_help): Likewise.
17743 * normal/dyncmd.c: Include `<grub/i18n.h>'.
17744 (read_command_list): Gettextizze.
17745 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 17746 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 17747
22815526
RM
177482009-12-25 Robert Millan <rmh.grub@aybabtu.com>
17749
17750 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
17751 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
17752 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
17753 (led_status): New variable.
17754 (keyboard_controller_led): New function.
17755 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
17756 update led status for caps lock, num lock and scroll lock.
17757
0ad46fd7
FZ
177582009-12-25 Felix Zielcke <fzielcke@z-51.de>
17759
17760 * util/hostdisk.c (open_device): Fix a comment.
17761
d0e158c2
RM
177622009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17763
17764 * util/grub-install.in (host_os): New variable.
17765 * util/i386/efi/grub-install.in (host_os): Likewise.
17766
401c0ad6
RM
177672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17768
17769 * util/mkisofs/write.c (padblock_write): Abort when given an
17770 excedingly large embed image, instead of silently truncating it.
17771
d14d3370
RM
177722009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17773
17774 * include/multiboot.h: Indentation fixes.
17775
eeed10b4
RM
177762009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17777
17778 * include/multiboot.h (struct multiboot_aout_symbol_table)
17779 (struct multiboot_elf_section_header_table): New structure
17780 declarations (stolen from GRUB Legacy).
17781 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
17782 table information.
17783
17784 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
17785 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
17786 type aliases.
17787
681c70ab
RM
177882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17789
17790 * include/multiboot.h: Make comments src2texi-friendly.
17791
e4d47d8d
RM
177922009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17793
17794 For consistency with [multiboot]/docs/boot.S.
17795
17796 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
17797 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
17798 (MULTIBOOT_MAGIC2): Rename from this ...
17799 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
17800
a0b70bda
RM
178012009-12-24 Robert Millan <rmh.grub@aybabtu.com>
17802
17803 * include/multiboot.h: Remove `<grub/types.h>'.
17804 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
17805 types. Update all users.
17806
61ba42be 178072009-12-25 Carles Pina i Estany <carles@pina.cat>
17808
17809 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
17810 `couldn't' and `can not' by `cannot'.
17811 * commands/i386/pc/drivemap.c: Likewise.
17812 * disk/ata.c: Likewise.
17813 * disk/ieee1275/nand.c: Likewise.
17814 * fs/affs.c: Likewise.
17815 * fs/fat.c: Likewise.
17816 * fs/hfs.c: Likewise.
17817 * fs/hfsplus.c: Likewise.
17818 * fs/iso9660.c: Likewise.
17819 * fs/jfs.c: Likewise.
17820 * fs/minix.c: Likewise.
17821 * fs/reiserfs.c: Likewise.
17822 * fs/sfs.c: Likewise.
17823 * fs/udf.c: Likewise.
17824 * fs/ufs.c: Likewise.
17825 * fs/xfs.c: Likewise.
17826 * loader/powerpc/ieee1275/linux.c: Likewise.
17827 * loader/sparc64/ieee1275/linux.c: Likewise.
17828 * util/grub-probe.c: Likewise.
17829 * util/misc.c: Likewise.
17830
7fd0baee 178312009-12-24 Carles Pina i Estany <carles@pina.cat>
17832
17833 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
17834 grub_errno calls.
17835 * commands/acpi.c: Likewise.
17836 * commands/blocklist.c: Likewise.
17837 * commands/efi/loadbios.c: Likewise.
17838 * commands/i386/pc/drivemap.c: Likewise.
17839 * commands/loadenv.c: Likewise.
17840 * commands/memrw.c: Likewise.
17841 * commands/password.c: Likewise.
17842 * commands/videotest.c: Likewise.
17843 * disk/ata.c: Likewise.
17844 * disk/ata_pthru.c: Likewise.
17845 * disk/dmraid_nvidia.c: Likewise.
17846 * disk/ieee1275/nand.c: Likewise.
17847 * disk/ieee1275/ofdisk.c: Likewise.
17848 * disk/loopback.c: Likewise.
17849 * disk/lvm.c: Likewise.
17850 * disk/mdraid_linux.c: Likewise.
17851 * disk/raid.c: Likewise.
17852 * disk/raid6_recover.c: Likewise.
17853 * disk/scsi.c: Likewise.
17854 * efiemu/main.c: Likewise.
17855 * efiemu/mm.c: Likewise.
17856 * efiemu/pnvram.c: Likewise.
17857 * efiemu/symbols.c: Likewise.
17858 * font/font.c: Likewise.
17859 * fs/cpio.c: Likewise.
17860 * fs/hfsplus.c: Likewise.
17861 * fs/iso9660.c: Likewise.
17862 * fs/jfs.c: Likewise.
17863 * fs/minix.c: Likewise.
17864 * fs/ntfs.c: Likewise.
17865 * fs/ntfscomp.c: Likewise.
17866 * fs/reiserfs.c: Likewise.
17867 * fs/ufs.c: Likewise.
17868 * fs/xfs.c: Likewise.
17869 * gettext/gettext.c: Likewise.
17870 * include/grub/auth.h: Likewise.
17871 * kern/elf.c: Likewise.
17872 * kern/file.c: Likewise.
17873 * kern/ieee1275/init.c: Likewise.
17874 * kern/ieee1275/mmap.c: Likewise.
17875 * kern/ieee1275/openfw.c: Likewise.
17876 * kern/powerpc/dl.c: Likewise.
17877 * kern/sparc64/dl.c: Likewise.
17878 * lib/arg.c: Likewise.
17879 * loader/i386/bsd.c: Likewise.
17880 * loader/i386/bsdXX.c: Likewise.
17881 * loader/i386/efi/linux.c: Likewise.
17882 * loader/i386/efi/xnu.c: Likewise.
17883 * loader/i386/ieee1275/linux.c: Likewise.
17884 * loader/i386/linux.c: Likewise.
17885 * loader/i386/multiboot.c: Likewise.
17886 * loader/i386/pc/linux.c: Likewise.
17887 * loader/i386/pc/multiboot2.c: Likewise.
17888 * loader/i386/xnu.c: Likewise.
17889 * loader/ieee1275/multiboot2.c: Likewise.
17890 * loader/macho.c: Likewise.
17891 * loader/machoXX.c: Likewise.
17892 * loader/multiboot2.c: Likewise.
17893 * loader/multiboot_loader.c: Likewise.
17894 * loader/powerpc/ieee1275/linux.c: Likewise.
17895 * loader/sparc64/ieee1275/linux.c: Likewise.
17896 * loader/xnu.c: Likewise.
17897 * loader/xnu_resume.c: Likewise.
17898 * mmap/i386/pc/mmap.c: Likewise.
17899 * normal/menu_viewer.c: Likewise.
17900 * partmap/acorn.c: Likewise.
17901 * partmap/amiga.c: Likewise.
17902 * partmap/apple.c: Likewise.
17903 * script/lexer.c: Likewise.
17904 * term/gfxterm.c: Likewise.
17905 * term/i386/pc/serial.c: Likewise.
17906 * term/i386/pc/vga.c: Likewise.
17907 * term/ieee1275/ofconsole.c: Likewise.
17908 * term/terminfo.c: Likewise.
17909 * video/bitmap.c: Likewise.
17910 * video/efi_gop.c: Likewise.
17911 * video/efi_uga.c: Likewise.
17912 * video/fb/video_fb.c: Likewise.
17913 * video/i386/pc/vbe.c: Likewise.
17914 * video/readers/tga.c: Likewise.
17915 * video/video.c: Likewise.
17916
0ad46fd7 179172009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
17918
17919 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
17920 * commands/lspci.c: Likewise.
17921 * commands/probe.c: Likewise.
17922 * commands/xnu_uuid.c: Likewise.
17923 * conf/i386-coreboot.rmk: Likewise.
17924 * conf/i386-efi.rmk: Likewise.
17925 * conf/i386-ieee1275.rmk: Likewise.
17926 * conf/i386-pc.rmk: Likewise.
17927 * conf/powerpc-ieee1275.rmk: Likewise.
17928 * conf/sparc64-ieee1275.rmk: Likewise.
17929 * conf/x86_64-efi.rmk: Likewise.
17930 * fs/i386/pc/pxe.c: Likewise.
17931 * gettext/gettext.c: Likewise.
17932 * include/grub/efi/graphics_output.h: Likewise.
17933 * include/grub/i386/pc/memory.h: Likewise.
17934 * kern/env.c: Likewise.
17935 * kern/i386/qemu/startup.S: Likewise.
17936 * lib/i386/pc/biosnum.c: Likewise.
17937 * lib/i386/relocator.c: Likewise.
17938 * lib/i386/relocator_asm.S: Likewise.
17939 * lib/relocator.c: Likewise.
17940 * loader/i386/bsd.c: Likewise.
17941 * loader/i386/multiboot.c: Likewise.
17942 * loader/i386/pc/chainloader.c: Likewise.
17943 * loader/i386/xnu.c: Likewise.
17944 * loader/xnu.c: Likewise.
17945 * normal/main.c: Likewise.
17946 * normal/menu_text.c: Likewise.
17947 * util/getroot.c: Likewise.
17948 * util/grub-mkconfig_lib.in: Likewise.
17949 * util/grub.d/00_header.in: Likewise.
17950 * util/i386/pc/grub-mkimage.c: Likewise.
17951 * util/mkisofs/eltorito.c: Likewise.
17952 * util/mkisofs/exclude.h: Likewise.
17953 * util/mkisofs/hash.c: Likewise.
17954 * util/mkisofs/iso9660.h: Likewise.
17955 * util/mkisofs/joliet.c: Likewise.
17956 * util/mkisofs/mkisofs.c: Likewise.
17957 * util/mkisofs/mkisofs.h: Likewise.
17958 * util/mkisofs/multi.c: Likewise.
17959 * util/mkisofs/name.c: Likewise.
17960 * util/mkisofs/rock.c: Likewise.
17961 * util/mkisofs/tree.c: Likewise.
17962 * util/mkisofs/write.c: Likewise.
17963 * video/efi_gop.c: Likewise.
17964
009ec743
VS
179652009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
17966
17967 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
17968 size counting.
17969
0ad46fd7 179702009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
17971
17972 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
17973 * genmk.rb (class SCRIPT): Modify the target file instead of source.
17974
d3d30ea0
VS
179752009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17976
17977 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
17978 (GRUB_MOD_INIT(memrw)): Update help line.
17979
a34f5c70
VS
179802009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
17981
17982 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
17983 Use grub_extcmd_t. All users updated.
17984 (options): New variable.
17985 (grub_cmd_read): Restructure for readability. Support "-v" option.
17986 (grub_cmd_write): Restructure for readability.
17987
0ad46fd7 179882009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
17989
17990 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
17991
0ad46fd7 179922009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
17993
17994 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
17995 with the actual contents of the correspondending make variable.
17996 * util/grub-mkrescue.in (pkglib_DATA): New variable.
17997 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
17998 specifying `*.lst' and `efiemu??.o'
17999
0ad46fd7 180002009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
18001
18002 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
18003 after function name.
18004 Noticed by Rene Engelhard <rene@debian.org>.
18005
dc77a799
VS
180062009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18007
18008 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
18009 (options): New variable.
18010 (iospace): Likewise.
18011 (grub_lspci_iter): List IO spaces if "-i" was given.
18012 (grub_cmd_lspci): Parse options.
18013 (GRUB_MOD_INIT(lspci)): Use extcmd.
18014 (GRUB_MOD_FINI(lspci)): Likewise.
18015
0ad46fd7 180162009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
18017
18018 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
18019 `function' keyword.
18020 Patch by Tony Mancill <tmancill@debian.org>.
18021
b5d5993b
VS
180222009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
18023
18024 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
18025 (grub_uhci_portstatus): Likewise.
18026 (grub_uhci_portstatus): Add necessary delay.
11d18281 18027 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 18028
941903f2 180292009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 18030
941903f2 18031 * commands/acpi.c (options): Fix capitalizations and/or full stops.
18032 (GRUB_MOD_INIT): Likewise.
18033 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 18034 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
18035 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 18036 * commands/efi/loadbios.c (enable_rom_area): Likewise.
18037 (enable_rom_area): Likewise.
18038 (GRUB_MOD_INIT): Likewise.
18039 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
18040 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
18041 * commands/handler.c (GRUB_MOD_INIT): Likewise.
18042 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
18043 * commands/hexdump.c (options): Likewise.
18044 * commands/i386/cpuid.c (options): Likewise.
18045 (GRUB_MOD_INIT): Likewise.
18046 * commands/i386/pc/drivemap.c (options): Likewise.
18047 (GRUB_MOD_INIT): Likewise.
18048 * commands/i386/pc/halt (options): Likewise.
18049 (GRUB_MOD_INIT): Likewise.
18050 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
18051 * commands/i386/pc/pxecmd.c (options): Likewise.
18052 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
18053 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
18054 * commands/keystatus.c (options): Likewise.
18055 (GRUB_MOD_INIT): Likewise.
18056 * commands/loadenv.c (options): Likewise.
18057 * commands/ls.c (options): Likewise.
18058 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
18059 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
18060 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
18061 * commands/parttool.c (helpmsg): Likewise.
18062 * commands/probe.c (options): Likewise.
18063 * commands/read.c (GRUB_MOD_INIT): Likewise.
18064 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
18065 * commands/search.c (options): Likewise.
18066 * commands/sleep.c (options): Likewise.
18067 * commands/test.c (GRUB_MOD_INIT): Likewise.
18068 * commands/true.c (GRUB_MOD_INIT): Likewise.
18069 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
18070 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
18071 * lib/arg.c (help_options): Likewise.
e9bbb4e7 18072 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
18073 `$(XGETTEXT)'.
98a50553 18074 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 18075
0ad46fd7 180762009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 18077
ef3c2c3a 18078 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
18079 instead of specifying them explicit.
18080
7922f68b
RM
180812009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18082
18083 * NEWS: Add grub-probe support for GNU/Hurd.
18084
537ce47f
RM
180852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18086
18087 * NEWS: gettext was added after 1.97.
18088
9b214e3a
RM
180892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18090
18091 * util/mkisofs/msdos_partition.h: New file (based on
18092 include/grub/msdos_partition.h).
18093 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
18094 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
18095 (ld_options, main): Recognize --protective-msdos-label.
18096 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
18097 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
18098 (padblock_write): If `use_protective_msdos_label' is set, patch a
18099 protective DOS-style label in the output image.
18100
18101 * util/grub-mkrescue.in: Use --protective-msdos-label.
18102
e9309813
RM
181032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18104
18105 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
18106 boot.
18107
0ae56929
RM
181082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18109
18110 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
18111 variables.
18112 (ld_options, main): Recognize `--embedded-boot'.
18113 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
18114 declarations.
18115 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
18116 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
18117 (padblock_write): Likewise. Rewrite to support embedded boot image.
18118
18119 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
18120 for BIOS-based disk boot instead of only ElTorito.
18121
b15937b1
RM
181222009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18123
18124 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
18125 build (not needed for bootstrap).
18126
52cc3ce0
RM
181272009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18128
18129 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
18130 from i386-pc build (not needed for bootstrap).
18131 Rewrite a pair of strings.
18132
36f5ff04
RM
181332009-12-21 Robert Millan <rmh.grub@aybabtu.com>
18134
18135 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
18136
973c6c85 181372009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
18138
18139 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
18140
05d21547
AB
181412009-12-21 Andreas Born <futur.andy@googlemail.com>
18142
18143 * kern/env.c (grub_env_context_open): Mark exported variable for
18144 reexport.
18145
0175d51f
AB
181462009-12-21 Andreas Born <futur.andy@googlemail.com>
18147
18148 * kern/env.c (grub_env_export): Create nonexistent variables before
18149 exporting.
18150
7f39d92f 181512009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 18152
7f39d92f 18153 * include/grub/auth.h: Include `<grub/i18n.h>'.
18154 (GRUB_GET_PASSWORD): Gettextizze string.
18155 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
18156 menu_text.c.
18157 (grub_utf8_to_ucs4_alloc): Fix indentation.
18158 (grub_print_ucs4): Likewise.
18159 (grub_getstringwidth): Likewise.
18160 (print_message_indented): New declaration.
18161 * normal/auth.c: Include `<grub/i18n.h>'.
18162 (grub_auth_check_authentication): Gettexttize string.
18163 * normal/cmdline.c: Include `<grub/i18n.h>'.
18164 (grub_cmdline_get): Gettextizze.
18165 * normal/color.c: Include `<grub/i18n.h>'.
18166 (grub_parse_color_name_pair): Gettexttize strings.
18167 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
18168 string (use `print_message_indented').
18169 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
18170 `include/grub/normal.h'.
18171 (print_message_indented): Renamed to ...
18172 (grub_print_message_indented): ... this. Remove `static' qualifer (now
18173 used in normal/main.c).
18174 (print_message): Use `grub_print_message_indented' instead of
18175 `print_message_indented'.
18176 (print_timeout): Likewise.
18177 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
18178 (grub_normal_print_device_info): Gettexttize strings.
18179 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
18180
3041d898
VS
181812009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18182
18183 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
18184 of arguments. Return number of tokens and not arguments. All users
18185 updated.
18186
de15bf8e
VS
181872009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
18188
18189 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
18190 non-MSDOS paritions.
18191
e0a6ca52
VS
181922009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
18193
18194 * include/grub/types.h (UNUSED): Removed since it conflicts with
18195 NetBSD headers. All users changed to direct __attribute__ ((unused)).
18196 Reported by Grégoire Sutre.
18197
b99518d1 181982009-12-19 Carles Pina i Estany <carles@pina.cat>
18199
18200 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
18201 (grub_print_ucs4_alloc): Likewise.
18202 (grub_getstringwidth): Likewise.
18203 * normal/main.c (grub_normal_init_page): Gettextize version string.
18204 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
18205 (getstringwidth): Renamed to ...
18206 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
18207 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
18208 (grub_print_ucs4): Remove `static' qualifer (now used in
18209 normal/main.c).
18210 * po/POTFILES: Add normal/main.c.
18211
bfd5e52b 182122009-12-19 Carles Pina i Estany <carles@pina.cat>
18213
18214 * normal/menu_text.c (STANDARD_MARGIN): New macro.
18215 (print_message_indented): Add `margin_left' and `margin_right'
18216 parameters.
18217 (print_message): Update `print_message_indented' calls. Adds '\n' to the
18218 strings.
18219 (print_timeout): Use `print_message_indented' to print the message.
18220 Deletes `second_stage' parameter.
18221 (run_menu): Update `print_timeout' calls.
18222
5a1ad2b9
VS
182232009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18224
18225 Fix console palette on OpenFirmware.
18226
18227 * term/ieee1275/ofconsole.c (MAX): Removed.
18228 (colors): Redone based on VGA palette.
18229 (grub_ofconsole_setcolor): Discard brightness bit since only 8
18230 colors are supported.
18231 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
18232
b045f00a
VS
182332009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18234
18235 Fix potential EfiEmu double prepare.
18236
18237 * efiemu/main.c (prepared): New variable
18238 (grub_efiemu_unload): Set prepare to '0'.
18239 (grub_efiemu_prepare): Return if already prepared. Set prepared.
18240
18241 set_virtual_address_map support.
18242
18243 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
18244 prototype.
18245 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
18246 prototype.
18247 (grub_efiemu_crc32): Likewise.
18248 (grub_efiemu_crc64): Likewise.
18249 (grub_efiemu_set_virtual_address_map): Likewise.
18250 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
18251 New definition.
18252 (grub_autoefi_set_virtual_address_map): Likewise.
18253 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
18254 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
18255 Restructure flow to accomodate it.
18256 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
18257 (grub_efiemu_crc): Recompute CRC32.
18258 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
18259 (efiemu_ptv_relocated): ... this. Made global. All users updated.
18260 * efiemu/symbols.c (relocated_handle): New variable.
18261 (grub_efiemu_free_syms): Free relocated_handle.
18262 (grub_efiemu_alloc_syms): Allocate relocated_handle.
18263 (grub_efiemu_write_sym_markers): New function.
18264 (grub_efiemu_set_virtual_address_map): Likewise.
18265
18266 Newer XNU parameters.
18267
18268 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
18269 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
18270 (grub_xnu_fill_devicetree): New prototype.
18271 (grub_xnu_heap_real_start): New variable.
18272 * loader/xnu.c (get_name_ptr): New function.
18273 (grub_xnu_load_driver): Fill namelen and name.
18274
18275 64-bit xnu support.
18276
18277 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
18278 and 'loader/macho64.c'.
18279 * conf/i386-pc.rmk: Likewise.
18280 * conf/x86_64-efi.rmk: Likewise.
18281 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
18282 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
18283 * include/grub/macho.h (grub_macho_segment64): New structure.
18284 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
18285 (grub_macho_size32): ... to this.
18286 (grub_macho32_get_entry_point): Renamed from ...
18287 (grub_macho_get_entry_point32): ... to this.
18288 (grub_macho_contains_macho64): New prototype.
18289 (grub_macho_size64): Likewise.
18290 (grub_macho_get_entry_point64): Likewise.
18291 (grub_macho32_load): Renamed from ...
18292 (grub_macho_load32): ... to this.
18293 (grub_macho32_filesize): Renamed from ...
18294 (grub_macho_filesize32): ... to this.
18295 (grub_macho32_readfile): Renamed from ...
18296 (grub_macho_readfile32): ... to this.
18297 (grub_macho_filesize64): New prototype.
18298 (grub_macho_readfile64): Likewise.
18299 (grub_macho_parse32): Likewise.
18300 (grub_macho_parse64): Likewise.
18301 * loader/macho.c: Split into ...
18302 * loader/machoXX.c: ... and this. Replace 32 with XX.
18303 * loader/macho32.c: New file.
18304 * loader/macho64.c: Likewise.
18305 * loader/xnu.c (grub_xnu_is_64bit): New variable.
18306 (grub_cmd_xnu_kernel): Make 32-bit only.
18307 (grub_cmd_xnu_kernel64): New function.
18308 (grub_xnu_load_driver): Support Mach-O 64.
18309 (grub_cmd_xnu_mkext): Likewise.
18310 * util/grub.d/30_os-prober.in (osx_entry): New function.
18311 Generate entries for 64-bit boot too.
18312
18313 Eliminate ad-hoc tree format in XNU and EfiEmu.
18314
18315 * efiemu/main.c (grub_efiemu_prepare): Update comment.
18316 * efiemu/pnvram.c: Rewritten to use environment variables.
18317 All users updated.
18318
18319 Inline utf16_to_utf8.
18320
18321 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
18322 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
18323 All users updated.
18324 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
18325
18326 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
18327 * commands/usbtest.c (grub_usb_get_string): ... move here.
18328 (usb_print_str): Fix error handling.
18329 * include/grub/usb.h (grub_usb_get_string): Remove.
18330
18331 UTF-8 to UTF-16 transformation.
18332
18333 * conf/common.rmk (pkglib_MODULES): Add charset.mod
18334 (charset_mod_SOURCES): New variable.
18335 (charset_mod_CFLAGS): Likewise.
18336 (charset_mod_LDFLAGS): Likewise.
18337 * include/grub/utf.h: New file.
18338 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
18339
18340 Support for device properties.
18341
18342 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
18343 (grub_xnu_devprop_device_header): Likewise.
18344 (grub_xnu_devprop_device_descriptor): Likewise.
18345 (grub_xnu_devprop_add_device): New prototype.
18346 (grub_xnu_devprop_remove_device): Likewise.
18347 (grub_xnu_devprop_remove_property): Likewise.
18348 (grub_xnu_devprop_add_property_utf8): Likewise.
18349 (grub_xnu_devprop_add_property_utf16): Likewise.
18350 (grub_cpu_xnu_init): Likewise.
18351 (grub_cpu_xnu_fini): Likewise.
18352 (grub_cpu_xnu_unload): Likewise.
18353 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
18354 (property_descriptor): Likewise.
18355 (devices): New variable.
18356 (grub_xnu_devprop_remove_property): New function.
18357 (grub_xnu_devprop_add_device): Likewise.
18358 (grub_xnu_devprop_remove_device): Likewise.
18359 (grub_xnu_devprop_add_property): Likewise.
18360 (grub_xnu_devprop_add_property_utf8): Likewise.
18361 (grub_xnu_devprop_add_property_utf16): Likewise.
18362 (hextoval): Likewise.
18363 (grub_cpu_xnu_fill_devprop): Likewise.
18364 (grub_cmd_devprop_load): Likewise.
18365 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
18366 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
18367 (cmd_devprop_load): New variable.
18368 (grub_cpu_xnu_init): New function.
18369 (grub_cpu_xnu_fini): Likewise.
18370 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
18371 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
18372 (grub_cmd_xnu_devtree): Likewise.
18373 (hextoval): New function.
18374 (unescape): Likewise.
18375 (grub_xnu_fill_devicetree): Likewise.
18376
18377 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
18378 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
18379
0945f181
VS
183802009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
18381
18382 Workaround for broken ATI VBE.
18383
18384 * video/i386/pc/vbe.c (last_set_mode): New variable.
18385 (grub_vbe_set_video_mode): Set 'last_set_mode'.
18386 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
18387 (grub_video_vbe_setup): Don't check for reserved flag.
18388
0ad46fd7 183892009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
18390
18391 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
18392 the `find' command.
18393
c179ebe4
VS
183942009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
18395
18396 UUID support for HFS.
18397
18398 * fs/hfs.c (grub_hfs_uuid): New function.
18399 (grub_hfs_fs): New value .uuid.
18400 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
18401
0ad46fd7 184022009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
18403
18404 Fix a segfault with parsing unknown long options.
18405
18406 * util/grub-mkrelpath.c (options): Zero terminate it.
18407
c4a3e41a
CPE
184082009-12-13 Carles Pina i Estany <carles@pina.cat>
18409
18410 * include/grub/misc.h (grub_puts): New declaration.
18411 (grub_puts_): Likewise.
a22008a6 18412 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
18413 (grub_puts_): Likewise.
18414
2e8a7602
RM
184152009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18416
18417 * util/grub-probe.c (probe): Improve error message.
18418
b50b77b9
RM
184192009-12-13 Robert Millan <rmh.grub@aybabtu.com>
18420
18421 * loader/i386/multiboot_elfxx.c
18422 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
18423 initialization.
18424
184252009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18426
18427 Relocator framework
18428
18429 * loader/i386/xnu_helper.S: Removed. All users updated.
18430 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
18431 (relocator_mod_SOURCES): New variable.
18432 (relocator_mod_CFLAGS): Likewise.
18433 (relocator_mod_LDFLAGS): Likewise.
18434 (relocator_mod_ASFLAGS): Likewise.
18435 * conf/x86_64.rmk: Likewise.
18436 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
18437 (grub_multiboot_payload_entry_offset): Likewise.
18438 (grub_multiboot_forward_relocator): Likewise.
18439 (grub_multiboot_forward_relocator_end): Likewise.
18440 (grub_multiboot_backward_relocator): Likewise.
18441 (grub_multiboot_backward_relocator_end): Likewise.
18442 (grub_multiboot_payload_eip): New variable.
18443 (grub_multiboot_payload_orig): Likewise.
18444 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
18445 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
18446 * include/grub/i386/memory.h
18447 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
18448 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
18449 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
18450 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
18451 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
18452 * include/grub/i386/relocator.h: New file.
18453 * include/grub/x86_64/relocator.h: Likewise.
18454 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
18455 (XNU_RELOCATOR): New macro.
18456 (grub_xnu_launcher_start): Remove.
18457 (grub_xnu_launcher_end): Likewise.
18458 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
18459 (grub_xnu_heap_real_start): Remove.
18460 (grub_xnu_heap_start): Change to void *. All users updated.
18461 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
18462 * lib/i386/relocator.c: New file.
18463 * lib/i386/relocator_asm.S: Likewise.
18464 * lib/i386/relocator_backward.S: Likewise.
18465 * lib/mips/relocator.c: Likewise.
18466 * lib/mips/relocator_asm.S: Likewise.
18467 * lib/relocator.c: Likewise.
18468 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
18469 (entry): Removed.
18470 (playground): Likewise.
18471 (grub_multiboot_payload_orig): New variable.
18472 (grub_multiboot_payload_dest): Likewise.
18473 (grub_multiboot_payload_size): Likewise.
18474 (grub_multiboot_payload_eip): Likewise.
18475 (grub_multiboot_payload_esp): Likewise.
18476 (grub_multiboot_boot): Use grub_relocator32_boot.
18477 (grub_multiboot_unload): Free relocators.
18478 (grub_multiboot): Setup stack. Use relocators.
18479 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
18480 (grub_multiboot_load_elfXX): Use relocators.
18481 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
18482 (grub_multiboot_payload_size): Likewise.
18483 (grub_multiboot_payload_dest): Likewise.
18484 (grub_multiboot_payload_entry_offset): Likewise.
18485 (grub_multiboot_forward_relocator): Likewise.
18486 (grub_multiboot_backward_relocator): Likewise.
18487 (grub_multiboot_real_boot): Likewise.
18488 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
18489 (grub_xnu_entry_point): Likewise.
18490 (grub_xnu_arg1): Likewise.
18491 (grub_xnu_stack): Likewise.
18492 (grub_xnu_launch): Removed.
18493 (grub_xnu_boot_resume): New function.
18494 (grub_xnu_boot): Use relocators.
18495 * loader/i386/xnu_helper.S: Removed.
18496 * loader/xnu.c (grub_xnu_heap_start): New variable.
18497 (grub_xnu_heap_size): Likewise.
18498 (grub_xnu_heap_malloc): Use relocators.
18499 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
18500
29eb90c6
VS
185012009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
18502
18503 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
18504 anything.
18505
31027430
CPE
185062009-12-13 Carles Pina i Estany <carles@pina.cat>
18507
18508 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
18509 GRUB_ERR_NONE before calling grub_env_set.
18510
dc0c71d9
RM
185112009-12-12 Robert Millan <rmh@aybabtu.com>
18512
18513 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
18514 * genmk.rb (video): New variable.
18515 (CLEANFILES, VIDEOFILES): Add #{video}.
18516 (#{video}): New target rule.
18517 * genvideolist.sh: New file.
18518 * Makefile.in (pkglib_DATA): Add video.lst.
18519 (video.lst): New target rule.
18520 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
18521 `video.lst'.
18522 * util/grub.d/30_os-prober.in: Replace `vbe' with
18523 ${GRUB_VIDEO_BACKEND}.
18524
2a4bfcf0
RM
185252009-12-11 Robert Millan <rmh.grub@aybabtu.com>
18526
18527 * THANKS: Add David Miller.
18528
2a3aa4d5
RM
185292009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
18530
18531 libpciaccess support.
18532
18533 * Makefile.in (LIBPCIACCESS): New variable.
18534 (enable_grub_emu_pci): Likewise.
18535 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
18536 util/pci.c and commands/lspci.c.
18537 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
18538 * configure.ac (grub-emu-pci): New option.
18539 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
18540 (grub_pci_device_unmap_range): Likewise.
18541 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
18542 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
18543 (grub_pci_address_t) [!GRUB_UTIL]: New type.
18544 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
18545 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
18546 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
18547 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
18548 * include/grub/pciutils.h: New file.
18549 * util/pci.c: Likewise.
18550
0ad46fd7 185512009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
18552
18553 * util/misc.c: Don't include <errno.h> twice.
18554
0ad46fd7 185552009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
18556
18557 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
18558 name in an error message.
18559 (grub_biosdisk_rw): Likewise.
18560
2e59983c
VS
185612009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18562
18563 Eliminate NTFS 4Gib barrier.
18564
18565 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
18566 (read_run_data): Likewise.
18567 (grub_ntfs_read_run_list): Likewise.
18568 (grub_ntfs_read_block): Likewise.
18569 (grub_ntfs_iterate_dir): Likewise.
18570 (read_mft): Likewise.
18571 (read_data): Likewise.
18572 Use COM_LOG_LEN.
18573 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
18574 to avoid 64-bit division
18575 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
18576 (grub_ntfs_rlst): Use grub_disk_addr_t.
18577
71ee178a
VS
185782009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18579
18580 Eliminate grub-fstest 4Gib barrier.
18581
18582 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
18583 (read_file): Fix error reporting.
18584
2520d4b8
VS
185852009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18586
18587 Eliminate hexdump 4Gib barrier.
18588
18589 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
18590 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
18591
e1f27065
VS
185922009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
18593
18594 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
18595 Fixes amarsh bug.
18596
1a0f7f45
RM
185972009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
18598
18599 Remove miscellaneous files in distclean target.
18600
18601 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
18602
c631d9fb
CW
186032009-12-09 Colin Watson <cjwatson@ubuntu.com>
18604
18605 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
18606 if they're already set. This resolves the conflict between my
18607 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
18608 fixing the --grub-probe option again.
18609 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
18610 change on 2009-10-06, so that we now once again source
18611 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
18612
7c7b6106
RM
186132009-12-08 Robert Millan <rmh.grub@aybabtu.com>
18614
18615 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
18616 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
18617 `util/devicemap.c'.
18618
e3069ec1
CPE
186192009-12-08 Carles Pina i Estany <carles@pina.cat>
18620
18621 * include/grub/misc.h (grub_printf_): New declaration.
18622 * kern/misc.c (grub_printf_): New definition.
18623 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
18624 instead of `grub_printf' and `_'.
18625 * normal/menu_entry.c (store_completion): Likewise.
18626 (run): Likewise.
18627 (grub_menu_entry_run): Likewise.
18628 * normal/menu_text.c (grub_wait_after_message): Likewise.
18629 (notify_booting): Likewise.
18630 (notify_fallback): Likewise.
18631 (notify_execution_failure): Likewise.
18632
d6ceebf1
CW
186332009-12-07 Colin Watson <cjwatson@ubuntu.com>
18634
18635 * configure.ac: Check for vasprintf.
18636 * util/misc.c (asprintf): Move allocation from here ...
18637 (vasprintf): ... to here. New function.
18638 (xasprintf): New function.
18639 * include/grub/util/misc.h (vasprintf, xasprintf): Add
18640 prototypes.
18641 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18642 * util/grub-mkfont.c (write_font): Likewise.
18643 * util/grub-probe.c (probe): Likewise.
18644 * util/hostdisk.c (make_device_name): Likewise.
18645
de6daa8b
DM
186462009-12-06 David S. Miller <davem@sunset.davemloft.net>
18647
18648 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
18649 anything even prefixed with 'cdrom' as a cdrom.
18650
0ad46fd7 186512009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
18652
18653 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
18654 mount points.
18655
98d3dc02
CPE
186562009-12-05 Carles Pina i Estany <carles@pina.cat>
18657
18658 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
18659 grub_gettext_msg_list.
18660 (grub_gettext_gettranslation_from_position): Return const char *
18661 and not char *.
a2c1332b 18662 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
18663 returns from the list if existing there.
18664 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
18665 (grub_gettext_delete_list): Delete the list.
18666 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
18667 lang environment variable is changed.
18668 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
18669
b283f108
VS
186702009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18671
18672 Rename kernel.mod to kernel.img.
18673
18674 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
18675 (kernel_mod_EXPORTS): Rename to ...
18676 (kernel_img_EXPORTS): ... this.
18677 (kernel_mod_SOURCES): Rename to ...
18678 (kernel_img_SOURCES): ... this.
18679 (kernel_mod_HEADERS): Rename to ...
18680 (kernel_img_HEADERS): ... this. All users updated.
18681 (kernel_mod_CFLAGS): Rename to ...
18682 (kernel_img_CFLAGS): ... this.
18683 (kernel_mod_ASFLAGS): Rename to ...
18684 (kernel_img_ASFLAGS): ... this.
18685 (kernel_mod_LDFLAGS): Rename to ...
18686 (kernel_img_LDFLAGS): ... this.
18687 * conf/x86_64-efi.rmk: Likewise.
18688 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
18689 (read_kernel_image): ... this. All users updated.
18690 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
18691
69055f8a
CPE
186922009-12-05 Carles Pina i Estany <carles@pina.cat>
18693
18694 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
18695 (print_spaces): New function.
18696 (grub_print_ucs4): New function.
18697 (getstringwidth): New function.
18698 (print_message_indented): New function.
18699 (print_message): Gettexttize strings using print_message_indented.
18700 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
18701 width.
18702 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 18703 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
18704 Gettextize.
18705 * normal/menu_entry.c (store_completion): Cleanup the gettextized
18706 string.
18707 (run): Likewise.
18708 (grub_menu_entry_run): Likewise.
18709 * PO/POTFILES: Add normal/menu_entry.c.
18710
f616f51c
VS
187112009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
18712
18713 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
18714
57bbe3be
CPE
187152009-12-05 Carles Pina i Estany <carles@pina.cat>
18716
18717 * util/grub-install.in: Install gettext .mo files.
18718 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
18719
013d67a1
CPE
187202009-12-05 Carles Pina i Estany <carles@pina.cat>
18721
18722 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
18723 grub_dprintf.
18724
fb954db0
RM
187252009-12-05 Robert Millan <rmh.grub@aybabtu.com>
18726
18727 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
18728 non-firmware-dependant one in realmode.S takes precedence.
18729
6b8474f8
RM
187302009-12-04 Robert Millan <rmh.grub@aybabtu.com>
18731
18732 * commands/halt.c: Replace misc arch-specific headers with
18733 `<grub/misc.h>'.
18734 * commands/reboot.c: Likewise.
18735 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
18736 `<grub/misc.h>'.
18737 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
18738 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
18739 (kernel_img_SOURCES): ... to here.
18740
18741 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
18742 * include/grub/i386/pc/init.h: Likewise.
18743 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18744 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18745
18746 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
18747
18748 * include/grub/i386/halt.h: Remove.
18749 * include/grub/i386/reboot.h: Likewise.
18750
18751 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
18752
4b2e6ca2
DM
187532009-12-03 David S. Miller <davem@sunset.davemloft.net>
18754
18755 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
18756 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
18757 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
18758 "progname.h"
18759 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18760 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18761 (usage): Add missing comma in printf.
18762
5239348f
RM
187632009-12-02 Robert Millan <rmh.grub@aybabtu.com>
18764
18765 Use the same reboot approach on i386 coreboot and qemu as we do on
18766 BIOS.
18767
18768 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
18769 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
18770 * kern/i386/reboot.c: Remove.
18771 * include/grub/i386/reboot.h (grub_reboot): Export function.
18772 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
18773 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
18774 0xf000:0xfff0 instead of 0xffff:0x0000.
18775 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
18776 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
18777
ef34cbd4
RM
187782009-11-30 Robert Millan <rmh.grub@aybabtu.com>
18779
18780 Fix $srcdir != $objdir build.
18781
18782 * Makefile.in (po/%.po): Rewrite as ...
18783 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
18784
dc9837ea
ST
187852009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
18786
18787 Fix GNU/Hurd grub-install crash.
18788 * util/grub-probe.c (probe): Try to access `path' only when it is not
18789 NULL.
18790
2f857f98
VS
187912009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18792
18793 Correct module naming.
18794
18795 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18796 (GRUB_MOD_INIT(efi_uga)): ... to this
18797 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18798 (GRUB_MOD_FINI(efi_uga)): ... to this
18799 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
18800 (GRUB_MOD_INIT(efi_gop)): ... to this
18801 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
18802 (GRUB_MOD_FINI(efi_gop)): ... to this
18803
c5448046
RM
188042009-11-28 Robert Millan <rmh.grub@aybabtu.com>
18805
18806 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
18807 translatable.
18808 (usage): Translate `arg' strings using gettext().
18809 Thanks to Jordi Mallach for the suggestion.
18810
c85184ad
VS
188112009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 GOP support. Based on patch from Bean
18814 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
18815
18816 * video/efi_gop.c: New file.
18817 * include/grub/efi/graphics_output.h: Likewise.
18818 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
18819 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
18820 variables.
18821 * conf/x86_64-efi.rmk: Likewise.
18822
8a4c48d8
VS
188232009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
18824
18825 Rename efi_fb to efi_uga.
18826
18827 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18828 'efi_uga.mod'.
18829 (efi_fb_mod_SOURCES): Rename this ...
18830 (efi_uga_mod_SOURCES): ... to this.
18831 (efi_fb_mod_CFLAGS): Rename this ...
18832 (efi_uga_mod_CFLAGS): ... to this.
18833 (efi_fb_mod_LDFLAGS): Rename this ...
18834 (efi_uga_mod_LDFLAGS): ... to this.
18835 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
18836 'efi_uga.mod'.
18837 (efi_fb_mod_SOURCES): Rename this ...
18838 (efi_uga_mod_SOURCES): ... to this.
18839 (efi_fb_mod_CFLAGS): Rename this ...
18840 (efi_uga_mod_CFLAGS): ... to this.
18841 (efi_fb_mod_LDFLAGS): Rename this ...
18842 (efi_uga_mod_LDFLAGS): ... to this.
18843 * video/efi_fb.c: Move this ...
18844 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
18845
fb6c1a7b
RM
188462009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18847
18848 * po/README: New file. Explain our PO file workflow.
18849
3bc7896c
RM
188502009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18851
18852 * po/ChangeLog: Remove. Move relevant entries back to ...
18853 * ChangeLog: ... here.
18854 * po/ca.po: Remove (now handled by TLP).
18855 * po/id.po: Likewise.
18856 * po/zh_CN.po: Likewise.
18857 * Makefile.in (LINGUAS): Initialize in a way that supports
18858 empty set.
18859
9ed4841d
RM
188602009-11-27 Robert Millan <rmh.grub@aybabtu.com>
18861
18862 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
18863 reliing on po/LINGUAS.
18864 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
18865 (po/%.po): ... this.
18866
0ad46fd7 188672009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
18868
18869 * util/i386/efi/grub-mkimage.c: Include "progname.h".
18870 (main): Use `program_name' instead of nonexistent `progname'.
18871
e30dd392
FZ
188722009-11-26 Felix Zielcke <fzielcke@z-51.de>
18873
18874 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
18875 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
18876
7656de4f
RM
188772009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18878
18879 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
18880 commit.
18881 * conf/i386-efi.rmk: Likewise.
18882 * conf/i386-ieee1275.rmk: Likewise.
18883 * conf/powerpc-ieee1275.rmk: Likewise.
18884 * conf/sparc64-ieee1275.rmk: Likewise.
18885 * conf/x86_64-efi.rmk: Likewise.
18886
db77c4d4
FZ
188872009-11-26 Felix Zielcke <fzielcke@z-51.de>
18888
18889 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
18890
a755bb04
FZ
188912009-11-26 Felix Zielcke <fzielcke@z-51.de>
18892
18893 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
18894
8a4c07fd
RM
188952009-11-26 Robert Millan <rmh.grub@aybabtu.com>
18896
18897 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
18898 (grub_mkdevicemap_SOURCES): New variable.
18899 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
18900 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
18901 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
18902 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
18903 (grub_mkdevicemap_SOURCES): Remove.
18904 * conf/i386-efi.rmk: Likewise.
18905 * conf/i386-ieee1275.rmk: Likewise.
18906 * conf/i386-pc.rmk: Likewise.
18907 * conf/powerpc-ieee1275.rmk: Likewise.
18908 * conf/sparc64-ieee1275.rmk: Likewise.
18909 * conf/x86_64-efi.rmk: Likewise.
18910 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
18911 (usage): Fix strings to use `program_name'.
18912 (main): Initialize gettext.
18913 * util/grub-editenv.c: Likewise.
18914 * util/grub-emu.c: Likewise.
18915 * util/grub-fstest.c: Likewise.
18916 * util/grub-mkdevicemap.c: Likewise.
18917 * util/grub-mkfont.c: Likewise.
18918 * util/grub-mkrelpath.c: Likewise.
18919 * util/grub-pe2elf.c: Likewise.
18920 * util/grub-probe.c: Likewise.
18921 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
18922 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
18923 * util/sparc64/ieee1275/grub-setup.c: Likewise.
18924
18925 * util/misc.c: Include `"progname.h"'.
18926 (progname): Remove variable.
18927 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
18928
6f61ed55
FZ
189292009-11-25 Felix Zielcke <fzielcke@z-51.de>
18930
18931 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
18932 printf and print a newline after the menuentry header line.
18933 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
18934
f022876b
FZ
189352009-11-25 Felix Zielcke <fzielcke@z-51.de>
18936
18937 autoconf >= 2.60 support $(localedir).
18938
18939 * INSTALL: Note that autoconf 2.60 is required.
18940 * configure.ac (AC_PREREQ): Bump to 2.60.
18941 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
18942 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
18943
6717926e
YB
189442009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
18945
18946 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
18947 aclocal is run.
18948
08806a54
RM
189492009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18950
18951 * normal/main.c (grub_normal_read_line): Fix off-by-one
18952 buffer overflow.
18953
13b33fba
RM
189542009-11-25 Robert Millan <rmh.grub@aybabtu.com>
18955
18956 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
18957 "parser.grub" in grub_command_execute() call.
18958
4a8572e9
CPE
189592009-11-24 Carles Pina i Estany <carles@pina.cat>
18960
18961 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
18962 * conf/i386-efi.rmk: Likewise.
18963 * conf/i386-ieee1275.rmk: Likewise.
18964 * conf/i386-pc.rmk: Likewise.
18965 * conf/powerpc-ieee1275.rmk: Likewise.
18966 * conf/sparc64-ieee1275.rmk: Likewise.
18967 * conf/x86_64-efi.rmk: Likewise.
18968 * gettext/gettex.c: Include <grub/i18n.h>.
18969 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
18970 here ...
18971 * include/grub/i18n.h: ... to here
18972 * include/grub/i18n.h: ... to here.
18973 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 18974 (grub_gettext_dummy): Move above user.
4a8572e9 18975
bee48093
FZ
189762009-11-24 Felix Zielcke <fzielcke@z-51.de>
18977
18978 * util/Makefile.in (install-local): Convert a `for' into a normal
18979 shell expansion.
18980
a031e91c
RM
189812009-11-24 Robert Millan <rmh.grub@aybabtu.com>
18982
18983 * autogen.sh: Add automake call.
18984 * config.guess: Remove.
18985 * config.sub: Likewise.
18986 * install-sh: Likewise.
18987
26bec39d
FZ
189882009-11-24 Felix Zielcke <fzielcke@z-51.de>
18989
18990 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
18991
8e2532fd
FZ
189922009-11-24 Felix Zielcke <fzielcke@z-51.de>
18993
18994 * util/Makefile.in (install-local): Convert a make `$(foreach)'
18995 function to a normal shell `for'.
18996
fefa1b7d
FZ
189972009-11-24 Felix Zielcke <fzielcke@z-51.de>
18998
18999 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19000
4501250b
FZ
190012009-11-24 Felix Zielcke <fzielcke@z-51.de>
19002
19003 * util/grub-mkrelpath.c: New file.
19004 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
19005 (grub_mkrelpath_SOURCES): New variable.
19006 * include/grub/util/misc.h: New function prototype.
19007 * util/misc.c (make_system_path_relative_to_its_root): New function.
19008
19009 * util/grub-mkconfig_lib.in (bindir): New variable.
19010 (grub_mkrelpath): Likewise.
19011 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
19012
19013 * util/probe.c (probe): Make the file path relative to its root.
19014 Change a info message to use the GRUB path. Enable again the
19015 check if we can read the file with GRUB facilities.
19016
19017 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
19018 to its root.
19019
11d9778b
FZ
190202009-11-24 Felix Zielcke <fzielcke@z-51.de>
19021
19022 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
19023 platform.
19024
4465287d
FZ
190252009-11-24 Felix Zielcke <fzielcke@z-51.de>
19026
19027 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
19028 strncmp().
19029
62b47f22
FZ
190302009-11-24 Felix Zielcke <fzielcke@z-51.de>
19031
19032 * util/getroot.c (grub_util_is_dmraid): New function.
19033 (grub_util_get_dev_abstraction): Treat dmraid and multipath
19034 devices as normal ones, not as LVM.
19035
1eafb9b9 190362009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
19037
19038 * conf/common.rmk: Add grub-gettext_lib target and updates
19039 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
19040 LDFLAGS.
19041 * gettext/gettext.c: New file. (Reads mo files).
19042 * include/grub/file.h (grub_file_pread): New prototype.
19043 * include/grub/i18n.h (_): New prototype.
19044 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
19045 prototypes.
19046 * kern/misc.c (grub_gettext_dummy): New function.
19047 * normal/menu_text.c: Include <grub/i18n.h>.
19048 * normal/menu_text.c (print_timeout): Gettexttize string.
19049 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
19050 * po/POTFILES: Add `normal/menu_text.c'.
19051 * po/ca.po: Add new translations.
c3ea6bd4
CPE
19052 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
19053 gettext module and defines locale_dir and lang in grub.cfg.
19054 * NEWS: Add gettext support.
19055
0fdb2568
RM
190562009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19057
19058 * util/hostdisk.c: Include `<grub/i18n.h>'.
19059 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
19060 (make_device_name): Rewrite using asprintf.
19061 (convert_system_partition_to_system_disk): Replace 0 with NULL.
19062 (find_system_device): If a device is not found, generate one just
19063 by reusing the OS path name.
19064 (read_device_map): Make it permissible for device.map not to exist.
19065
f515aa62
RM
190662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19067
19068 * script/sh/execute.c: Move from here ...
19069 * script/execute.c: ... to here. Update all users.
19070 * script/sh/function.c: Move from here ...
19071 * script/function.c: ... to here. Update all users.
19072 * script/sh/lexer.c: Move from here ...
19073 * script/lexer.c: ... to here. Update all users.
19074 * script/sh/main.c: Move from here ...
19075 * script/main.c: ... to here. Update all users.
19076 * script/sh/parser.y: Move from here ...
19077 * script/parser.y: ... to here. Update all users.
19078 * script/sh/script.c: Move from here ...
19079 * script/script.c: ... to here. Update all users.
19080
f84b481b
RM
190812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19082
19083 * configure.ac: Detect all `emu' platforms. Define
19084 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
19085 --enable-grub-emu logic. Disable include/grub/machine
19086 symlink on `emu' platforms.
19087
19088 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
19089 * gensymlist.sh.in: Likewise.
19090
19091 * include/grub/i386/coreboot/machine.h: Remove file.
19092 * include/grub/i386/efi/machine.h: Likewise.
19093 * include/grub/i386/ieee1275/machine.h: Likewise.
19094 * include/grub/i386/pc/machine.h: Likewise.
19095 * include/grub/i386/qemu/machine.h: Likewise.
19096 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19097 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19098 * include/grub/x86_64/efi/machine.h: Likewise.
19099
19100 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
19101 * commands/halt.c: Likewise.
19102 * commands/reboot.c: Likewise.
19103 * include/grub/autoefi.h: Likewise.
19104 * include/grub/i386/at_keyboard.h: Likewise.
19105 * include/grub/i386/kernel.h: Likewise.
19106 * include/grub/i386/loader.h: Likewise.
19107 * include/grub/i386/pc/memory.h: Likewise.
19108 * kern/dl.c: Likewise.
19109 * kern/i386/coreboot/init.c: Likewise.
19110 * loader/i386/bsd.c: Likewise.
19111 * loader/i386/linux.c: Likewise.
19112 * loader/multiboot_loader.c: Likewise.
19113 * term/i386/pc/serial.c: Likewise.
19114 * term/usb_keyboard.c: Likewise.
19115
19116 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
19117 `<grub/machine/machine.h>'
19118 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
19119 * util/misc.c: Remove `<grub/machine/machine.h>' and
19120 `<grub/machine/time.h>'.
19121
19122 * Makefile.in (enable_grub_emu): Remove variable.
19123 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
19124
19125 * conf/any-emu.rmk: New file.
19126 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
19127 (grub_emu_init.c): Move from here ...
19128 * conf/any-emu.rmk: ... to here.
19129
19130 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
19131 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
19132 * conf/any-emu.rmk: ... to here.
19133
4efeab03
RM
191342009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19135
19136 * include/grub/parser.h (grub_parser_register): Document need
19137 of `name' parameter.
19138 * normal/main.c (grub_normal_read_line): Simplify prompt string.
19139 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
19140 "sh" to "grub".
19141
ea1dd8bf
RM
191422009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19143
19144 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
19145 `$(XGETTEXT)'.
19146 * include/grub/i18n.h (N_): New macro.
19147 * util/mkisofs/mkisofs.h: Likewise.
19148 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
19149 around N_().
19150 (usage): Use gettext() to translate help strings when printing them.
19151
0c140626
RM
191522009-11-23 Robert Millan <rmh.grub@aybabtu.com>
19153
19154 Based on patch from Bean
19155 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
19156
19157 * video/efi_fb.c: New file.
19158 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
19159 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
19160 variables.
19161 * conf/x86_64-efi.rmk: Likewise.
19162
87d58298
RM
191632009-11-22 Robert Millan <rmh.grub@aybabtu.com>
19164
19165 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
19166 * util/i386/pc/grub-setup.c: Likewise.
19167
994cc3a3
ST
191682009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
19169
19170 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
19171 <hurd/fs.h>
19172 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
19173 file_get_storage_info to implement grub_guess_root_device.
19174
26a61d6a
FZ
191752009-11-21 Felix Zielcke <fzielcke@z-51.de>
19176
19177 * Makefile.in (target): Use make's builtin $(shell) function
19178 instead of calling directly $(SHELL) to create the locale directories,
19179 inside the $(foreach) function.
19180
74ff1dd5
FZ
191812009-11-21 Felix Zielcke <fzielcke@z-51.de>
19182
19183 * util/grub-mkrescue.in: Print an error and usage if output option
19184 has not been given.
19185
0b787d0e
FZ
191862009-11-21 Felix Zielcke <fzielcke@z-51.de>
19187
19188 Patch from Loïc Minier <loic.minier@ubuntu.com>.
19189 * util/grub.d/30_os-prober.in: Cope with Linux entries where
19190 root and /boot are on different devices.
19191
1164b270
RM
191922009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19193
19194 Fix build for srcdir != objdir.
19195
19196 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
19197 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
19198 $(srcdir).
19199 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
19200 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
19201 reference for input.
19202
13774a2f
RM
192032009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19204
19205 * util/grub-mkrescue.in: Use source directory direcly (without copiing
19206 or hardlinking it). Remove -J option, Joliet is not compatible with
19207 multiple source directories.
19208
efda854e
RM
192092009-11-21 Carles Pina i Estany <carles@pina.cat>
192102009-11-21 Robert Millan <rmh.grub@aybabtu.com>
19211
19212 * util/grub-mkrescue.in: Recognize `--override-directory' option.
19213 (process_input_dir): New function. Process an arbitrary input
19214 directory.
19215 Misc adjustments to support both "override mode" and system-wide mode.
19216
6c09890c
FZ
192172009-11-20 Felix Zielcke <fzielcke@z-51.de>
19218
19219 * configure.ac (UNIFONT_BDF): Rename to ...
19220 (FONT_SOURCE): ... this. Update all users.
19221
a797824f
FZ
192222009-11-20 Felix Zielcke <fzielcke@z-51.de>
19223
19224 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
19225 to the list of unifont files to look for.
19226
cd4f42b0
RM
192272009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19228
19229 Patch from Joe Auricchio <jauricchio@gmail.com>
19230 * commands/minicmd.c (grub_mini_cmd_clear): New function.
19231 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
19232 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
19233
393c783d
FZ
192342009-11-19 Felix Zielcke <fzielcke@z-51.de>
19235
19236 * Makefile.in (install-local): Add a missing backslash.
19237
b2f1e327
FZ
192382009-11-19 Felix Zielcke <fzielcke@z-51.de>
19239
19240 * include/grub/x86_64/io.h: New file.
19241
f577f7a0
RM
192422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19243
19244 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
19245 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
19246 Include `"progname.h"'.
19247 (main): Initialize gettext.
19248 * util/i386/pc/grub-setup.c: Gettexttize.
19249 * util/i386/pc/grub-mkimage.c: Likewise.
19250
19251 * Makefile.in (po/*.po): Redefine as ...
19252 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
19253
3bc7896c
RM
19254 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
19255
c37943b6
RM
192562009-11-19 Robert Millan <rmh.grub@aybabtu.com>
19257
19258 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
19259 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
19260 (program_name): Remove.
19261 (main): Initialize gettext support.
6323f705
RM
19262 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
19263 Include `<libintl.h>'.
19264 (_): New macro.
c37943b6
RM
19265
19266 * util/mkisofs/eltorito.c: Gettexttize.
19267 * util/mkisofs/joliet.c: Likewise.
19268 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
19269 * util/mkisofs/multi.c: Likewise.
19270 * util/mkisofs/rock.c: Likewise.
19271 * util/mkisofs/tree.c: Likewise.
19272 * util/mkisofs/write.c: Likewise.
19273
3bc7896c
RM
19274 * po/POTFILES: Update with new files.
19275
5ce77c6e
RM
192762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19277
19278 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
19279 * util/mkisofs/iso9660.h: Likewise.
19280 * util/mkisofs/joliet.c: Likewise.
19281 * util/mkisofs/mkisofs.c: Likewise.
19282 * util/mkisofs/mkisofs.h: Likewise.
19283 * util/mkisofs/rock.c: Likewise.
19284 * util/mkisofs/tree.c: Likewise.
19285 * util/mkisofs/write.c: Likewise.
19286
19287 * util/mkisofs/eltorito.c (rcsid): Remove.
19288 * util/mkisofs/hash.c: Likewise.
19289 * util/mkisofs/joliet.c: Likewise.
19290 * util/mkisofs/name.c: Likewise.
19291 * util/mkisofs/rock.c: Likewise.
19292 * util/mkisofs/tree.c: Likewise.
19293 * util/mkisofs/write.c: Likewise.
19294
1dabbc77
RM
192952009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19296
19297 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
19298 instead of static allocation.
19299 * util/mkisofs/match.h: Likewise.
19300
633877cb
RM
193012009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19302
3bc7896c
RM
19303 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
19304 and `util/grub.d/10_linux.in'.
633877cb
RM
19305 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
19306 translatable Shell files.
19307
af1c0c85
RM
193082009-11-18 Robert Millan <rmh.grub@aybabtu.com>
19309
19310 * Makefile.in ($(srcdir)/aclocal.m4): New target.
19311
769ae37b
RM
193122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19313
19314 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 19315 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
19316 * util/grub.d/10_kfreebsd.in (bindir): New variable.
19317 Add gettext initialization.
19318 (kfreebsd_entry): Make menuentry output translatable.
19319
193202009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19321
19322 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
19323 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
19324 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
19325 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
19326 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 19327 * po/LINGUAS: New file.
769ae37b
RM
19328
193292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19330
19331 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
19332 other things).
19333 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
19334 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
19335 bindtextdomain() calls for gettext initialization.
19336
193372009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19338
19339 * gnulib/progname.c: New file (imported from Gnulib).
19340 * gnulib/progname.h: Likewise.
19341 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
19342 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
19343 (usage): Replace `progname' with `program_name'.
19344 (main): Use set_program_name() for program name initialization.
19345
193462009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19347
19348 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
19349 from here ...
19350 * Makefile.in (CPPFLAGS): ... to here.
19351
193522009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19353
19354 * aclocal.m4: Move from here ...
19355 * acinclude.m4: ... to here.
19356 * autogen.sh: Add call to `aclocal'.
19357 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
19358
193592009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19360
19361 * Makefile.in (CLEANFILES): Add `po/*.mo'.
19362 (LINGUAS): New variable.
19363 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
19364 (install-local): Install MO files.
19365 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
19366 * include/grub/i18n.h: New file.
3bc7896c
RM
19367 * po/POTFILES: New file.
19368 * po/ca.po: New file.
769ae37b
RM
19369 * util/grub.d/10_linux.in (bindir): New variable.
19370 Add gettext initialization.
19371 (linux_entry): Make menuentry output translatable.
19372 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
19373 (usage): Make --help output translatable.
19374 (main): Initialize gettext.
19375
02c0a6ad
RM
193762009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19377
19378 * import_gcry.py: New file (written by Vladimir with minor
19379 adjustments).
19380 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
19381 ciphers.
19382 * INSTALL: Document that Python is required for bootstrap.
19383
193842009-11-17 Robert Millan <rmh.grub@aybabtu.com>
19385
19386 Import ciphers from libgcrypt 1.4.4.
19387
19388 * lib/libgcrypt/cipher/ChangeLog
19389 * lib/libgcrypt/cipher/ac.c
19390 * lib/libgcrypt/cipher/arcfour.c
19391 * lib/libgcrypt/cipher/bithelp.h
19392 * lib/libgcrypt/cipher/blowfish.c
19393 * lib/libgcrypt/cipher/camellia-glue.c
19394 * lib/libgcrypt/cipher/camellia.c
19395 * lib/libgcrypt/cipher/camellia.h
19396 * lib/libgcrypt/cipher/cast5.c
19397 * lib/libgcrypt/cipher/cipher.c
19398 * lib/libgcrypt/cipher/crc.c
19399 * lib/libgcrypt/cipher/des.c
19400 * lib/libgcrypt/cipher/dsa.c
19401 * lib/libgcrypt/cipher/ecc.c
19402 * lib/libgcrypt/cipher/elgamal.c
19403 * lib/libgcrypt/cipher/hash-common.c
19404 * lib/libgcrypt/cipher/hash-common.h
19405 * lib/libgcrypt/cipher/hmac-tests.c
19406 * lib/libgcrypt/cipher/md.c
19407 * lib/libgcrypt/cipher/md4.c
19408 * lib/libgcrypt/cipher/md5.c
19409 * lib/libgcrypt/cipher/primegen.c
19410 * lib/libgcrypt/cipher/pubkey.c
19411 * lib/libgcrypt/cipher/rfc2268.c
19412 * lib/libgcrypt/cipher/rijndael-tables.h
19413 * lib/libgcrypt/cipher/rijndael.c
19414 * lib/libgcrypt/cipher/rmd.h
19415 * lib/libgcrypt/cipher/rmd160.c
19416 * lib/libgcrypt/cipher/rsa.c
19417 * lib/libgcrypt/cipher/seed.c
19418 * lib/libgcrypt/cipher/serpent.c
19419 * lib/libgcrypt/cipher/sha1.c
19420 * lib/libgcrypt/cipher/sha256.c
19421 * lib/libgcrypt/cipher/sha512.c
19422 * lib/libgcrypt/cipher/tiger.c
19423 * lib/libgcrypt/cipher/twofish.c
19424 * lib/libgcrypt/cipher/whirlpool.c
19425
af2f93ac
RM
194262009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19427
19428 Fix build for systems without error().
19429
19430 * gnulib/error.c: New file (imported from Gnulib).
19431 * gnulib/error.h: Likewise.
19432 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
19433 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
19434 (this variable is now used by error()).
19435
73fb3dd5
FZ
194362009-11-16 Felix Zielcke <fzielcke@z-51.de>
19437
814f5e96
FZ
19438 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
19439 instead of relying that char is signed.
73fb3dd5 19440
a691ca33
VS
194412009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
19442
19443 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
19444 blocksize different from specified.
19445 (grub_pxefs_read): Likewise.
19446
2af8f0f4
FZ
194472009-11-16 Felix Zielcke <fzielcke@z-51.de>
19448
19449 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
19450
19451 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
19452 (grub_ata_readwrite): Likewise. Update 2 format strings.
19453 (grub_atapi_read): Likewise.
19454
19455 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
19456 * conf/i386.rmk (pkglib_MODULES): ... to here ...
19457 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
19458 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
19459 (ata_mod_LDFLAGS): Move from here ...
19460 * conf/i386.rmk: ... to here ...
19461 * conf/x86_64-efi.rmk: ... and here.
19462 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
19463 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
19464
83bdecaf
RM
194652009-11-16 Robert Millan <rmh.grub@aybabtu.com>
19466
19467 Relicense multiboot.h, with RMS' blessing.
19468
19469 * include/multiboot.h: Change to X11 license.
19470
fd6fd3d7
RM
194712009-11-15 Robert Millan <rmh.grub@aybabtu.com>
19472
19473 Support --version in grub-mkisofs.
19474
19475 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
19476 (OPTION_VERSION): New macro.
19477 (ld_options): Recognize --version.
19478 (usage): Move `program_name' from here ...
19479 (program_name): ... to here. Add `static' qualifier.
19480 (main): Recognize `OPTION_VERSION'.
19481
16a88c49
FZ
194822009-11-15 Felix Zielcke <fzielcke@z-51.de>
19483
19484 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
19485 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
19486
a4158476
RM
194872009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19488
19489 Fix help2man generation for mkisofs.
19490
19491 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
19492 (usage): Send output to stdout (rather than stderr).
19493
fc2208b0
RM
194942009-11-14 Robert Millan <rmh.grub@aybabtu.com>
19495
19496 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
19497 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19498 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
19499 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
19500 (bin_SCRIPTS): Add `grub-mkfloppy'.
19501 (grub_mkfloppy_SOURCES): New variable.
19502
19503 * util/grub-mkrescue.in: New file.
19504 * util/i386/pc/grub-mkfloppy.in: New file.
19505
19506 * util/i386/coreboot/grub-mkrescue.in: Remove.
19507 * util/i386/pc/grub-mkrescue.in: Remove.
19508
8d0edf4a
RM
195092009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19510
19511 * include/grub/multiboot.h (struct grub_multiboot_header): Move
19512 from here ...
19513 * include/multiboot.h (struct multiboot_header): ... to here. Update
19514 all users.
19515 * include/grub/multiboot.h (struct grub_multiboot_info): Move
19516 from here ...
19517 * include/multiboot.h (struct multiboot_info): ... to here. Update
19518 all users.
19519 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
19520 from here ...
19521 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
19522 Update all users.
19523 * include/grub/multiboot.h (struct grub_mod_list): Move
19524 from here ...
19525 * include/multiboot.h (struct multiboot_mod_list): ... to here.
19526 Update all users.
19527
a73f5969
RM
195282009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19529
19530 * include/multiboot2.h (multiboot_word): Rename from this ...
19531 (multiboot2_word): ... to this. Update all users.
19532 (multiboot_header): Rename from this ...
19533 (multiboot2_header): ... to this. Update all users.
19534 (multiboot_tag_header): Rename from this ...
19535 (multiboot2_tag_header): ... to this. Update all users.
19536 (multiboot_tag_start): Rename from this ...
19537 (multiboot2_tag_start): ... to this. Update all users.
19538 (multiboot_tag_name): Rename from this ...
19539 (multiboot2_tag_name): ... to this. Update all users.
19540 (multiboot_tag_module): Rename from this ...
19541 (multiboot2_tag_module): ... to this. Update all users.
19542 (multiboot_tag_memory): Rename from this ...
19543 (multiboot2_tag_memory): ... to this. Update all users.
19544 (multiboot_tag_unused): Rename from this ...
19545 (multiboot2_tag_unused): ... to this. Update all users.
19546 (multiboot_tag_end): Rename from this ...
19547 (multiboot2_tag_end): ... to this. Update all users.
19548
1c8927f0
RM
195492009-11-13 Robert Millan <rmh.grub@aybabtu.com>
19550
19551 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
19552 this platform we should support Multiboot1 first.
19553
19554 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
19555 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
19556 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
19557
6e1e0d89
RM
195582009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19559
19560 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
19561 of write calls (converting them to fwrite() if they aren't already).
19562 (get_torito_desc): Likewise.
19563 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
19564
7f2b34d8
RM
195652009-11-12 Robert Millan <rmh.grub@aybabtu.com>
19566
19567 * util/i386/pc/grub-install.in: Move from here ...
19568 * util/grub-install.in: ... to here. Update all users.
19569
c0ef3311
CW
195702009-11-11 Colin Watson <cjwatson@ubuntu.com>
19571
19572 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
19573
e1f240ff
RM
195742009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19575
19576 Support for El Torito without floppy emulation.
19577
19578 * util/mkisofs/eltorito.c: Include `<errno.h>'.
19579 (init_boot_catalog): Improve error handling.
19580 (get_torito_desc): Don't use floppy emulation unless requested by
19581 user. Patch boot information table when requested via
19582 `-boot-info-table'.
19583 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
19584 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
19585 (use_boot_info_table): New variables.
19586 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
19587 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
19588 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
19589 `--eltorito-emul-floppy'.
19590 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
19591 and `OPTION_ELTORITO_EMUL_FLOPPY'.
19592 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
19593 (use_boot_info_table, get_731): New prototypes.
19594 * util/mkisofs/write.c (get_731): New function.
19595
af7d4de5
FZ
195962009-11-11 Felix Zielcke <fzielcke@z-51.de>
19597
19598 Fix the generation of the man page.
19599
19600 * util/pc/i386/grub-install.in: Source
19601 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
19602
2c55dbc0
RM
196032009-11-11 Robert Millan <rmh.grub@aybabtu.com>
19604
19605 Large file support for grub-mkisofs.
19606
19607 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
19608 * util/mkisofs/mkisofs.c (next_extent, last_extent)
19609 (session_start): Upgrade type to `uint64_t'. Update all users.
19610 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
19611 (struct directory_entry): Upgrade type of `starting_block' and
19612 `size' to `uint64_t'. Update all users.
19613 (struct deferred): Remove unused structure.
19614 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
19615 Update all users.
19616 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
19617 file is larger than `UINT32_MAX'.
19618 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
19619 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
19620 return value.
19621 (struct deferred_write): Upgrade type of `extent' and `size' to
19622 `uint64_t'. Update all users.
19623 (last_extent_written): Upgrade type to `uint64_t'. Update all
19624 users.
19625 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
19626 Update all users. Upgrade type of `remain' to `int64_t' and
19627 `use' to `size_t'. Use error() to handle fread() errors.
19628 (write_files): Rely on write_one_file() rather than calling
19629 xfwrite() directly.
19630
6a9cead5
FZ
196312009-11-09 Felix Zielcke <fzielcke@z-51.de>
19632
19633 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
19634
4825d790
RM
196352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19636
19637 * util/mkisofs/fnmatch.c: Remove.
19638 * util/mkisofs/getopt1.c: Likewise.
19639 * util/mkisofs/getopt.c: Likewise.
19640 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
19641 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
19642 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
19643 `gnulib/getopt1.c' and `gnulib/getopt.c'.
19644 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
19645
19646 * configure.ac: Detect `mingw32msvc' host_os.
19647 Check for lstat(), getuid() and getgid().
19648
19649 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
19650 instances of `u_char' with `uint8_t'.
19651
19652 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
19653 [!HAVE_GETUID] (getuid): New function (stub).
19654 [!HAVE_GETGID] (getgid): Likewise.
19655 [!HAVE_LSTAT] (lstat): Likewise.
19656 [!S_IROTH] (S_IROTH): New macro (dummy).
19657 [!S_IRGRP] (S_IRGRP): Likewise.
19658
84b860d8
RM
196592009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19660
19661 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
19662 conditional expression).
19663
66e9b712
RM
196642009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19665
19666 Import from Gnulib.
19667
19668 * gnulib/fnmatch.c: New file.
19669 * gnulib/fnmatch.h: Likewise.
19670 * gnulib/fnmatch_loop.c: Likewise.
19671 * gnulib/getopt.c: Likewise.
19672 * gnulib/getopt.h: Likewise.
19673 * gnulib/getopt1.c: Likewise.
19674 * gnulib/getopt_int.h: Likewise.
19675 * gnulib/gettext.h: Likewise.
19676
34f4a5b0
RM
196772009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19678
19679 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
19680 * normal/handler.c (read_handler_list): Likewise.
19681
ac451143
RM
196822009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19683
19684 Misc cleanup.
19685
19686 * kern/command.c (grub_register_command_prio): Use
19687 grub_zalloc() instead of explicitly zeroing data.
19688 * kern/list.c: Include `<grub/mm.h>'.
19689 (grub_named_list_find): Replace `0' with `NULL'.
19690 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
19691 (fs_module_list): Change type to `grub_named_list_t'. Update all
19692 users.
19693 * normal/dyncmd.c (read_command_list): Add space between function
19694 call and parenthesis.
19695 * normal/handler.c (read_handler_list): Likewise.
19696
4089b167
RM
196972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19698
19699 * normal/auth.c (punishment_delay): Moved from here ...
19700 (grub_auth_strcmp): ... to here (inside function).
19701
325f5037
RM
197022009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19703
19704 * include/grub/list.h (struct grub_named_list): Remove `const'
19705 qualifier from `name'.
19706 (struct grub_prio_list): Likewise.
19707
7aea29a3
RM
197082009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19709
19710 * normal/auth.c: Include `<grub/time.h>'.
19711 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
19712
3fd6f044
RM
197132009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19714
19715 * normal/auth.c (punishment_delay): New variable.
19716 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
19717 (grub_auth_check_authentication): Punish failed login attempts with
19718 an incremental (2^N) delay.
19719
a4cd68e4
RM
197202009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19721
19722 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
19723 path with $(srcdir).
19724
7ad12f43
VS
197252009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19726
19727 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
19728
c1129f03
RM
197292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
19730
19731 * util/i386/coreboot/grub-mkrescue.in: New file.
19732 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
19733 variables.
19734
19735 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
19736 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
19737 * configure.ac: Add header and function checks to satisfy grub-mkisofs
19738 requirements.
19739 * util/mkisofs/defaults.h: New file.
19740 * util/mkisofs/eltorito.c: Likewise.
19741 * util/mkisofs/exclude.h: Likewise.
19742 * util/mkisofs/fnmatch.c: Likewise.
19743 * util/mkisofs/getopt.c: Likewise.
19744 * util/mkisofs/getopt1.c: Likewise.
19745 * util/mkisofs/hash.c: Likewise.
19746 * util/mkisofs/include/fctldefs.h: Likewise.
19747 * util/mkisofs/include/mconfig.h: Likewise.
19748 * util/mkisofs/include/prototyp.h: Likewise.
19749 * util/mkisofs/include/statdefs.h: Likewise.
19750 * util/mkisofs/iso9660.h: Likewise.
19751 * util/mkisofs/joliet.c: Likewise.
19752 * util/mkisofs/match.c: Likewise.
19753 * util/mkisofs/match.h: Likewise.
19754 * util/mkisofs/mkisofs.c: Likewise.
19755 * util/mkisofs/mkisofs.h: Likewise.
19756 * util/mkisofs/multi.c: Likewise.
19757 * util/mkisofs/name.c: Likewise.
19758 * util/mkisofs/rock.c: Likewise.
19759 * util/mkisofs/tree.c: Likewise.
19760 * util/mkisofs/write.c: Likewise.
19761
ec8bb77d
VS
197622009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
19763
19764 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
19765 being insecure.
19766
3716b12c
RM
197672009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19768
19769 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
19770 `grub-mkimage' (and use $0 when possible).
19771
b97b7b91
RM
197722009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19773
19774 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
19775 error message for excessively large memory map.
19776
04114812
RM
197772009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19778
19779 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
19780 executable bit.
19781
e4eb2373
RM
197822009-11-08 Robert Millan <rmh.grub@aybabtu.com>
19783
19784 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
19785 message for coreboot users.
19786
c926e1d5 197872009-11-07 Robert Millan <rmh.grub@aybabtu.com>
19788
19789 Fix build with GNU gold.
19790
19791 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
19792 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
19793 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
19794 link addresses.
19795 * aclocal.m4: Likewise.
19796
86e5b1db 197972009-11-04 Felix Zielcke <fzielcke@z-51.de>
19798
19799 * configure.ac (AC_PREREQ): Bump to 2.59d.
19800 * INSTALL: Make it more clear when Autoconf and Ruby are
19801 needed and when to run `./autogen.sh'.
19802
246cd78f 198032009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
19804
19805 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
19806 OSes.
19807
4f9dfb37 198082009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19809
19810 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
19811
b82bd5e1 198122009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19813
19814 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
19815 giving it to GNU Mach.
19816
ff1a9bca 198172009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19818
19819 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
19820 GNU partition number to get internal GRUB partition number.
19821
61697d9c 198222009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
19823
19824 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
19825 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
19826
a50569e1 198272009-11-01 Robert Millan <rmh.grub@aybabtu.com>
19828
19829 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
19830 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
19831 case.
19832
5b153867 198332009-11-01 Felix Zielcke <fzielcke@z-51.de>
19834
19835 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
19836
d9e2cd70 198372009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19838
19839 Fix build problem.
19840
19841 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
19842 `-isystem=$(srcdir)/include'.
19843
805111a4 198442009-10-30 Robert Millan <rmh.grub@aybabtu.com>
19845
19846 * util/i386/pc/grub-install.in: Remove hint that device.map should be
19847 checked (grub-install doesn't currently rely on it).
19848
fa6e945f 198492009-10-29 Robert Millan <rmh.grub@aybabtu.com>
19850
19851 Revert SVN r2660.
19852
19853 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
19854 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19855 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
19856 * conf/i386-ieee1275.rmk: Likewise.
19857 * conf/i386-pc.rmk: Likewise.
19858 * conf/powerpc-ieee1275.rmk: Likewise.
19859 * conf/sparc64-ieee1275.rmk: Likewise.
19860 * conf/x86_64-efi.rmk: Likewise.
19861
cee15086 198622009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19863
19864 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
19865
95b9239e 198662009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19867
19868 * include/grub/misc.h: Stop checking for APPLE_CC.
19869
2ed19dfd 198702009-10-28 Robert Millan <rmh.grub@aybabtu.com>
19871
19872 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
19873 doesn't cause an infinite call loop.
19874
fdcdde19 198752009-10-28 Felix Zielcke <fzielcke@z-51.de>
19876
19877 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
19878 strings.
19879
cefabfe1 198802009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19881
19882 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
19883 variable.
19884 * Makefile.in: Likewise.
19885
ed96ab6d 198862009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19887
19888 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
19889
0579b753 198902009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19891
19892 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
19893
478df409 198942009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19895
19896 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
19897
083d1679 198982009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19899
19900 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
19901 from here ...
19902 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
19903
5947ae32 199042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19905
19906 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
19907 in $(MAKEINFO) invocation. This makes it clear in output that
19908 errors are being ignored.
19909
94180ff6 199102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19911
19912 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
19913 from here ...
19914 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
19915 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
19916 * conf/i386-ieee1275.rmk: Likewise.
19917 * conf/i386-pc.rmk: Likewise.
19918 * conf/powerpc-ieee1275.rmk: Likewise.
19919 * conf/sparc64-ieee1275.rmk: Likewise.
19920 * conf/x86_64-efi.rmk: Likewise.
19921
9031b03a 199222009-10-26 Colin Watson <cjwatson@ubuntu.com>
19923
19924 * util/grub-editenv.c (main): If only a command is given, use
19925 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
19926 (usage): FILENAME is now optional and has a default.
19927
e4f6809b 199282009-10-26 Colin Watson <cjwatson@ubuntu.com>
19929
19930 Improve grub-mkconfig performance when there are several menu
19931 entries on a single filesystem.
19932
19933 * util/grub.d/10_linux.in (linux_entry): Cache the output of
19934 prepare_grub_to_access_device.
19935 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
19936 * util/grub.d/30_os-prober.in: Likewise.
19937
67937d4d 199382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19939
19940 * util/grub.d/10_freebsd.in: Remove.
19941 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
19942 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
19943
ee3756cc 199442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
19945
5c35048e 19946 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 19947
4dea1c6f 199482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19949
19950 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
19951 grub_util_error() call.
19952
042484d7 199532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19954
19955 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
19956 `reserved_first_sector' member.
19957 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
19958 `reserved_first_sector' to 1.
19959 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
19960 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
19961 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
19962 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
19963 filesystems which begin at first sector.
19964 (options): New option --skip-fs-probe.
19965 (main): Handle --skip-fs-probe and pass it to setup().
19966
d64448a7 199672009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19968
19969 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
19970 (memset): Fix function prototype.
19971
508d42ec 199722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
199732009-10-25 Vasily Averin <vvs@parallels.com>
19974
19975 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
19976 `dirent.direntlen == 0'.
19977
b240e30c 199782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19979
19980 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
19981 `cpio'.
19982 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
19983
346e7fbe 199842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19985
19986 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
19987 `__trampoline_setup' and `__ucmpdi2'.
19988 * include/grub/powerpc/libgcc.h: Only export symbols for functions
19989 that libgcc provides.
19990
cdb308b0 199912009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19992
19993 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
19994 * include/grub/sparc64/libgcc.h (memset): Likewise.
19995 * include/grub/misc.h (memset, memcmp): New function prototypes.
19996
fb26abc2 199972009-10-25 Robert Millan <rmh.grub@aybabtu.com>
19998
19999 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
20000 `cpio'.
20001 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
20002
f6693890 200032009-10-25 Robert Millan <rmh.grub@aybabtu.com>
20004
20005 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
20006 * docs/grub.cfg: Compensate for recent change in multiboot
20007 loader (since 2009-08-14 it won't pass filename to payload).
20008 * util/grub.d/10_hurd.in: Likewise.
20009
0933cdc0 200102009-10-21 Felix Zielcke <fzielcke@z-51.de>
20011
20012 * config.guess: Update to latest version from config git
20013 repository.
20014 * config.sub: Likewise.
20015
3b2fe8c2 200162009-10-20 Robert Millan <rmh.grub@aybabtu.com>
20017
20018 Fix build on sparc64.
20019
20020 * configure.ac: Perform checks for libgcc symbols before
20021 adding `-nostdlib' to LDFLAGS.
20022
46695a62 200232009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20024
20025 Let user specify OpenBSD root device.
20026
20027 * loader/i386/bsd.c (openbsd_root): New variable.
20028 (openbsd_opts): New option 'root'.
20029 (OPENBSD_ROOT_ARG): New macro.
20030 (grub_openbsd_boot): Use 'openbsd_root'.
20031 (grub_cmd_openbsd): Fill 'openbsd_root'.
20032
d2b6b7fc 200332009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20034
20035 * NEWS: Misc adjustments.
20036
421bd7ac 200372009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
20038
20039 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
20040
f1d29d87 200412009-10-16 Robert Millan <rmh.grub@aybabtu.com>
20042
20043 * configure.ac: Bump version to 1.97.
20044
6f3cd880 200452009-10-16 Colin Watson <cjwatson@ubuntu.com>
20046
20047 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
20048 -mno-3dnow on x86 architectures. Some toolchains enable these
20049 features by default, but they rely on registers that aren't enabled
20050 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
20051
035f7122 200522009-10-15 Robert Millan <rmh.grub@aybabtu.com>
20053
20054 Make entry text a bit more readable.
20055
20056 * util/grub.d/10_linux.in: Add `with' before `Linux'.
20057
44998e58 200582009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20059
20060 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
20061
cd2851b3 200622009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20063
20064 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
20065 operations.
20066
c6f3b249 200672009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20068
20069 * configure.ac: Add missing dollar.
20070
6b5886ba 200712009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
20072
20073 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
20074
20075 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
20076 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
20077 exports.
20078 * include/grub/sparc64/libgcc.h: Likewise. Use
20079 preprocessor conditionals.
20080
e9d66f6d 200812009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20082
20083 * conf/common.rmk (grub-dumpbios): Remove rule.
20084 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
20085 * util/grub-dumpbios.in: Remove file.
20086
9155bc17 200872009-10-14 Robert Millan <rmh.grub@aybabtu.com>
20088
20089 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
20090 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
20091
20092 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
20093 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
20094 users.
20095
20096 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
20097 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
20098 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
20099 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
20100 users.
20101
bf7f7a18 201022009-10-12 Robert Millan <rmh.grub@aybabtu.com>
20103
20104 * term/tparm.c: Switch to GPLv3.
20105
86564c26 201062009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20107
20108 * include/grub/i386/cpuid.h: Add header protection.
20109
5c936493 201102009-10-09 Robert Millan <rmh.grub@aybabtu.com>
20111
20112 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
20113
20114 * include/grub/i386/cpuid.h: New file.
20115 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
20116 (has_longmode): Rename to ...
20117 (grub_cpuid_has_longmode): ... this. Update all users. Remove
20118 `static' attribute.
20119 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
20120 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
20121 on a CPU that doesn't implement AMD64 instruction set.
20122
186e7cf2 201232009-10-06 Colin Watson <cjwatson@ubuntu.com>
20124
20125 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
20126 that version.texi is rebuilt on version number changes.
20127
83b65c4a 201282009-10-06 Colin Watson <cjwatson@ubuntu.com>
20129
20130 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
20131 Fixes bug #27602.
20132
d244281c 201332009-10-06 Colin Watson <cjwatson@ubuntu.com>
20134
20135 * util/i386/pc/grub-install.in: Source
20136 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
20137 that the --grub-probe option will work.
20138 * util/sparc64/ieee1275/grub-install.in: Likewise.
20139
da25306d 201402009-10-05 Robert Millan <rmh.grub@aybabtu.com>
20141
20142 * configure.ac: Bump version to 1.97~beta4.
20143
e8ee83c0 201442009-10-03 Robert Millan <rmh.grub@aybabtu.com>
20145
20146 Resync grub-mkdevicemap in x86_64-efi.
20147
20148 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
20149 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
20150 `util/devicemap.c'.
20151
50dcabcf 201522009-10-01 Colin Watson <cjwatson@ubuntu.com>
20153
20154 * util/grub-editenv.c (create_envblk_file): Write new block with a
20155 .new suffix and then rename it into place, to ensure atomic
20156 creation.
20157
0e51c3a7 201582009-09-28 Robert Millan <rmh.grub@aybabtu.com>
20159
20160 Do not automatically install headers.
20161
20162 * Makefile.in (include_DATA): Remove. Update all users.
20163
31299a95 201642009-09-26 Robert Millan <rmh.grub@aybabtu.com>
20165
20166 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
20167 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
20168
20169 * util/osdetect.lua: Remove.
20170 * script/lua/lauxlib.c: Likewise.
20171 * script/lua/ldebug.c: Likewise.
20172 * script/lua/grub_main.c: Likewise.
20173 * script/lua/lauxlib.h: Likewise.
20174 * script/lua/ldebug.h: Likewise.
20175 * script/lua/ltablib.c: Likewise.
20176 * script/lua/liolib.c: Likewise.
20177 * script/lua/lstrlib.c: Likewise.
20178 * script/lua/lualib.h: Likewise.
20179 * script/lua/ldo.c: Likewise.
20180 * script/lua/ldump.c: Likewise.
20181 * script/lua/ldo.h: Likewise.
20182 * script/lua/loslib.c: Likewise.
20183 * script/lua/lundump.c: Likewise.
20184 * script/lua/grub_lib.c: Likewise.
20185 * script/lua/ldblib.c: Likewise.
20186 * script/lua/lundump.h: Likewise.
20187 * script/lua/lmem.c: Likewise.
20188 * script/lua/grub_lib.h: Likewise.
20189 * script/lua/lmathlib.c: Likewise.
20190 * script/lua/lstate.c: Likewise.
20191 * script/lua/ltm.c: Likewise.
20192 * script/lua/lvm.c: Likewise.
20193 * script/lua/lmem.h: Likewise.
20194 * script/lua/lstate.h: Likewise.
20195 * script/lua/ltm.h: Likewise.
20196 * script/lua/ltable.c: Likewise.
20197 * script/lua/lvm.h: Likewise.
20198 * script/lua/llex.c: Likewise.
20199 * script/lua/lgc.c: Likewise.
20200 * script/lua/grub_lua.h: Likewise.
20201 * script/lua/loadlib.c: Likewise.
20202 * script/lua/lfunc.c: Likewise.
20203 * script/lua/lopcodes.c: Likewise.
20204 * script/lua/lparser.c: Likewise.
20205 * script/lua/ltable.h: Likewise.
20206 * script/lua/llex.h: Likewise.
20207 * script/lua/lgc.h: Likewise.
20208 * script/lua/lfunc.h: Likewise.
20209 * script/lua/lbaselib.c: Likewise.
20210 * script/lua/lopcodes.h: Likewise.
20211 * script/lua/lparser.h: Likewise.
20212 * script/lua/lzio.c: Likewise.
20213 * script/lua/linit.c: Likewise.
20214 * script/lua/lobject.c: Likewise.
20215 * script/lua/llimits.h: Likewise.
20216 * script/lua/lstring.c: Likewise.
20217 * script/lua/lzio.h: Likewise.
20218 * script/lua/lapi.c: Likewise.
20219 * script/lua/lcode.c: Likewise.
20220 * script/lua/lua.h: Likewise.
20221 * script/lua/lobject.h: Likewise.
20222 * script/lua/lstring.h: Likewise.
20223 * script/lua/lapi.h: Likewise.
20224 * script/lua/lcode.h: Likewise.
20225 * script/lua/luaconf.h: Likewise.
20226
cb8a2c38 202272009-09-26 Colin Watson <cjwatson@ubuntu.com>
20228
20229 * docs/grub.texi (Command-line and menu entry commands): Document
20230 date and echo commands.
20231
6b9b6276 202322009-09-24 Pavel Roskin <proski@gnu.org>
20233
20234 * include/grub/kernel.h (struct grub_module_header): Remove
20235 `grub_module_header_types'. Make `type' unsigned. Make `size'
20236 32-bit on all platforms.
20237 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
20238 8-bit field. Use grub_host_to_target32() for `size'.
20239 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
20240 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
20241 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
20242
4e5a02a7 202432009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20244
20245 Fix "lost keypress" bug in at_keyboard.
20246
20247 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
20248 Checks for readyness of input buffer (without flushing it).
20249 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
20250 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
20251
c6dcedf6 202522009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20253
20254 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
20255 size check within GRUB_MACHINE_PCBIOS section.
20256
74c958b1 202572009-09-24 Robert Millan <rmh.grub@aybabtu.com>
20258
20259 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
20260 return value.
20261 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
20262 KEYBOARD_ISREADY check.
20263 (grub_at_keyboard_checkkey): Rename to ...
20264 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
20265 Remove gratuitous cast.
20266
ff420223 202672009-09-23 Colin Watson <cjwatson@ubuntu.com>
20268
20269 * configure.ac: Call AC_PROG_MKDIR_P.
20270 * Makefile.in (docs/stamp-vti): Create docs directory. Create
20271 version.texi in $(builddir) rather than $(srcdir).
20272 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
20273 to makeinfo's @include search path.
20274
d96875df 202752009-09-23 Felix Zielcke <fzielcke@z-51.de>
20276
20277 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
20278
9b3f8365 202792009-09-23 Felix Zielcke <fzielcke@z-51.de>
20280
20281 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
20282 for `*.dpkg-new'.
20283
c44c90db 202842009-09-21 Colin Watson <cjwatson@ubuntu.com>
20285
20286 Build info documentation. Some code borrowed from Automake.
20287
20288 * configure.ac: Check for makeinfo.
20289 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
20290 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
20291 docs/version.texi.
20292 (MOSTLYCLEANFILES): Add vti.tmp.
20293 (docs/version.texi, docs/stamp-vti): Update automatically.
20294 (docs/grub.info): Build info documentation. Use --force and ignore
20295 errors for now.
20296 (all-local): Add $(INFOS).
20297 (install-local): Install info files.
20298 (uninstall): Uninstall info files.
20299 * docs/version.texi: Remove from revision control. This file is
20300 automatically generated on build now.
20301 * gendistlist.sh: Add `*.info'.
20302
e0b37bb5 203032009-09-21 Felix Zielcke <fzielcke@z-51.de>
20304
20305 * kern/term.c: Fix indentation.
20306
5a78865b 203072009-09-21 Felix Zielcke <fzielcke@z-51.de>
20308
20309 * util/hostdisk.c: Fix a comment.
20310
dace7e8a 203112009-09-20 Robert Millan <rmh.grub@aybabtu.com>
20312
20313 Fix regression introduced in r2539.
20314
20315 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
20316 to 0xA1.
20317
a83d079b 203182009-09-19 Colin Watson <cjwatson@ubuntu.com>
20319
20320 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 20321 os-prober. Under normal operation, it does not print anything to
20322 stderr; if it does, we need to debug it, and throwing away stderr
20323 makes that excessively difficult.
a83d079b 20324
be94a509 203252009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
20326
20327 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
20328
63f745e8 203292009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20330
20331 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
20332 AC_LANG_PROGRAM from autoconf.
20333 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
20334 prototypes (fixes warning).
20335
20336 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
20337 `--disable-werror' was used.
20338
bbb2a70f 203392009-09-16 Robert Millan <rmh.grub@aybabtu.com>
20340
20341 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
20342 uninitialized `lastaddr'.
20343
77c24f1d 203442009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
20345
0f0b8c87 20346 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 20347
07197f23 203482009-09-14 Colin Watson <cjwatson@ubuntu.com>
20349
20350 * commands/test.c (get_fileinfo): Return immediately if
20351 grub_fs_probe fails.
20352
dabf1798 203532009-09-14 José Martínez <xosemp@gmail.com>
20354
20355 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
20356
d52109a7 203572009-09-14 Colin Watson <cjwatson@ubuntu.com>
20358
20359 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
20360 output.
20361
56532179 203622009-09-13 Robert Millan <rmh.grub@aybabtu.com>
20363
20364 * configure.ac: Remove --enable-grub-pe2elf. Only build
20365 grub-pe2elf when needed by the build system itself.
20366 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
20367
8ef070f5 203682009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20369
20370 * configure.ac: Bump version to 1.97~beta3.
20371 * docs/version.texi: Likewise.
20372
61229557 203732009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20374
20375 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
20376 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
20377 from here ...
20378 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
20379 (grub_linux_setup_video): ... to here (with some adjustments).
20380
5c9f8d84 203812009-09-12 Robert Millan <rmh.grub@aybabtu.com>
20382
20383 Fix memory corruption issue (spotted by Colin Watson).
20384
20385 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
20386 causing returned size to be stored in an incorrect memory location.
20387 Fix use of uninitialized value when storing the returned size.
20388
e8f5d6e9 203892009-09-12 Yves Blusseau <blusseau@zetam.org>
20390
20391 Change clean rules to properly remove files
20392
20393 * genmk.rb: add new clean rules
20394 * Makefile.in (clean): add the new targets
20395 (mostlyclean): likewise
20396
cda2a409 203972009-09-11 Colin Watson <cjwatson@ubuntu.com>
20398
20399 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
20400 to grub_uint64_t.
20401 * fs/ntfs.c (init_file): Understand 64-bit sizes for
20402 non-resident files.
20403
86695375 204042009-09-11 Colin Watson <cjwatson@ubuntu.com>
20405
20406 * configure.ac: Don't look for help2man when cross-compiling. Fixes
20407 part of bug #27349.
20408
8aa1541a 204092009-09-10 Felix Zielcke <fzielcke@z-51.de>
20410
20411 * util/grub-mkconfig.in: Make the created config mode 400 and
20412 print a warning if it fails.
20413
48d9bb0a 204142009-09-10 Robert Millan <rmh.grub@aybabtu.com>
20415
20416 * util/grub.d/40_custom.in: Ask user to type custom entries below
20417 comment, rather than below 'exec tail' line.
20418
3b0521be 204192009-09-10 Colin Watson <cjwatson@ubuntu.com>
20420
20421 * util/grub.d/40_custom.in: Make sure that the explanatory text is
20422 visible in grub.cfg.
20423
50051d55 204242009-09-10 Colin Watson <cjwatson@ubuntu.com>
20425
20426 * util/grub.d/40_custom.in: Make it a little clearer how to use this
20427 file.
20428
c0d34387 204292009-09-10 Felix Zielcke <fzielcke@z-51.de>
20430
20431 * docs/grub.cfg: Add an example menu entry for memtest86+.
20432
80a608f3 204332009-09-09 Felix Zielcke <fzielcke@z-51.de>
20434
a2094832 20435 * config.guess: Update to latest version from config git.
80a608f3 20436 * config.sub: Likewise.
20437
99423078 204382009-09-08 Colin Watson <cjwatson@ubuntu.com>
20439
20440 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
20441 unknown-command case. Fixes bug #27320.
20442
44454e4c 204432009-09-08 Felix Zielcke <fzielcke@z-51.de>
20444
20445 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
20446 `help' if the command exists.
20447
e30d87ad 204482009-09-06 Robert Millan <rmh.grub@aybabtu.com>
20449
20450 * INSTALL: Require GCC 4.1.3 or later.
20451
9a86f1ec 204522009-09-06 Yves Blusseau <blusseau@zetam.org>
20453
20454 * Makefile.in (RMKFILES): add i386-qemu.rmk
20455 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
20456 $(srcdir)/stamp-h.in
20457
7f26d466 204582009-09-05 Robert Millan <rmh.grub@aybabtu.com>
20459
20460 * util/grub-probe.c (probe): Comment out buggy codepath, which
20461 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
20462 should be re-enabled after 1.97.
20463
3a613259 204642009-09-05 Felix Zielcke <fzielcke@z-51.de>
20465
20466 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
20467 find searches for.
20468
197f76c7 204692009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
20470
20471 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
20472 unnecessary calls to grub_error.
20473
70ba68ce 204742009-09-04 Colin Watson <cjwatson@ubuntu.com>
20475
20476 * NEWS: Mention `keystatus' and Unicode fonts.
20477
4ff0d7a4 204782009-09-04 Robert Millan <rmh.grub@aybabtu.com>
20479
20480 * configure.ac: Bump version to 1.97~beta2.
20481 * docs/version.texi: Likewise.
20482
77c55a87 204832009-09-03 Colin Watson <cjwatson@ubuntu.com>
20484
20485 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
20486 containing unwind information in some cases where it previously did
20487 not. Use -fno-dwarf2-cfi-asm if available to restore the old
20488 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
20489 discussion.
20490
f79572cd 204912009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
20492
20493 Embedding loadenv module into grub-emu
20494
20495 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
20496 commands/loadenv.c
20497 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
20498 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
20499 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
20500 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
20501 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
20502 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
20503
93a81088 205042009-09-03 Magnus Granberg <zorry@ume.nu>
20505
20506 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
20507 include -fPIE in the default specs.
20508 * configure.ac: Check if pie_possible is yes and add -fno-PIE
20509 to TARGET_CFLAGS.
20510
160034b2 205112009-09-03 Felix Zielcke <fzielcke@z-51.de>
20512
20513 * INSTALL: Note that GNU Bison 2.3 or later is required.
20514
087c07c4 205152009-09-03 Colin Watson <cjwatson@ubuntu.com>
20516
20517 * kern/i386/pc/startup.S: Fix typo.
20518
cbf978c0 205192009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
20520
20521 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
20522 according to GCS.
20523
205242009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 20525
20526 * docs/grub.texi (Naming convention): Describe one-based partition
20527 numbering.
20528 (Device syntax): Likewise.
20529 (File name syntax): Likewise.
20530 (Block list syntax): Likewise.
20531 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
20532 menu.lst.
20533 (File name syntax): Likewise.
20534 (Command-line and menu entry commands): Document acpi, blocklist,
20535 crc, export, insmod, keystatus, ls, set, and unset commands.
20536
f3e8cdfd 205372009-09-02 Colin Watson <cjwatson@ubuntu.com>
20538
20539 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
20540 to avoid implying that only one of --shift, --ctrl, or --alt may be
20541 used.
20542
c0bc232b 205432009-09-02 Colin Watson <cjwatson@ubuntu.com>
20544
20545 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
20546 rather than comparing against S_IFREG, which will almost never work.
20547
aa0f752d 205482009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
20549
20550 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
20551 (write_blocklists): Likewise.
20552
ecb3166a 205532009-09-01 Colin Watson <cjwatson@ubuntu.com>
20554
20555 * script/lua/grub_lua.h (fputs): Supply a format string as the first
20556 argument to grub_printf.
20557
c403a125 205582009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 20559
20560 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 20561 non GNU test.
31aba781 20562
b5e7312c 205632009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20564
20565 * kern/file.c (grub_file_read): Spelling fix
20566
fe00f472 205672009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
20568
20569 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
20570 loading of headers in some cases.
20571
cc55302e 205722009-08-30 Robert Millan <rmh.grub@aybabtu.com>
20573
20574 * configure.ac: Bump version to 1.97~beta1.
20575 * docs/version.texi: Likewise.
20576
5c90cdd2 205772009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 20578
20579 * include/grub/i386/xnu.h: Add license header.
20580 include grub/err.h explicitly.
20581
c90edae4 205822009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20583
20584 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
20585 to `ufs' in the vfs.root.mountfrom kernel parameter.
20586
d8888b5c 205872009-08-29 Robert Millan <rmh.grub@aybabtu.com>
20588
20589 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
20590
20591 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
20592 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
20593
20594 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
20595 `ARRAY_SIZE' macro.
20596
6f07b921 205972009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20598
20599 * kern/file.c (grub_file_read): Check offset.
20600 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
20601 * fs/jfs.c (grub_jfs_read_file): Likewise.
20602 * fs/ntfs.c (grub_ntfs_read): Likewise.
20603 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
20604 * fs/minix.c (grub_minix_read_file): Correct offset check.
20605 * fs/ufs.c (grub_ufs_read_file): Likewise.
20606
b4f34077 206072009-08-28 Colin Watson <cjwatson@ubuntu.com>
20608
20609 * term/i386/pc/console.c (bios_data_area): Cast
20610 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
20611
e7c69859 206122009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20613
20614 1-bit optimised blitters.
20615
20616 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
20617 prototype.
20618 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20619 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20620 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20621 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20622 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20623 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20624 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
20625 function.
20626 (grub_video_fbblit_replace_24bit_1bit): Likewise.
20627 (grub_video_fbblit_replace_16bit_1bit): Likewise.
20628 (grub_video_fbblit_replace_8bit_1bit): Likewise.
20629 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
20630 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
20631 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
20632 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
20633 when possible.
20634 * video/video.c (grub_video_get_blit_format): Return
20635 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
20636
a57da43f 206372009-08-28 Colin Watson <cjwatson@ubuntu.com>
20638
20639 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
20640 the first argument to grub_printf.
20641
4cbe67e5 206422009-08-28 Colin Watson <cjwatson@ubuntu.com>
206432009-08-28 Robert Millan <rmh.grub@aybabtu.com>
20644
20645 Add `getkeystatus' terminal method. Add a new `keystatus' command
20646 to query it.
20647
20648 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
20649 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
20650 modifier key bitmasks.
20651 (struct grub_term_input): Add `getkeystatus' member.
20652 (grub_getkeystatus): Add prototype.
20653 * kern/term.c (grub_getkeystatus): New function.
20654
20655 * include/grub/i386/pc/memory.h
20656 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
20657 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
20658 Data Area layout.
20659 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
20660 (grub_console_term_input): Set `getkeystatus' member.
20661 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
20662 constants.
20663 (grub_usb_keyboard_getreport): Likewise.
20664 (grub_usb_keyboard_checkkey): Likewise.
20665 (grub_usb_keyboard_getkeystatus): New function.
20666 (grub_usb_keyboard_term): Set `getkeystatus' member.
20667
20668 * commands/keystatus.c: New file.
20669 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
20670 (keystatus_mod_SOURCES): New variable.
20671 (keystatus_mod_CFLAGS): Likewise.
20672 (keystatus_mod_LDFLAGS): Likewise.
20673 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
20674 commands/keystatus.c.
20675 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20676 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20677 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20678 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20679 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20680 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 20681
6e2a9085 206822009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
20683
20684 Split befs.mod and afs.mod into *_be.mod and *.mod
20685
20686 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
20687 (grub_fstest_SOURCES): Likewise.
20688 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
20689 (afs_be_mod_SOURCES): New variable.
20690 (afs_be_mod_CFLAGS): Likewise.
20691 (afs_be_mod_LDFLAGS): Likewise.
20692 (befs_be_mod_SOURCES): Likewise.
20693 (befs_be_mod_CFLAGS): Likewise.
20694 (befs_be_mod_LDFLAGS): Likewise.
20695 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
20696 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20697 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20698 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
20699 (grub_emu_SOURCES): Likewise.
20700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20701 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20702 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20703 * fs/afs_be.c: New file.
20704 * fs/befs_be.c: New file.
20705 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
20706 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
20707 (U16): Replaced with ...
20708 (grub_afs_to_cpu16): ...this. All users updated.
20709 (U32): Replaced with ...
20710 (grub_afs_to_cpu32): ...this. All users updated.
20711 (U64): Replaced with ...
20712 (grub_afs_to_cpu64): ...this. All users updated.
20713 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
20714 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 20715 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 20716 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20717 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20718 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20719 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20720 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
20721 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
20722 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
20723 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
20724
32a71655 207252009-08-26 Bean <bean123ch@gmail.com>
20726
20727 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
20728 64-bit number.
20729 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
20730 (grub_xfs_inode_block): Change return type to grub_uint64_t.
20731 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
20732
552bf6c5 207332009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20734
20735 NetBSD memory map support.
20736
20737 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
20738 (grub_netbsd_btinfo_mmap_header): New structure.
20739 (grub_netbsd_btinfo_mmap_entry): Likewise.
20740 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
20741
1ae2078c 207422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20743
20744 Enable bsd.mod on coreboot.
20745
20746 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
20747 (bsd_mod_SOURCES): New variable.
20748 (bsd_mod_CFLAGS): Likewise.
20749 (bsd_mod_LDFLAGS): Likewise.
20750 (bsd_mod_ASFLAGS): Likewise.
20751 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
20752 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
20753
beefc598 207542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 Cleanup NetBSD root support.
20757
20758 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
20759 grub_bsd_get_device.
20760 Fix typo.
20761
3b76e68b 207622009-08-25 Felix Zielcke <fzielcke@z-51.de>
20763
20764 * util/grub.d/00_header.in: Move check for the video backend of
20765 gfxterm from here ...
20766 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
20767 a suitable video backend.
20768
aea664ea 207692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20770
20771 Fix breakage in grub-setup.
20772
20773 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
20774 "msdos_partition_map".
20775
ff747d50 207762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20777
20778 Fix breakage in normal/auth.c.
20779
20780 * normal/auth.c (grub_iswordseparator): New function.
20781
e7e1f93f 207822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
20783
20784 Authentication support.
20785
20786 * commands/password.c: New file.
20787 * conf/common.rmk (pkglib_MODULES): Add password.mod.
20788 (password_mod_SOURCES): New variable.
20789 (password_mod_CFLAGS): Likewise.
20790 (password_mod_LDFLAGS): Likewise.
20791 (normal_mod_SOURCES): Add normal/auth.c.
20792 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
20793 normal/auth.c.
20794 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
20795 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20796 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
20797 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20798 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20799 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
20800 * include/grub/auth.h: New file.
20801 * include/grub/err.h (grub_err_t): New enum value
20802 GRUB_ERR_ACCESS_DENIED.
20803 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
20804 'users'.
20805 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
20806 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
20807 users updated.
20808 * normal/auth.c: New file.
20809 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
20810 (grub_cmdline_run): Don't allow to go to command line without
20811 authentication.
20812 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
20813 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
20814 menuentry without superuser rights.
20815 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
20816 user isn't a superuser.
20817
70f1161d 208182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 Save space by inlining misc.c functions.
20821
20822 * kern/misc.c (grub_iswordseparator): Made static.
20823 * kern/misc.c (grub_strcat): Moved from here ...
20824 * include/grub/misc.h (grub_strcat): ... here. Inlined.
20825 * kern/misc.c (grub_strncat): Moved from here ...
20826 * include/grub/misc.h (grub_strncat): ... here. Inlined.
20827 * kern/misc.c (grub_strcasecmp): Moved from here ...
20828 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
20829 * kern/misc.c (grub_strncasecmp): Moved from here ...
20830 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
20831 * kern/misc.c (grub_isalpha): Moved from here ...
20832 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
20833 * kern/misc.c (grub_isdigit): Moved from here ...
20834 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
20835 * kern/misc.c (grub_isgraph): Moved from here ...
20836 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
20837 * kern/misc.c (grub_tolower): Moved from here ...
20838 * include/grub/misc.h (grub_tolower): ... here. Inlined.
20839
48e40bff 208402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20841
20842 * script/sh/function.c (grub_script_function_find): Cut error message
20843 not to flood terminal.
20844 * script/sh/lexer.c (grub_script_yylex): Remove command line length
20845 limit.
20846 * script/sh/script.c (grub_script_arg_add): Duplicate string.
20847
c385bfc3 208482009-08-24 Colin Watson <cjwatson@ubuntu.com>
20849
20850 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
20851 `report' grub_uint8_t *.
20852 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
20853 Use a 50-millisecond timeout rather than just repeating
20854 grub_usb_keyboard_getreport 50 times.
20855 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
20856
2d21e3e8 208572009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20858
20859 Rename *_partition_map to part_*
20860
20861 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
20862 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
20863 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
20864 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
20865 All users updated.
20866 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
20867 All users updated.
20868 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
20869 * util/grub-probe.c (probe_partmap): Don't transform partition name
20870 to get module name.
20871
dd103c4e 208722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20873
20874 Fix OpenBSD and NetBSD support.
20875
20876 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
20877 memory address conflict.
20878 (OPENBSD_MMAP_ACPI): New definition.
20879 (OPENBSD_MMAP_NVS): Likewise.
20880 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
20881 and OPENBSD_MMAP_NVS.
20882 Add memory map terminator
20883 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 20884 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 20885
16c84d74 208862009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20887
20888 Let user specify NetBSD root device.
20889
20890 * loader/i386/bsd.c (netbsd_root): New variable.
20891 (netbsd_opts): New option 'root'.
20892 (NETBSD_ROOT_ARG): New macro.
20893 (grub_netbsd_boot): Use 'netbsd_root'.
20894 (grub_bsd_unload): Free 'netbsd_root'.
20895 (grub_cmd_netbsd): Fill 'netbsd_root'.
20896
adb29902 208972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20898
20899 Support for 64-bit NetBSD.
20900
20901 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
20902 point when booting non-FreeBSD.
20903
f5ae9f74 209042009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
20905
20906 Support --no-smp and --no-acpi for NetBSD.
20907
20908 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
20909 (NETBSD_AB_NOACPI): Likewise.
20910 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
20911 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
20912
de74f136 209132009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20914
20915 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
20916 errors.
20917 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
20918 errors. Call grub_error when needed.
20919
e9a925da 209202009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20921
20922 * commands/search.c (search_fs): Try searching without autoload first.
20923 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
20924 filesystem module explicitly for faster booting.
20925
5174302b 209262009-08-23 Colin Watson <cjwatson@ubuntu.com>
20927
20928 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
20929
c8c80635 209302009-08-23 Colin Watson <cjwatson@ubuntu.com>
20931
20932 * util/grub.d/30_os-prober.in: Disable os-prober if
20933 `GRUB_DISABLE_OS_PROBER' was set to true.
20934
71acf5e5 209352009-08-23 Robert Millan <rmh.grub@aybabtu.com>
20936
20937 * partmap/pc.c: Rename to ...
20938 * partmap/msdos.c: ... this. Update all users.
20939 (grub_pc_partition_map): Rename to ...
20940 (grub_msdos_partition_map): ... this. Update all users.
20941
20942 * parttool/pcpart.c: Rename to ...
20943 * parttool/msdospart.c: ... this. Update all users.
20944
20945 * include/grub/pc_partition.h: Rename to ...
20946 * include/grub/msdos_partition.h: ... this. Update all users.
20947 (grub_pc_partition_bsd_entry): Rename to ...
20948 (grub_msdos_partition_bsd_entry): ... this. Update all users.
20949 (grub_pc_partition_disk_label): Rename to ...
20950 (grub_msdos_partition_disk_label): ... this. Update all users.
20951 (grub_pc_partition_entry): Rename to ...
20952 (grub_msdos_partition_entry): ... this. Update all users.
20953 (grub_pc_partition_mbr): Rename to ...
20954 (grub_msdos_partition_mbr): ... this. Update all users.
20955 (grub_pc_partition): Rename to ...
20956 (grub_msdos_partition): ... this. Update all users.
20957 (grub_pc_partition_is_empty): Rename to ...
20958 (grub_msdos_partition_is_empty): ... this. Update all users.
20959 (grub_pc_partition_is_extended): Rename to ...
20960 (grub_msdos_partition_is_extended): ... this. Update all users.
20961 (grub_pc_partition_is_bsd): Rename to ...
20962 (grub_msdos_partition_is_bsd): ... this. Update all users.
20963
20964 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
20965 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
20966 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
20967 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
20968 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
20969 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
20970 (gpt_mod_LDFLAGS): Rename to ...
20971 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
20972 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
20973 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
20974 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
20975 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
20976 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
20977 (part_gpt_mod_LDFLAGS): ... this.
20978 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
20979 `pcpart.mod' to `msdospart.mod'.
20980 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
20981 to ...
20982 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
20983 (msdospart_mod_LDFLAGS): ... this.
20984
c11fded5 209852009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
20986
20987 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
20988 (openbsd_opts): Likewise.
20989 (netbsd_opts): Likewise.
20990 (freebsd_flags): Added 0 terminator.
20991 (openbsd_flags): Likewise.
20992 (netbsd_flags): Likewise.
20993 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
20994 (grub_cmd_freebsd): Transformed into extended command.
20995 (grub_cmd_openbsd): Likewise.
20996 (grub_cmd_netbsd): Likewise.
20997 (cmd_freebsd): Changed type to grub_extcmd_t.
20998 (cmd_openbsd): Likewise.
20999 (cmd_netbsd): Likewise.
21000 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
21001 grub_cmd_openbsd as extended commands.
21002 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
21003 cmd_netbsd and cmd_openbsd
21004
11d1c769 210052009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
21006
21007 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
21008
7a9094e5 210092009-08-21 Pavel Roskin <proski@gnu.org>
21010
5496c37e 21011 * Makefile.in (install-local): When checking if a file is in the
21012 build directory, use "test -e" to detect symlinks.
21013
7a9094e5 21014 * Makefile.in (install-local): Remove all files in
21015 $(DESTDIR)$(pkglibdir) before installing new files there.
21016
e53cea11 210172009-08-18 Felix Zielcke <fzielcke@z-51.de>
21018
21019 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
21020 grub-mkelfimage.
21021
9aced544 210222009-08-18 Felix Zielcke <fzielcke@z-51.de>
21023
21024 * util/grub-mkconfig.in: Don't use gfxterm by default if not
21025 explicitly specified by the user.
21026
b7da6bab 210272009-08-18 Pavel Roskin <proski@gnu.org>
21028
21029 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
21030 grub_uint8_t pointer for data.
21031 * include/grub/fbutil.h (struct grub_video_fbblit_info):
21032 Likewise.
21033 * video/fb/fbutil.c: Remove unnecessary casts.
21034
19f1b335 210352009-08-17 Michal Suchanek <hramrach@centrum.cz>
21036
21037 VBE cleanup.
21038
21039 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
21040 (grub_vbe_set_video_mode): Save active mode info
21041 only after setting the mode.
21042 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
21043 second argument.
21044
2f467aa9 210452009-08-17 Michal Suchanek <hramrach@centrum.cz>
21046
21047 Rename variables for clarity.
21048
21049 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
21050 (active_vbe_mode_info): ... this. All users updated.
21051 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
21052 All users updated.
21053 (initial_mode): Rename to ...
21054 (initial_vbe_mode): ... this. All users updated.
21055 (mode_in_use): Rename to ..
21056 (vbe_mode_in_use): ... this. All users updated.
21057 (mode_list): Rename to ..
21058 (vbe_mode_list): ... this. All users updated.
21059 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
21060 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
21061 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
21062 'mode_list_size' to 'vbe_mode_list_size'.
21063 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
21064 'best_mode_info' to 'best_vbe_mode_info' and
21065 'best_mode' to 'best_vbe_mode'
21066
6025fcd7 210672009-08-17 Michal Suchanek <hramrach@centrum.cz>
21068
21069 Remove duplicate grub_video_fb_get_video_ptr.
21070
21071 * include/grub/fbutil.h (get_data_ptr): Rename to ...
21072 (grub_video_fb_get_video_ptr): ... this.
21073 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
21074 * video/fb/fbutil.c: Add comment about addressing.
21075 (get_data_ptr): Rename to ...
21076 (grub_video_fb_get_video_ptr): ... this. All users updated.
21077 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
21078
cc8c6faf 210792009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21080
21081 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
21082 grub_dprintf() that was just added.
21083
08aa61f0 210842009-08-17 Robert Millan <rmh.grub@aybabtu.com>
21085
21086 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
21087 (DEFAULT_VIDEO_MODE): Remove macros.
21088 (grub_linux_boot): Remove assumption that Linux has FB support,
21089 and use "text" as default video mode.
21090
7cef4f75 210912009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
21092
21093 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
21094 grub_dprintf.
21095 * fs/fat.c (grub_fat_read_data): Likewise.
21096
e1f39873 210972009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21098
21099 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
21100 payload.
21101 (grub_module): Likewise.
21102
c166d79e 211032009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21104
21105 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
21106 mbi->cmdline but free playground.
21107
c60cee8e 211082009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21109
21110 Handle group offset on UFS1.
21111
21112 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
21113 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
21114
c0d8b5d4 211152009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21116
21117 Split ufs.mod into ufs1.mod and ufs2.mod.
21118
21119 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
21120 (grub_fstest_SOURCES): Likewise.
21121 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
21122 (ufs_mod_SOURCES): Remove.
21123 (ufs_mod_CFLAGS): Likewise.
21124 (ufs_mod_LDFLAGS): Likewise.
21125 (ufs1_mod_SOURCES): New variable.
21126 (ufs1_mod_CFLAGS): Likewise.
21127 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 21128 (ufs2_mod_SOURCES): New variable.
21129 (ufs2_mod_CFLAGS): Likewise.
21130 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 21131 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
21132 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21133 Likewise.
21134 (grub_emu_SOURCES): Likewise.
21135 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21136 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21137 (grub_setup_SOURCES): Likewise.
21138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21139 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
21140 (grub_setup_SOURCES): Likewise.
21141 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
21142 Likewise.
21143 * fs/ufs2.c: New file.
21144 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
21145
d3539132 211462009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
21147
21148 Framebuffer split.
21149
21150 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
21151 subsystem at the end.
21152 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
21153 (video_fb_mod_SOURCES): New variable.
21154 (video_fb_mod_CFLAGS): Likewise.
21155 (video_fb_mod_LDFLAGS): Likewise.
21156 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
21157 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
21158 * video/i386/pc/vbeblit.c: Moved from here ...
21159 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
21160 * video/i386/pc/vbefill.c: Moved from here ...
21161 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
21162 * video/i386/pc/vbeutil.c: Moved from here ...
21163 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
21164 * include/grub/i386/pc/vbeblit.h: Moved from here ...
21165 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
21166 * include/grub/i386/pc/vbefill.h: Moved from here ...
21167 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
21168 * include/grub/i386/pc/vbeutil.h: Moved from here ...
21169 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
21170 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
21171 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
21172 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
21173 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
21174 (grub_video_adapter): Added 'get_info_and_fini'.
21175 (grub_video_get_info_and_fini): New prototype.
21176 (grub_video_set_mode): make modestring const char *.
21177 * loader/i386/linux.c (grub_linux_setup_video): Use
21178 grub_video_get_info_and_fini.
21179 (grub_linux_boot): Move modesetting just before booting.
21180 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
21181 grub_video_get_info_and_fini.
21182 * video/i386/pc/vbe.c: Moved framebuffer part ...
21183 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
21184 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
21185 grub_video_fbstd_colors and grub_video_fb_set_palette.
21186 (grub_video_vbe_init): Clear 'framebuffer' variable and use
21187 grub_video_fb_init.
21188 (grub_video_vbe_fini): Use grub_video_fb_fini.
21189 (grub_video_vbe_setup): Use framebuffer.render_target instead of
21190 render_target and use grub_video_fb_set_active_render_target and
21191 grub_video_fb_set_palette.
21192 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
21193 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
21194 (grub_video_vbe_adapter): Use framebuffer.
21195 * video/video.c (grub_video_get_info_and_fini): New function.
21196 (grub_video_set_mode): Make modestring const char *.
21197 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
21198 values are already initialised.
21199
d404ee56 212002009-08-14 Pavel Roskin <proski@gnu.org>
21201
21202 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
21203 ABS and APPLE_CC.
21204 * boot/i386/pc/diskboot.S: Likewise.
21205 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
21206 sectors allow compilation on MacOSX.
21207 * conf/i386-pc.rmk: Enable unconditional compilation of
21208 lnxboot.img.
21209
9a10df16 212102009-08-13 Colin Watson <cjwatson@ubuntu.com>
21211
21212 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
21213 * util/grub.d/00_header.in: Enter interruptible sleep if
21214 GRUB_HIDDEN_TIMEOUT is set.
21215
be3c9ca7 212162009-08-13 Yves Blusseau <blusseau@zetam.org>
21217
21218 * include/grub/symbol.h: Add the LOCAL macro.
21219 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
21220 starting with "L_".
21221
1f9e557e 212222009-08-13 Pavel Roskin <proski@gnu.org>
21223
9ca62843 21224 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
21225 any modern compilers we support.
21226
1f9e557e 21227 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
21228 Use local labels starting with "L_" so that Apple assembler
21229 knows they are local.
21230
81623db6 212312009-08-10 Robert Millan <rmh.grub@aybabtu.com>
21232
21233 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
21234 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
21235 (bsd_kernel_types): ... this enum.
21236
21237 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
21238 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
21239 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
21240
21241 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
21242 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
21243 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
21244 messages.
21245
f5d35e7a 212462009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21247
21248 * util/grub-dumpdevtree: Moved from here ...
21249 * util/i386/efi/grub-dumpdevtree: ... to here.
21250 (hexify): New function. Converts a string to its hex version.
21251 Generate hex versions of "efi" and "device-properties" by calling
21252 hexify() on the ASCII strings rather than by hardcoding numbers.
21253
d1e1d527 212542009-08-08 Robert Millan <rmh.grub@aybabtu.com>
21255
21256 * fs/jfs.c: Update copyright year.
21257
1ebbe064 212582009-08-08 Felix Zielcke <fzielcke@z-51.de>
21259
21260 * util/grub.d/00_header.in: Fix a comment.
21261 * util/grub.d/10_linux.in: Likewise.
21262 * util/grub.d/10_windows.in: Likewise.
21263 * util/grub.d/10_hurd.in: Likewise.
21264
a78c8d24 212652009-08-08 Felix Zielcke <fzielcke@z-51.de>
21266
21267 * util/grub-mkconfig.in: Allow the user to specify the used font
21268 with GRUB_FONT.
21269
29a6b9e8 212702009-08-08 Pavel Roskin <proski@gnu.org>
21271
b5f16cc4 21272 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
21273 available, xfs.mod needs it now.
21274
2f5cb827 21275 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
21276 the "g" modifier in sed when the intention is to strip something
21277 once. This fixes comparison of kernels with multiple dashes.
21278
29a6b9e8 21279 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
21280 on it. Add missing space before closing bracket. Fix
21281 misleading formatting.
21282
892a3d98 212832009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21284
21285 * docs/grub.texi: Major overhaul. Remove all sections that are
21286 specific to GRUB Legacy, or mostly composed of Legacy-specific
21287 information.
21288
ed94253f 212892009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21290
21291 * docs/version.texi: New file. Provides version information for
21292 grub.texi.
21293
126d6628 212942009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21295
21296 * docs/grub.texi: Update CVS information to SVN.
21297 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
21298
998b5aa9 212992009-08-07 Felix Zielcke <fzielcke@z-51.de>
21300
21301 * util/grub-mkconfig.in: Remove a wrong `fi'.
21302
818e094a 213032009-08-07 Felix Zielcke <fzielcke@z-51.de>
21304
21305 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
21306 (grub_jfs_uuid): New function.
21307 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
21308
b969c52f 213092009-08-07 Felix Zielcke <fzielcke@z-51.de>
21310
21311 * util/grub-mkconfig_lib.in (font_path): Move the functionality
21312 of it to ...
21313 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
21314 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
21315
7a4894cc 213162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21317
21318 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
21319 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
21320 Update all users.
21321
21322 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
21323 not just "vmlinu[zx]".
21324 Moved from here ...
21325 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
21326 all users.
21327
21328 * util/grub.d/10_linux.in (find_latest): Moved from here ...
21329 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
21330 all users.
21331
4e2171f8 213322009-08-07 Robert Millan <rmh.grub@aybabtu.com>
21333
21334 * util/grub.d/10_freebsd.in: Use an absolute device path for
21335 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
21336
6dcfcb32 213372009-08-06 Felix Zielcke <fzielcke@z-51.de>
21338
21339 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
21340 handling of multiple abstraction modules.
21341
f56a8756 213422009-08-04 Robert Millan <rmh.grub@aybabtu.com>
21343
21344 Fix a bug resulting in black screen when loading Linux using a
21345 packed video mode.
21346
21347 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
21348 function.
21349
21350 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
21351 (grub_vbe_bios_getset_dac_palette_width): New function.
21352 (grub_vbe_bios_get_dac_palette_width)
21353 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
21354 grub_vbe_bios_getset_dac_palette_width()).
21355
21356 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
21357 check for return status.
21358 (grub_vbe_get_video_mode_info): When getting information for a packed
21359 mode (<= 8 bpp), obtain DAC palette width using
21360 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
21361 {red,green,blue}_mark_size.
21362
222671b2 213632009-08-04 Felix Zielcke <fzielcke@z-51.de>
21364
ecb1a6d9 21365 * commands/search.c (options): Fix help output to match actual code.
222671b2 21366
f84114f5 213672009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
21368
21369 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
21370 of homegrown code.
21371
bd288a20 213722009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 21373
21374 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
21375 on XFS or ReiserFS.
21376
8aab5e25 213772009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
21378
21379 Support Apple partition map with sector size different from 512 bytes.
21380
21381 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
21382 (apple_partition_map_iterate): Respect 'aheader.blocksize'
21383 and 'apart.partmap_size'.
21384
6ad6258a 213852009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
213862009-08-01 Robert Millan <rmh.grub@aybabtu.com>
21387
21388 Fix cpuid command.
21389
21390 * commands/i386/cpuid.c (options): New variable.
21391 (grub_cmd_cpuid): Return real error.
21392 (GRUB_MOD_INIT(cpuid)): Declare options.
21393
67459bc6 213942009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
21395
21396 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
21397 valid.
21398
fbc6ab54 213992009-07-31 Bean <bean123ch@gmail.com>
21400
21401 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
21402 log2_inode.
21403 (grub_fshelp_node): Move inode field to the end.
21404 (grub_xfs_data): Remove inode field.
21405 (grub_xfs_inode_block): Calculate inode size using sblock.
21406 (grub_xfs_inode_offset): Likewise.
21407 (grub_xfs_read_inode): Calculate inode size using sblock.
21408 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
21409 (grub_xfs_iterate_dir): Calculate inode size using sblock.
21410 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
21411 to match inode size.
21412 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
21413 not accessible when data is null.
21414 (grub_xfs_open): Likewise.
21415
f45d6cfc 214162009-07-31 Bean <bean123ch@gmail.com>
21417
21418 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
21419 Don't change pv->disk if it's already set.
21420
21421 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
21422 (grub_raid_register): ... here.
21423 (grub_raid_rescan): Removed.
21424
21425 * include/grub/raid.h (grub_raid_rescan): Removed.
21426
21427 * util/grub-fstest.c: Remove include file <grub/raid.h>.
21428 (fstest): Replace grub_raid_rescan with module fini function followed
21429 by init function.
21430
21431 * util/grub-probe.c: Add include file <grub/raid.h>.
21432 (probe_raid_level): New function.
21433 (probe): Detect abstraction by walking the disk device, support two
21434 level of abstraction (LVM on RAID) when detecting partition map.
21435
24443b5a 214362009-07-31 Pavel Roskin <proski@gnu.org>
21437
21438 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
21439 to grub_zalloc(), it was erroneous.
21440 Reported by Bean <bean123ch@gmail.com>
21441
a275d9e7 214422009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
21443
21444 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 21445 embedding zone, not only the first one.
a275d9e7 21446
56c5a47f 214472009-07-29 Joe Auricchio <jauricchio@gmail.com>
21448
21449 * term/gfxterm.c (clear_char): New function.
21450 (grub_virtual_screen_setup): Use clear_char.
21451 (scroll_up): Likewise.
21452 (grub_virtual_screen_cls): Likewise.
21453
67bb323a 214542009-07-29 Felix Zielcke <fzielcke@z-51.de>
21455
21456 * util/deviceiter.c (get_acceleraid_disk_name): New static
21457 function.
21458 (grub_util_iterate_devices): Handle Accelraid devices.
21459 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
21460
388a7c75 214612009-07-28 Robert Millan <rmh.grub@aybabtu.com>
21462
21463 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
21464 separator for the suggested gfxpayload string (';' collides with the
21465 parser and needs escaping).
21466
3bb7abcf 214672009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
21468
21469 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
21470 Clear direction flag before jumping to OS.
21471 (grub_multiboot2_real_boot): Likewise.
21472
2ddd36d7 214732009-07-28 Felix Zielcke <fzielcke@z-51.de>
21474
21475 * util/i386/pc/grub-install: Fix parsing of --disk-module
21476 option.
21477
c521b62b 214782009-07-28 Felix Zielcke <fzielcke@z-51.de>
21479
21480 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
21481 when embedding.
21482
880e0a0c 214832009-07-26 Felix Zielcke <fzielcke@z-51.de>
21484
21485 * util/grub-mkconfig.in (package_version): New variable.
21486 Use it do display the version.
21487
2366e356 214882009-07-25 Felix Zielcke <fzielcke@z-51.de>
21489
21490 * kern/file.c (grub_file_open): Revert to previous check with
21491 grub_errno.
21492
7ad8c80e 214932009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21494
21495 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
21496 from help line. It's out of sync with code.
21497
72b9658b 214982009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
21499
21500 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
21501 entries on failed boot.
21502
77435277 215032009-07-25 Felix Zielcke <fzielcke@z-51.de>
21504
21505 * kern/file.c (grub_file_open): Fix an error check.
21506
fcaa8b21 215072009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
21508
35d16c74 21509 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
21510 partition map couldn't be identified.
fcaa8b21 21511
48904cd1 215122009-07-23 Pavel Roskin <proski@gnu.org>
21513
ef3c317f 21514 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
21515 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
21516 case of little endian words becomes just an optimization.
21517 Respect const modifier.
ad8ea1f4 21518 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 21519
48904cd1 21520 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
21521 to avoid loss of upper bits if align is unsigned and shorter
21522 than addr.
21523
260c9a89 215242009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21525
21526 UUID support for UFS
21527
21528 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
21529 (grub_ufs_uuid): New function.
21530 (grub_ufs_fs): add .uuid
21531
f76ce889 215322009-07-21 Pavel Roskin <proski@gnu.org>
21533
21534 * kern/dl.c (grub_dl_check_header): Make static.
21535
6a6cbcaf 215362009-07-21 Felix Zielcke <fzielcke@z-51.de>
21537
21538 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
21539 add drivemap for Vista. It breaks Windows 7.
21540
cffcddb2 215412009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
21542
21543 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
21544 128 bytes
21545
1ef44b80 215462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21547
21548 Add BFS support
21549
21550 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
21551 (grub_fstest_SOURCES): Likewise.
21552 (pkglib_MODULES): Add befs.mod.
21553 (befs_mod_SOURCES): New variable.
21554 (befs_mod_CFLAGS): Likewise.
21555 (befs_mod_LDFLAGS): Likewise.
21556 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
21557 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
21558 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21559 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21560 (grub_setup_SOURCES): Likewise.
21561 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21562 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21563 (grub_setup_SOURCES): Likewise.
21564 * fs/befs.c: New file.
21565 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
21566 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
21567 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
21568 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
21569 (B_KEY_INDEX_ALIGN): New declaration.
21570 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
21571 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
21572 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
21573 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
21574 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
21575 (grub_afs_mount) [MODE_BFS]: Likewise.
21576 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
21577 (grub_afs_fs): Use GRUB_AFS_FSNAME
21578 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
21579 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
21580 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
21581 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
21582
4f253044 215832009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
21584
21585 * util/getroot.c (find_root_device): Add support for MacOSX.
21586 * util/hostdisk.c: Likewise.
21587
57a55913 215882009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21589
21590 * font/font.c (find_glyph): Check whether a font is present to avoid
21591 segmentation fault.
75421ca9 21592
215932009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 21594
21595 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
21596
e98cd0c2 215972009-07-20 Pavel Roskin <proski@gnu.org>
21598
21599 * configure.ac: Trim excessively wordy excuses.
21600
1d2d169a 216012009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21602
21603 Add symlink, mtime and label support to AtheFS.
21604
21605 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
21606 (grub_afs_iterate_dir): Handle symlinks.
21607 (grub_afs_open): Use grub_afs_read_symlink.
21608 (grub_afs_dir): Likewise.
21609 Pass mtime.
21610 (grub_afs_label): New function.
21611 (grub_afs_fs): Add grub_afs_label.
21612 (grub_afs_read_symlink): New function.
21613
186f3189 216142009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
21615
21616 Fix AtheFS support.
21617
21618 * fs/afs.c: Fix comments style.
21619 (grub_afs_blockrun): Declare as packed.
21620 (grub_afs_datastream): Likewise.
21621 (grub_afs_bnode): Likewise.
21622 (grub_afs_btree): Likewise.
21623 (grub_afs_sblock): Likewise.
21624 Declare `name' as char.
21625 (grub_afs_inode): Declare as packed.
21626 Change void *vnode to grub_uint32_t unused.
21627 (grub_afs_iterate_dir): Check that key_size is positive.
21628 (grub_afs_mount): Don't read superblock twice.
75421ca9 21629 (grub_afs_dir): Don't free node in case of error,
186f3189 21630 grub_fshelp_find_file already handles this.
21631 (grub_afs_open): Likewise.
21632
5680109e 216332009-07-19 Pavel Roskin <proski@gnu.org>
21634
21635 * Makefile.in: Remove LIBLZO and enable_lzo.
21636 * conf/i386-pc.rmk: Remove lzo support.
21637 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
21638 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
21639 support.
21640 * kern/i386/pc/lzo1x.S: Remove.
21641 * kern/i386/pc/startup.S: Remove lzo support.
21642 * util/i386/pc/grub-mkimage.c: Likewise.
21643
ac70fa32 216442009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
21645
21646 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
21647 * fs/xfs.c (grub_xfs_dir): Likewise.
21648 * fs/afs.c (grub_afs_dir): Likewise.
21649 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
21650 (grub_iso9660_open): Likewise.
21651 * fs/jfs.c (grub_jfs_open): Likewise.
21652 * fs/ext2.c (grub_ext2_dir): Likewise.
21653 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
21654 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 21655
eab58da2 216562009-07-16 Pavel Roskin <proski@gnu.org>
21657
d2838156 21658 * configure.ac: Never add "-c" to CFLAGS.
21659
55c70904 21660 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
21661
43e6200c 21662 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
21663 grub_cv_cc_efiemu should be used.
21664
ce7a733d 21665 * configure.ac: Typo fixes.
21666
eab58da2 21667 * kern/mm.c (grub_zalloc): New function.
21668 (grub_debug_zalloc): Likewise.
21669 * include/grub/mm.h: Declare grub_zalloc() and
21670 grub_debug_zalloc().
21671 * util/misc.c (grub_zalloc): New function.
21672 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
21673 instead of grub_malloc(), remove unneeded initializations.
21674 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
21675 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
21676 * commands/parttool.c (grub_cmd_parttool): Likewise.
21677 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
21678 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
21679 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
21680 * disk/usbms.c (grub_usbms_finddevs): Likewise.
21681 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
21682 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
21683 (grub_cmd_efiemu_pnvram): Likewise.
21684 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
21685 * fs/iso9660.c (grub_iso9660_mount): Likewise.
21686 (grub_iso9660_iterate_dir): Likewise.
21687 * fs/jfs.c (grub_jfs_opendir): Likewise.
21688 * fs/ntfs.c (list_file): Likewise.
21689 (grub_ntfs_mount): Likewise.
21690 * kern/disk.c (grub_disk_open): Likewise.
21691 * kern/dl.c (grub_dl_load_core): Likewise.
21692 * kern/elf.c (grub_elf_file): Likewise.
21693 * kern/env.c (grub_env_context_open): Likewise.
21694 (grub_env_set): Likewise.
21695 (grub_env_set_data_slot): Likewise.
21696 * kern/file.c (grub_file_open): Likewise.
21697 * kern/fs.c (grub_fs_blocklist_open): Likewise.
21698 * loader/i386/multiboot.c (grub_module): Likewise.
21699 * loader/xnu.c (grub_xnu_create_key): Likewise.
21700 (grub_xnu_create_value): Likewise.
21701 * normal/main.c (grub_normal_add_menu_entry): Likewise.
21702 (read_config_file): Likewise.
21703 * normal/menu_entry.c (make_screen): Likewise.
21704 * partmap/sun.c (sun_partition_map_iterate): Likewise.
21705 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
21706 * script/sh/script.c (grub_script_parse): Likewise.
21707 * video/bitmap.c (grub_video_bitmap_create): Likewise.
21708 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
21709 * video/readers/png.c (grub_png_output_byte): Likewise.
21710 (grub_video_reader_png): Likewise.
21711
830afef7 217122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 21713
21714 Enable all targets that can be built by default
21715
830afef7 21716 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 21717 grub-mkfont and grub-fstest if they can be built
21718
ee293aee 217192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21720
21721 Fix hang and segmentation fault in grub-emu-usb
21722
21723 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
21724 * util/usb.c (grub_libusb_devices): likewise
21725 (grub_libusb_init): rename to ...
21726 (GRUB_MOD_INIT (libusb)):...this
21727 (grub_libusb_fini): rename to ..
21728 (GRUB_MOD_FINI (libusb)):...this
21729 * disk/usbms.c (grub_usbms_transfer): fix retry logic
21730 * include/grub/disk.h (grub_raid_init): removed, it's useless
21731 (grub_raid_fini): likewise
21732 (grub_lvm_init): likewise
21733 (grub_lvm_fini): likewise
21734 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
21735 by grub_init_all
21736
94414221 217372009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21738
21739 Fix libusb
21740
21741 * Makefile.in (LIBUSB): new macro
21742 * genmk.rb (Utility/print_tail): new method
21743 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
21744 (top level): call util.print_tail at the end.
21745
59ade63d 217462009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21747
21748 Make FreeBSD accept zpool.cache
21749
21750 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
21751 type is /boot/zfs/zpool.cache
21752
a58da8c7 217532009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
21754
21755 Fix 64-bit efiemu
21756
21757 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
21758 correct wrong typedef
21759 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
21760
20591577 217612009-07-15 Pavel Roskin <proski@gnu.org>
21762
560ca572 21763 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
21764 * kern/disk.c (struct grub_disk_cache): Likewise.
21765
e8e8e4fd 21766 * commands/probe.c (options): Typo fix.
21767
fde24e10 21768 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
21769 Increase to 0x5a to accommodate FAT32. Adjust other offsets
21770 accordingly.
21771 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
21772
379c54c1 21773 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
21774 the end of "Error" to make the message more readable.
21775
7bd8f5bf 21776 * boot/i386/pc/boot.S (kernel_segment): Remove.
21777 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
21778 for destination.
21779
40b132c5 21780 * boot/i386/pc/boot.S (boot_version): Remove.
21781 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
21782 Remove.
21783
20591577 21784 * include/grub/i386/pc/boot.h: Sort all offsets.
21785 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
21786 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
21787 * boot/i386/pc/boot.S: Assert location of every offset listed in
21788 include/grub/i386/pc/boot.h.
21789
2df32b2c 217902009-07-13 Pavel Roskin <proski@gnu.org>
21791
44b5d879 21792 * include/grub/i386/coreboot/machine.h: Rename
21793 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
21794 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
21795 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
21796
17dc3751 21797 * kern/dl.c: Force native word size to suppress warnings when
21798 compiling grub-emu.
21799
2df32b2c 21800 * kern/device.c (grub_device_iterate): Change struct part_ent to
21801 hold the name, not a pointer to it. Use one grub_malloc() per
21802 partition, not two. Free partition_name if grub_malloc() fails.
21803 Set ents to NULL only before grub_partition_iterate() is called.
21804
75c59f59 218052009-07-11 Bean <bean123ch@gmail.com>
21806
21807 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
21808 childname.
21809
0ae1bf88 218102009-07-10 Bean <bean123ch@gmail.com>
218112009-07-10 Robert Millan <rmh.grub@aybabtu.com>
21812
21813 * kern/ieee1275/openfw.c (grub_children_iterate)
21814 (grub_devalias_iterate): Fix size evaluation for property or path
21815 strings, which was broken since r2132.
21816
8279cade 218172009-07-07 Pavel Roskin <proski@gnu.org>
21818
7d8a52d3 21819 * commands/search.c (search_file): Merge into ...
21820 (search_fs): ... this. Accept search type as argument.
21821 (grub_cmd_search): Pass search type to search_fs().
21822
25f9a05a 21823 * include/grub/util/console.h: New file.
21824 * util/console.c: Use it instead of grub/machine/console.h.
21825 * util/grub-emu.c: Likewise.
21826
8279cade 21827 * lib/arg.c (find_long_option): Remove.
21828 (find_long): Add `len' argument, make `s' const char *.
21829 (grub_arg_parse): Parse long options in place, not in a
21830 temporary buffer.
21831
4a11b60f 218322009-07-06 Pavel Roskin <proski@gnu.org>
21833
99f68041 21834 * commands/search.c (search_fs): Fix potential NULL pointer
21835 dereference.
21836
4a11b60f 21837 * commands/search.c (search_fs): Replace QUID macro with quid_fn
21838 function pointer.
21839
e110f4de 218402009-07-06 Daniel Mierswa <impulze@impulze.org>
21841
21842 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
21843 comparison.
21844
46eeb6a2 218452009-07-05 Pavel Roskin <proski@gnu.org>
21846
bab74958 21847 * include/grub/i386/linux.h (struct linux_kernel_params):
21848 Restore padding3, it's still needed.
21849
46eeb6a2 21850 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
21851 FreeBSD.
21852 * util/osdetect.lua: Likewise.
21853
b4a1dc79 218542009-07-05 Bean <bean123ch@gmail.com>
21855
21856 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
21857
21858 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
21859 (grub_lua_getenv): Likewise.
21860 (grub_lua_setenv): Likewise.
21861 (save_errno): New function.
21862 (push_result): Likewise.
21863 (grub_lua_enum_device): Likewise.
21864 (grub_lua_enum_file): Likewise.
21865 (grub_lua_file_open): Likewise.
21866 (grub_lua_file_close): Likewise.
21867 (grub_lua_file_seek): Likewise.
21868 (grub_lua_file_read): Likewise.
21869 (grub_lua_file_getline): Likewise.
21870 (grub_lua_file_getsize): Likewise.
21871 (grub_lua_file_getpos): Likewise.
21872 (grub_lua_file_eof): Likewise.
21873 (grub_lua_file_exist): Likewise.
21874 (grub_lua_add_menu): Likewise.
21875
21876 * script/lua/grub_lua.h (isupper): New inline function.
21877 (islower): Likewise.
21878 (ispunct): Likewise.
21879 (isxdigit): Likewise.
21880 (strcspn): Change to normal function.
21881 (strpbkr): New function declaration.
21882 (memchr): Likewise.
21883
21884 * script/lua/grub_main.c (scan_str): New function.
21885 (strcspn): Likewise.
21886 (strpbrk): Likewise.
21887 (memchr): Likewise.
21888
21889 * script/lua/linit.c (lualibs): Enable the string library.
21890
21891 * util/osdetect.lua: New file.
21892
2da92295 218932009-07-04 Robert Millan <rmh.grub@aybabtu.com>
21894
21895 * include/grub/i386/linux.h (struct linux_kernel_params): Add
21896 `capabilities' member.
21897
b2582ec9 218982009-07-02 Pavel Roskin <proski@gnu.org>
21899
21900 * genparttoollist.sh: Add missing newline at the end.
21901
32622956 219022009-07-01 Pavel Roskin <proski@gnu.org>
21903
87a7339e 21904 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
21905
d23af54e 21906 * util/hostdisk.c (open_device): Remove `const' from
21907 `sysctl_size', as sysctlbyname() can change it (in this case it
21908 doesn't actually happen).
21909
c94b18a9 21910 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
21911 using signed long int constants.
21912
c6cd3ef0 21913 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
21914 constant to avoid a warning on FreeBSD.
21915
0df63420 21916 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
21917 where it's needed.
21918
999577f1 21919 * Makefile.in: Install include/grub/machine symlink.
21920
6f41557f 21921 * Makefile.in: When installing symlinks, use "cp -fR", which
21922 works on FreeBSD and MacOSX.
21923 From Yves Blusseau <cl7m42e02@sneakemail.com>
21924
c8d22988 21925 * kern/dl.c (grub_dl_resolve_symbol): Make static.
21926 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
21927
1b96e952 21928 * util/misc.c: Move grub_reboot() and grub_halt() ...
21929 * util/grub-emu.c: ... here. Make main_env static.
21930 * include/grub/util/misc.h: Remove main_env.
21931
2ef0084d 21932 * kern/mm.c: Use correct format to print size_t.
21933
32622956 21934 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
21935 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
21936 * kern/powerpc/dl.c: Likewise.
21937 * kern/sparc64/dl.c: Likewise.
21938 * kern/x86_64/dl.c: Likewise.
21939
3f7f0cd0 219402009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21941
21942 Fix grub-emu build on sparc64-ieee1275.
21943
75421ca9 21944 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 21945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
21946
211d06b5 219472009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21948
21949 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
21950 (grub_reboot, grub_halt): New functions.
21951
21952 * util/i386/pc/misc.c: Delete. Update all users.
21953 * util/sparc64/ieee1275/misc.c: Likewise.
21954 * util/powerpc/ieee1275/misc.c: Likewise.
21955
aaf53e3c 219562009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21957
21958 * conf/i386.rmk (setjmp_mod_SOURCES)
21959 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
21960 * conf/common.rmk (setjmp_mod_SOURCES)
21961 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
21962 to use $(target_cpu).
21963 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
21964 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
21965 * conf/powerpc-ieee1275.rmk: Likewise.
21966 * conf/sparc64-ieee1275.rmk: Likewise.
21967
21968 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
21969 $(target_cpu) for kern/$(target_cpu)/dl.c.
21970 * conf/i386-efi.rmk: Likewise.
21971 * conf/i386-ieee1275.rmk: Likewise.
21972 * conf/x86_64-efi.rmk: Likewise.
21973 * conf/i386-coreboot.rmk: Likewise.
21974 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
21975 $(target_cpu) for kern/$(target_cpu)/dl.c and for
21976 kern/$(target_cpu)/cache.S.
21977 * conf/sparc64-ieee1275.rmk: Likewise.
21978
a337130b 219792009-07-01 Robert Millan <rmh.grub@aybabtu.com>
21980
21981 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
21982 type to `grub_uint8_t', and adjust `padding9' accordingly.
21983
c6fe4d53 219842009-06-29 Robert Millan <rmh.grub@aybabtu.com>
21985
b09db61d 21986 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
21987
c6fe4d53 21988 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
21989 assembly in final jump, using register constraints.
21990
b09db61d 21991 (grub_linux_boot): For text mode, initialize `have_vga' using
21992 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
21993
21994 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
21995 right before the final jump.
21996
21997 Set `video_mode' to 0x3.
21998
21999 Document initialization of `video_page', `video_mode' and
22000 `video_ega_bx'.
22001
28333ad0 220022009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22003
22004 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
22005 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 22006 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 22007
02164e1b 220082009-06-29 Robert Millan <rmh.grub@aybabtu.com>
22009
22010 Fix build on Debian / sparc.
22011
22012 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
22013
18b6c557 220142009-06-28 Pavel Roskin <proski@gnu.org>
22015
85f2aab6 22016 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
22017 fix a warning.
22018
18b6c557 22019 * util/grub.d/10_linux.in: Match SUSE style initrd names.
22020
ad760f81 220212009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22022
22023 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
22024 `err'.
22025
87a4623b 220262009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22027
22028 Revert r2338.
22029
22030 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
22031 file can't be opened. grub_file_open() is already supposed to set
75421ca9 22032 grub_errno / grub_errmsg appropriately.
87a4623b 22033 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22034
8231fb77 220352009-06-27 Pavel Roskin <proski@gnu.org>
220362009-06-27 Robert Millan <rmh.grub@aybabtu.com>
22037
22038 * include/grub/dl.h: Include grub/elf.h.
22039 (struct grub_dl): Add symtab field.
22040 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
22041 GRUB_MODULES_MACHINE_READONLY.
22042 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
22043 of the header for read-only modules.
22044 (grub_dl_unload): Free mod->symtab for read-only modules.
22045 * kern/i386/dl.c: Use mod->symtab.
22046 * kern/powerpc/dl.c: Likewise.
22047 * kern/sparc64/dl.c: Likewise.
22048 * kern/x86_64/dl.c: Likewise.
22049
22050 * conf/i386-qemu.rmk: New file.
22051 * kern/i386/qemu/startup.S: Likewise.
22052 * kern/i386/qemu/mmap.c: Likewise.
22053 * boot/i386/qemu/boot.S: Likewise.
22054 * include/grub/i386/qemu/time.h: Likewise.
22055 * include/grub/i386/qemu/serial.h: Likewise.
22056 * include/grub/i386/qemu/kernel.h: Likewise.
22057 * include/grub/i386/qemu/console.h: Likewise.
22058 * include/grub/i386/qemu/boot.h: Likewise.
22059 * include/grub/i386/qemu/init.h: Likewise.
22060 * include/grub/i386/qemu/machine.h: Likewise.
22061 * include/grub/i386/qemu/loader.h: Likewise.
22062 * include/grub/i386/qemu/memory.h: Likewise.
22063
22064 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
22065 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
22066 [qemu] (pkglib_IMAGES): Add `boot.img'.
22067 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
22068 [qemu] (boot_img_FORMAT): New variables.
22069 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
22070 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
22071 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
22072 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22073 [qemu] (kernel_img_FORMAT): New variables.
22074
22075 * configure.ac: Recognise `i386-qemu'.
22076
22077 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
22078 (for no compression).
22079 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
22080 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
22081 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
22082 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
22083 ifdefs).
22084
97fe384e 220852009-06-27 Pavel Roskin <proski@gnu.org>
22086
22087 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
22088 read.
22089 * efiemu/prepare32.c: Likewise.
22090 * efiemu/prepare64.c: Likewise.
22091
c402ab17 220922009-06-26 Pavel Roskin <proski@gnu.org>
22093
22094 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
22095 * include/grub/elf.h: Define symbols without "32" or "64" based
22096 on GRUB_TARGET_WORDSIZE.
22097 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
22098 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
22099 ELF definitions.
22100 * efiemu/loadcore64.c: Likewise.
22101 * loader/i386/bsd32.c: Likewise.
22102 * loader/i386/bsd64.c: Likewise.
22103 * kern/dl.c: Remove own ELF definitions.
22104 * util/i386/efi/grub-mkimage.c: Likewise.
22105
9bbdfd4d 221062009-06-23 Robert Millan <rmh.grub@aybabtu.com>
22107
22108 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
22109 segment 0x0 unconditionally, because the reference generated by
22110 GAS is an absolute address.
22111
a42ce6e9 221122009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22113
22114 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
22115 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
22116
c952cf92 221172009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22118
22119 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
22120 indexes. Check for -f explicitly.
cc3752ad 22121 (search_file): Improve error message.
22122 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 22123
132a0a59 221242009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22125
22126 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
22127 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
22128
387a140c 221292009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22130
22131 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
22132 * conf/i386-ieee1275.rmk: Likewise.
22133 * conf/i386-coreboot.rmk: Likewise.
22134
22135 * kern/i386/pc/startup.S (grub_stop): Remove function.
22136 * kern/i386/ieee1275/startup.S: Likewise.
22137 * kern/i386/coreboot/startup.S: Likewise.
22138 * kern/i386/misc.S (grub_stop): New function.
22139
41da9665 221402009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22141
22142 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
22143 * kern/i386/realmode.S (real_to_prot): ... to here.
22144
bf337234 221452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
22146
22147 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
22148 with `kernel.img'.
22149 (kernel_elf_SOURCES): Rename to ...
22150 (kernel_img_SOURCES): ... this.
22151 (kernel_elf_HEADERS): Rename to ...
22152 (kernel_img_HEADERS): ... this. Update all users.
22153 (kernel_elf_ASFLAGS): Rename to ...
22154 (kernel_img_ASFLAGS): ... this.
22155 (kernel_elf_CFLAGS): Rename to ...
22156 (kernel_img_CFLAGS): ... this.
22157 (kernel_elf_LDFLAGS): Rename to ...
22158 (kernel_img_LDFLAGS): ... this.
22159 * conf/i386-coreboot.rmk: Likewise.
22160 * conf/powerpc-ieee1275.rmk: Likewise.
22161
22162 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
22163 with "kernel.img".
22164
f52196ff 221652009-06-21 Pavel Roskin <proski@gnu.org>
22166
c3cee413 22167 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
22168 to match nested functions.
22169 * loader/sparc64/ieee1275/linux.c: Likewise.
22170
f52196ff 22171 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
22172
58750afc 221732009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22174
22175 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
22176 all i386 platforms.
22177
15355c7d 221782009-06-21 Robert Millan <rmh.grub@aybabtu.com>
22179
22180 Fix asm file handling on ELF, and remove workarounds.
22181
22182 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 22183 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 22184 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
22185 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
22186
3f3ec72b 221872009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
22188
22189 Load BSD ELF modules
22190
22191 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
22192 and loader/i386/bsd64.c
22193 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
22194 (FREEBSD_MODTYPE_ELF_MODULE): New definition
22195 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
22196 (grub_freebsd_load_elfmodule32): New declaration
22197 (grub_freebsd_load_elfmoduleobj64): Likewise
22198 (grub_freebsd_load_elf_meta32): Likewise
22199 (grub_freebsd_load_elf_meta64): Likewise
22200 (grub_freebsd_add_meta): Likewise
22201 (grub_freebsd_add_meta_module): Likewise
22202 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
22203 (grub_freebsd_add_meta_module): Likewise and move module-specific
22204 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
22205 (grub_cmd_freebsd): Add elf-kernel specific parts
22206 based on grub_freebsd_add_meta_module
22207 (grub_cmd_freebsd_module): Add type parsing moved from
22208 grub_freebsd_add_meta_module
22209 (grub_cmd_freebsd_module_elf): New function
22210 (cmd_freebsd_module_elf): New variable
22211 (GRUB_MOD_INIT): Register freebsd_module_elf
22212 * loader/i386/bsd32.c: New file
22213 * loader/i386/bsd64.c: Likewise
22214 * loader/i386/bsdXX.c: Likewise
22215 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
22216 (grub_elf64_load): Likewise
22217 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
22218 All users updated
22219 (grub_elf64_load_hook_t): Likewise
22220
0db15301 222212009-06-21 Colin Watson <cjwatson@ubuntu.com>
22222
22223 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
22224 variable.
22225 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
22226 don't write a menu entry for recovery mode.
22227
546796c1 222282009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22229
22230 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
22231 after it's no longer needed.
22232
cd7310d5 222332009-06-20 Robert Millan <rmh.grub@aybabtu.com>
22234
22235 * include/grub/i386/loader.h (grub_linux_prot_size)
22236 (grub_linux_tmp_addr, grub_linux_real_addr)
22237 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
22238 GRUB_MACHINE_PCBIOS.
22239 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
22240 common grub_util_info() call to ...
22241 (generate_image): ... here.
22242 Fix use of uninitialized memory, comparison of signed with
22243 unsigned integers and memory leak.
22244 Remove bogus module address message.
22245
ab32d3b5 222462009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
22247
22248 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
22249 grub_raid_register
22250 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
22251
024ef597 222522009-06-19 Pavel Roskin <proski@gnu.org>
22253
22254 * configure.ac: Remove stray AC_MSG_CHECKING.
22255
3ac72b51 222562009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
22257
22258 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 22259
e14cd814 222602009-06-18 Pavel Roskin <proski@gnu.org>
22261
22262 * conf/common.rmk: Add fs_file.mod.
22263 * disk/fs_file.c: New file.
22264 * include/grub/disk.h (enum grub_disk_dev_id): Add
22265 GRUB_DISK_DEVICE_FILE_ID.
22266
26586d98 222672009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22268
22269 Fix build with Apple's toolchain. Part 2
22270
22271 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
22272 a fake start
22273
26de2bcd 222742009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22275
22276 Fix build with Apple's toolchain. Part 1
22277
22278 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
22279 for long calls
22280 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 22281 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 22282 Apple's toolchain
22283
09b3490b 222842009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
22285
22286 Fix warnings
22287
22288 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
22289 (decomp_block): initialize ch
22290 use grub_memcpy instead of memcpy
22291
c22a006a 222922009-06-17 Pavel Roskin <proski@gnu.org>
22293
d3638678 22294 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
22295 version, use declarations needed to use vga_text as the startup
22296 console.
22297
c22a006a 22298 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
22299 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
22300 the kernel.
22301 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
22302 and grub_at_keyboard_fini(), it's done on module load and
22303 unload.
22304
05b129e0 223052009-06-17 Felix Zielcke <fzielcke@z-51.de>
22306
22307 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
22308 file can't be found.
22309 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
22310
cf24ed9e 223112009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22312
22313 Fix newline handling
22314
22315 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 22316 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 22317 (grub_script_yylex): don't segfault on unterminated script
22318 newline terminates command and variable
22319
74aa8e4b 223202009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
22321
22322 avoid double grub_adjust_range call. Bug reported by David Simner
22323
22324 * kern/disk.c (grub_disk_write): change to raw disk access before
22325 calling disk_read
22326
1bd265f3 223272009-06-17 Colin Watson <cjwatson@ubuntu.com>
22328
22329 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
22330 spaces, for the benefit of help2man.
22331 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22332
a2d08c06 223332009-06-16 Pavel Roskin <proski@gnu.org>
22334
22335 * kern/i386/halt.c: Include grub/machine/init.h.
22336 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
22337
b97bcb19 223382009-06-16 Felix Zielcke <fzielcke@z-51.de>
22339
22340 * util/grub.d/30_os-prober.in: Use ${root} in the generated
22341 drivemap menuentry.
22342
0644f96c 223432009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
22344
22345 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
22346 `echo' command.
22347
3ef17a2e 223482009-06-16 Pavel Roskin <proski@gnu.org>
22349
22350 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
22351 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
22352 save %dx, we only need %dl and we never change it.
22353 * boot/i386/pc/cdboot.S: Don't set the root drive.
22354 * boot/i386/pc/pxeboot.S: Likewise.
22355 * include/grub/i386/pc/boot.h: Remove
22356 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
22357 GRUB_BOOT_MACHINE_DRIVE_CHECK.
22358 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
22359 * kern/i386/pc/init.c (make_install_device): Remove references
22360 to grub_root_drive.
22361 * kern/i386/pc/startup.S: Likewise.
22362 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
22363
693fe637 223642009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22365
22366 xnu_uuid command
22367
22368 * commands/xnu_uuid.c: new file
22369 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
22370 (xnu_uuid_mod_SOURCES): new variable
22371 (xnu_uuid_mod_CFLAGS): likewise
22372 (xnu_uuid_mod_LDFLAGS): likewise
22373 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22374 * conf/i386-ieee1275.rmk: likewise
22375 * conf/i386-pc.rmk: likewise
22376 * conf/powerpc-ieee1275.rmk: likewise
22377 * conf/sparc64-ieee1275.rmk: likewise
22378 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
22379
c9da87d0 223802009-06-16 Pavel Roskin <proski@gnu.org>
22381
22382 * configure.ac: Avoid '==' in test command, it's not portable.
22383
9c6f4596 223842009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
22385
22386 Probe command
22387
22388 * commands/probe.c: new file
22389 * conf/common.rmk (pkglib_MODULES): add probe.mod
22390 (probe_mod_SOURCES): new variable
22391 (probe_mod_CFLAGS): likewise
22392 (probe_mod_LDFLAGS): likewise
22393 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
22394 * conf/i386-ieee1275.rmk: likewise
22395 * conf/i386-pc.rmk: likewise
22396 * conf/powerpc-ieee1275.rmk: likewise
22397 * conf/sparc64-ieee1275.rmk: likewise
22398
70b7f9fd 223992009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
22400
22401 Fix handling of string like \"hello\" and "a
22402 b"
22403
22404 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
22405 (grub_script_yylex): fix parsing of quoting, escaping and newline
22406
71c79a6b 224072009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
22408
dd74360c 22409 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 22410 handling
dd74360c 22411
0644f96c 224122009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 22413
22414 * util/grub-mkconfig.in: Fix parsing of --output option.
22415
e40893c3 224162009-06-12 Pavel Roskin <proski@gnu.org>
22417
22418 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
22419 genmk.rb don't need to be generated or installed.
22420
3a1acfe2 224212009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
22422
22423 * commands/i386/pc/drivemap_int13h.S: add more comments
22424
3a4575d4 224252009-06-11 Pavel Roskin <proski@gnu.org>
22426
0658e928 22427 * Makefile.in (uninstall): Uninstall manuals.
22428
ca0388f0 22429 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
22430 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
22431 and update-grub_lib in two places.
22432 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
22433
e3b27c39 22434 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
22435 a compiler warning.
22436
3a4575d4 22437 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
22438 `entry_lo' to fix variable shadowing.
22439
af1f4f55 224402009-06-11 Christian Franke <franke@computer.org>
22441
22442 * kern/misc.c (__enable_execute_stack): Add missing return type
22443 to prevent gcc warning.
22444
5225e649 224452009-06-11 Felix Zielcke <fzielcke@z-51.de>
22446
22447 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
22448
7d83bd47 224492009-06-11 Pavel Roskin <proski@gnu.org>
22450
c1cb63ba 22451 * Makefile.in: Don't rely on any scripts being executable.
22452 Always use $(SHELL) to run shell scripts.
22453
7d83bd47 22454 * configure.ac: Always define ___main if using -nostdlib. This
22455 fixes tests on Cygwin.
22456
948f48e7 224572009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
22458
22459 UDF fix
22460
7d83bd47 22461 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 22462 is in bytes and not in blocks
7d83bd47 22463
8ada9bc1 224642009-06-11 Pavel Roskin <proski@gnu.org>
22465
22466 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
22467 warning.
22468
25ad2323 224692009-06-11 Felix Zielcke <fzielcke@z-51.de>
22470
22471 * util/grub.d/30_os-prober.in: Fix a comment. Source
22472 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
22473 to set the root device. Place drivemap command in the generated
22474 chain entry.
22475
e65acb0c 224762009-06-11 Pavel Roskin <proski@gnu.org>
22477
22478 * configure.ac: Remove host_m32. Issues with 64-bit utilities
22479 have long been resolved.
22480
f285fe2d 224812009-06-11 Colin Watson <cjwatson@ubuntu.com>
22482
bd47b0b5 22483 * util/grub.d/10_linux.in: Capitalise "Linux".
22484
f285fe2d 22485 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
22486
a0c62e4e 224872009-06-11 Pavel Roskin <proski@gnu.org>
22488
b6783cb2 22489 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
22490 fix a gcc warning and ensure that the function won't ever exit.
22491
dde032e8 22492 * kern/i386/ieee1275/init.c: Add missing prototype for
22493 grub_stop_floppy().
22494
22cd079d 22495 * loader/ieee1275/multiboot2.c [__i386__]: Include
22496 grub/cpu/multiboot.h.
22497
a0c62e4e 22498 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
22499 casts to short - they are not portable and cause warnings. Fix
22500 use of uninitialized values in input_buf. Use ARRAY_SIZE.
22501
63963d17 225022009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
22503
22504 Drivemap fixes
22505
22506 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
22507 new function
22508 (grub_get_root_biosnumber_saved): new variable
22509 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
22510 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 22511 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 22512 %dx after the call if necessary
22513 * conf/common.rmk (pkglib_MODULES): remove boot.mod
22514 (boot_mod_SOURCES): remove
22515 (boot_mod_CFLAGS): remove
22516 (boot_mod_LDFLAGS): remove
22517 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
22518 (boot_mod_SOURCES): new variable
22519 (boot_mod_CFLAGS): likewise
22520 (boot_mod_LDFLAGS): likewise
22521 * conf/i386-efi.rmk: likewise
22522 * conf/i386-ieee1275.rmk: likewise
22523 * conf/i386-pc.rmk: likewise
22524 * conf/powerpc-ieee1275.rmk: likewise
22525 * conf/sparc64-ieee1275.rmk: likewise
22526 * conf/x86_64-efi.rmk: likewise
22527 * include/grub/i386/pc/biosnum.h: new file
22528 * lib/i386/pc/biosnum.c: likewise
22529 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
22530 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
22531 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 22532
33abf7ae 225332009-06-10 Pavel Roskin <proski@gnu.org>
22534
5ac35b35 22535 * io/gzio.c (test_header): Don't reuse one buffer for all data.
22536 Use separate variables. Read only the file size at the end, but
22537 not the checksum that we don't use.
22538
5c5215d5 22539 * kern/file.c (grub_file_read): Use void pointer for the buffer.
22540 Adjust all callers.
22541
27d5fef7 22542 * kern/ieee1275/openfw.c: Remove libc includes.
22543 * kern/ieee1275/cmain.c: Likewise.
22544 * include/grub/ieee1275/ieee1275.h: Likewise.
22545
33abf7ae 22546 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
22547 compiler warnings.
22548
19d50c2b 225492009-06-10 Felix Zielcke <fzielcke@z-51.de>
22550
22551 * Makefile.in: Remove all trailing whitespace.
22552 * conf/i386-pc.rmk: Likewise.
22553 * conf/powerpc-ieee1275.rmk: Likewise.
22554 * conf/sparc64-ieee1275.rmk: Likewise.
22555 * docs/grub.texi: Likewise.
22556 * docs/texinfo.tex: Likewise.
22557 * disk/fs_uuid.c: Likewise.
22558 * disk/lvm.c: Likewise.
22559 * disk/scsi.c: Likewise.
22560 * disk/ata.c: Likewise.
22561 * disk/ieee1275/ofdisk.c: Likewise.
22562 * disk/i386/pc/biosdisk.c: Likewise.
22563 * disk/host.c: Likewise.
22564 * disk/raid.c: Likewise.
22565 * disk/efi/efidisk.c: Likewise.
22566 * disk/usbms.c: Likewise.
22567 * disk/memdisk.c: Likewise.
22568 * disk/loopback.c: Likewise.
22569 * kern/powerpc/dl.c: Likewise.
22570 * kern/device.c: Likewise.
22571 * kern/dl.c: Likewise.
22572 * kern/sparc64/dl.c: Likewise.
22573 * kern/ieee1275/ieee1275.c: Likewise.
22574 * kern/term.c: Likewise.
22575 * kern/fs.c: Likewise.
22576 * kern/i386/dl.c: Likewise.
22577 * kern/i386/pc/startup.S: Likewise.
22578 * kern/i386/pc/init.c: Likewise.
22579 * kern/i386/pc/mmap.c: Likewise.
22580 * kern/i386/pc/lzo1x.S: Likewise.
22581 * kern/i386/ieee1275/init.c: Likewise.
22582 * kern/i386/realmode.S: Likewise.
22583 * kern/i386/tsc.c: Likewise.
22584 * kern/partition.c: Likewise.
22585 * kern/corecmd.c: Likewise.
22586 * kern/file.c: Likewise.
22587 * kern/efi/efi.c: Likewise.
22588 * kern/efi/init.c: Likewise.
22589 * kern/efi/mm.c: Likewise.
22590 * kern/main.c: Likewise.
22591 * kern/err.c: Likewise.
22592 * kern/env.c: Likewise.
22593 * kern/disk.c: Likewise.
22594 * kern/generic/millisleep.c: Likewise.
22595 * kern/generic/rtc_get_time_ms.c: Likewise.
22596 * kern/misc.c: Likewise.
22597 * kern/parser.c: Likewise.
22598 * genmk.rb: Likewise.
22599 * configure.ac: Likewise.
22600 * boot/i386/pc/diskboot.S: Likewise.
22601 * boot/i386/pc/pxeboot.S: Likewise.
22602 * boot/i386/pc/boot.S: Likewise.
22603 * boot/i386/pc/lnxboot.S: Likewise.
22604 * boot/i386/pc/cdboot.S: Likewise.
22605 * parttool/pcpart.c: Likewise.
22606 * video/readers/tga.c: Likewise.
22607 * video/video.c: Likewise.
22608 * video/bitmap.c: Likewise.
22609 * lib/envblk.c: Likewise.
22610 * lib/i386/setjmp.S: Likewise.
22611 * fs/xfs.c: Likewise.
22612 * fs/afs.c: Likewise.
22613 * fs/fat.c: Likewise.
22614 * fs/ntfs.c: Likewise.
22615 * fs/udf.c: Likewise.
22616 * fs/affs.c: Likewise.
22617 * fs/iso9660.c: Likewise.
22618 * fs/hfs.c: Likewise.
22619 * fs/fshelp.c: Likewise.
22620 * fs/ext2.c: Likewise.
22621 * fs/jfs.c: Likewise.
22622 * fs/reiserfs.c: Likewise.
22623 * fs/hfsplus.c: Likewise.
22624 * fs/minix.c: Likewise.
22625 * fs/cpio.c: Likewise.
22626 * fs/sfs.c: Likewise.
22627 * fs/ufs.c: Likewise.
22628 * efiemu/prepare.c: Likewise.
22629 * efiemu/loadcore_common.c: Likewise.
22630 * efiemu/runtime/efiemu.sh: Likewise.
22631 * efiemu/runtime/efiemu.S: Likewise.
22632 * efiemu/runtime/efiemu.c: Likewise.
22633 * efiemu/pnvram.c: Likewise.
22634 * efiemu/main.c: Likewise.
22635 * efiemu/i386/pc/cfgtables.c: Likewise.
22636 * efiemu/i386/loadcore64.c: Likewise.
22637 * efiemu/i386/loadcore32.c: Likewise.
22638 * efiemu/loadcore.c: Likewise.
22639 * efiemu/symbols.c: Likewise.
22640 * efiemu/mm.c: Likewise.
22641 * include/grub/autoefi.h: Likewise.
22642 * include/grub/datetime.h: Likewise.
22643 * include/grub/term.h: Likewise.
22644 * include/grub/hfs.h: Likewise.
22645 * include/grub/lvm.h: Likewise.
22646 * include/grub/i386/tsc.h: Likewise.
22647 * include/grub/i386/linux.h: Likewise.
22648 * include/grub/i386/xnu.h: Likewise.
22649 * include/grub/i386/efiemu.h: Likewise.
22650 * include/grub/i386/pc/biosdisk.h: Likewise.
22651 * include/grub/i386/pc/memory.h: Likewise.
22652 * include/grub/i386/pc/vbe.h: Likewise.
22653 * include/grub/parttool.h: Likewise.
22654 * include/grub/video.h: Likewise.
22655 * include/grub/memory.h: Likewise.
22656 * include/grub/fs.h: Likewise.
22657 * include/grub/partition.h: Likewise.
22658 * include/grub/xnu.h: Likewise.
22659 * include/grub/efi/api.h: Likewise.
22660 * include/grub/efi/pe32.h: Likewise.
22661 * include/grub/efi/memory.h: Likewise.
22662 * include/grub/multiboot.h: Likewise.
22663 * include/grub/usbdesc.h: Likewise.
22664 * include/grub/multiboot2.h: Likewise.
22665 * include/grub/acpi.h: Likewise.
22666 * include/grub/efiemu/efiemu.h: Likewise.
22667 * include/grub/disk.h: Likewise.
22668 * include/grub/ieee1275/ieee1275.h: Likewise.
22669 * include/grub/net.h: Likewise.
22670 * include/grub/machoload.h: Likewise.
22671 * include/grub/macho.h: Likewise.
22672 * include/multiboot.h: Likewise.
22673 * genmoddep.awk: Likewise.
22674 * normal/main.c: Likewise.
22675 * normal/menu_entry.c: Likewise.
22676 * normal/menu_viewer.c: Likewise.
22677 * normal/completion.c: Likewise.
22678 * normal/cmdline.c: Likewise.
22679 * normal/misc.c: Likewise.
22680 * normal/datetime.c: Likewise.
22681 * bus/usb/usbtrans.c: Likewise.
22682 * bus/usb/ohci.c: Likewise.
22683 * bus/usb/uhci.c: Likewise.
22684 * bus/usb/usb.c: Likewise.
22685 * mmap/efi/mmap.c: Likewise.
22686 * mmap/i386/pc/mmap_helper.S: Likewise.
22687 * mmap/i386/pc/mmap.c: Likewise.
22688 * mmap/i386/mmap.c: Likewise.
22689 * mmap/i386/uppermem.c: Likewise.
22690 * mmap/mmap.c: Likewise.
22691 * commands/acpi.c: Likewise.
22692 * commands/echo.c: Likewise.
22693 * commands/blocklist.c: Likewise.
22694 * commands/loadenv.c: Likewise.
22695 * commands/usbtest.c: Likewise.
22696 * commands/boot.c: Likewise.
22697 * commands/parttool.c: Likewise.
22698 * commands/search.c: Likewise.
22699 * commands/cat.c: Likewise.
22700 * commands/i386/pc/play.c: Likewise.
22701 * commands/i386/pc/drivemap.c: Likewise.
22702 * commands/i386/pc/vbeinfo.c: Likewise.
22703 * commands/i386/pc/acpi.c: Likewise.
22704 * commands/i386/pc/vbetest.c: Likewise.
22705 * commands/ls.c: Likewise.
22706 * commands/cmp.c: Likewise.
22707 * commands/test.c: Likewise.
22708 * commands/efi/acpi.c: Likewise.
22709 * commands/gptsync.c: Likewise.
22710 * commands/help.c: Likewise.
22711 * partmap/amiga.c: Likewise.
22712 * partmap/apple.c: Likewise.
22713 * partmap/acorn.c: Likewise.
22714 * partmap/pc.c: Likewise.
22715 * partmap/sun.c: Likewise.
22716 * partmap/gpt.c: Likewise.
22717 * script/sh/lexer.c: Likewise.
22718 * script/sh/function.c: Likewise.
22719 * font/font.c: Likewise.
22720 * font/font_cmd.c: Likewise.
22721 * loader/powerpc/ieee1275/linux.c: Likewise.
22722 * loader/efi/chainloader.c: Likewise.
22723 * loader/multiboot_loader.c: Likewise.
22724 * loader/macho.c: Likewise.
22725 * loader/i386/multiboot.c: Likewise.
22726 * loader/i386/linux.c: Likewise.
22727 * loader/i386/pc/linux.c: Likewise.
22728 * loader/i386/pc/multiboot2.c: Likewise.
22729 * loader/i386/pc/chainloader.c: Likewise.
22730 * loader/i386/pc/xnu.c: Likewise.
22731 * loader/i386/bsd_trampoline.S: Likewise.
22732 * loader/i386/efi/linux.c: Likewise.
22733 * loader/i386/multiboot_elfxx.c: Likewise.
22734 * loader/i386/bsd_helper.S: Likewise.
22735 * loader/i386/bsd.c: Likewise.
22736 * loader/i386/linux_trampoline.S: Likewise.
22737 * loader/i386/xnu_helper.S: Likewise.
22738 * loader/i386/xnu.c: Likewise.
22739 * loader/i386/bsd_pagetable.c: Likewise.
22740 * loader/i386/multiboot_helper.S: Likewise.
22741 * loader/xnu.c: Likewise.
22742 * loader/xnu_resume.c: Likewise.
22743 * io/gzio.c: Likewise.
22744 * term/efi/console.c: Likewise.
22745 * term/terminfo.c: Likewise.
22746 * term/ieee1275/ofconsole.c: Likewise.
22747 * term/i386/pc/serial.c: Likewise.
22748 * term/i386/pc/vesafb.c: Likewise.
22749 * term/i386/pc/vga.c: Likewise.
22750 * term/usb_keyboard.c: Likewise.
22751 * term/gfxterm.c: Likewise.
22752 * aclocal.m4: Likewise.
22753 * util/lvm.c: Likewise.
22754 * util/grub.d/30_os-prober.in: Likewise.
22755 * util/grub.d/10_hurd.in: Likewise.
22756 * util/console.c: Likewise.
22757 * util/grub-macho2img.c: Likewise.
22758 * util/grub-probe.c: Likewise.
22759 * util/hostfs.c: Likewise.
22760 * util/i386/pc/grub-mkimage.c: Likewise.
22761 * util/i386/pc/grub-setup.c: Likewise.
22762 * util/i386/efi/grub-mkimage.c: Likewise.
22763 * util/grub-mkconfig.in: Likewise.
22764 * util/raid.c: Likewise.
22765 * util/resolve.c: Likewise.
22766 * util/grub-mkdevicemap.c: Likewise.
22767 * util/grub-emu.c: Likewise.
22768 * util/getroot.c: Likewise.
22769 * util/hostdisk.c: Likewise.
22770 * util/usb.c: Likewise.
22771 * util/grub-editenv.c: Likewise.
22772 * util/misc.c: Likewise.
22773
d2d49665 227742009-06-10 Felix Zielcke <fzielcke@z-51.de>
22775
22776 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
22777 `genparttoollist.sh'.
22778 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
22779 Add `*.sh' to the list find searches for and change `mdate.sh'
22780 to `mdate-sh'.
22781
fe052e37 227822009-06-10 Pavel Roskin <proski@gnu.org>
22783
2763ac18 22784 * include/grub/multiboot2.h: Provide compatibility defines for
22785 multiboot2.h.
22786 * include/multiboot2.h: Include stdint.h only if needed, using
22787 angle brackets.
22788 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
22789 grub/multiboot2.h.
22790 * loader/ieee1275/multiboot2.c: Likewise.
22791 * loader/multiboot2.c: Likewise.
22792 * loader/multiboot_loader.c: Likewise.
22793
437e6adc 22794 * configure.ac: Use -nostdlib when probing for the target. It
22795 should not be required to have libc for the target.
22796
06a6836c 22797 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
22798 they fail without libc headers for the target.
22799 * include/grub/powerpc/libgcc.h: Use weak attribute for all
22800 exports.
22801 * include/grub/sparc64/libgcc.h: Likewise. Don't use
22802 preprocessor conditionals.
22803
fe052e37 22804 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
22805 build system doesn't need to be aware of the tar.c internals.
22806
afd22553 228072009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 22808
afd22553 22809 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 22810
6b787c4f 228112009-06-09 Robert Millan <rmh.grub@aybabtu.com>
22812
22813 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
22814 disk limit to 26 for IDE, Virtio, Xen and SCSI.
22815
228162009-06-09 Felix Zielcke <fzielcke@z-51.de>
22817
22818 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 22819 aren't available if ata.mod gets used.
6b787c4f 22820
473d1e45 228212009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 22822
473d1e45 22823 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 22824 initialising controller.
473d1e45 22825 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 22826
255a27d4 228272009-06-08 Felix Zielcke <fzielcke@z-51.de>
22828
22829 * util/i386/pc/grub-install.in: Add a parameter --disk-module
22830 to choose between ata and biosdisk module on i386-pc.
22831
473d1e45 228322009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 22833
d55842d8 22834 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
22835 Subclass and Programming Interface fields in terms of the 3 byte
22836 Class Code register.
22837 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
22838
fa5db0b1 22839 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
22840 interface is OHCI. Add grub_dprintf for symmetry with
22841 bus/usb/uhci.c.
22842 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
22843 interface is UHCI. Add interf variable for programming
22844 interface. Print interface with class/subclass.
22845
c0947beb 22846 * bus/usb/ohci.c: Set interf with correct field.
22847
69da8877 22848 * bus/usb/uhci.c: Remove unneeded doubled lines.
22849 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
22850 Remove whitespace inside comment.
22851
9e172e30 228522009-06-08 Robert Millan <rmh.grub@aybabtu.com>
22853
22854 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
22855 as fallback an equivalent option without depth.
22856
de65ee2b 228572009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22858
22859 Not fail if unable to retrieve C/H/S on LBA disks
22860
473d1e45 22861 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 22862 if unable to retrieve C/H/S on LBA disks
22863
b57ea2c9 228642009-06-08 Pavel Roskin <proski@gnu.org>
22865
22866 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
22867 about aliasing.
22868
af361263 228692009-06-08 Felix Zielcke <fzielcke@z-51.de>
22870
22871 * Makefile.in (uninstall): Remove all $lib_DATA files.
22872
4c9ec6b3 228732009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
22874
22875 Bugfix: install on partitionless device
22876
22877 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
22878 is a whole disk
22879
e76fc924 228802009-06-08 Felix Zielcke <fzielcke@z-51.de>
22881
22882 * Makefile.in (uninstall): Remove all $include_DATA files.
22883
ba5a0d05 228842009-06-08 Felix Zielcke <fzielcke@z-51.de>
22885
22886 * commands/true.c: New file. Implement the true and false commands.
22887 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
22888 (true_mod_SOURCES): New variable.
22889 (true_mod_CFLAGS): Likewise.
22890 (true_mod_LDFLAGS): Likewise.
22891
c8048e32 228922009-06-05 Colin D Bennett <colin@gibibit.com>
22893
22894 Optimized font character lookup using binary search instead of linear
22895 search. Fonts now are required to have the character index ordered by
22896 code point.
22897
22898 * font/font.c (load_font_index): Verify that fonts have ordered
22899 character indices.
22900 (find_glyph): Use binary search instead of linear search to find a
22901 character in a font.
22902
408305be 229032009-06-05 Michael Scherer <misc@mandriva.org>
22904
22905 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
22906 uses case sensitive btree.
22907 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
22908 only for case insensitive filesystems.
22909
8ee1e0d9 229102009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
22911
22912 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
22913 * conf/common.rmk (search_mod_CFLAGS): likewise
22914
a9966eb1 229152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22916
473d1e45 22917 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 22918 compensate a compiler bug
22919
9e7100fb 229202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22921
473d1e45 22922 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 22923 instead of '\b'
473d1e45 22924
ede21d71 229252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 Definitions for creating asm symbols with Apple's CC
22928
22929 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
22930 [APPLE_CC] (VARIABLE): likewise
22931
9dbf7653 229322009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22933
22934 Disable lnxboot.img when compiled
22935 with Apple's CC
22936
22937 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
22938 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
22939 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
22940 [! APPLE_CC] (CODE_LENG): skip
22941 [! APPLE_CC] (setup_sects): likewise
22942 [! APPLE_CC]: skip filling
473d1e45 22943
e93cdc3d 229442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22945
22946 Address in trampolines based on 32-bit registers when compiled
22947 with Apple's CC
22948
473d1e45 22949 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 22950 for addresses
22951 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
22952
6c688477 229532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22954
22955 Avoid aliases when compiling with Apple's CC for PCBIOS machine
22956
22957 * kern/misc.c [APPLE_CC] (memcpy): new function
22958 [APPLE_CC] (memmove): likewise
22959 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 22960 (memcpy): define alias conditionally on !APPLE_CC
6c688477 22961 (memset): likewise
22962 (abort): likewise
22963 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
22964 APPLE_CC are defined
22965 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
22966 (grub_assert_fail): make prototype conditional
22967
e37ffc5c 229682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22969
22970 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
22971
473d1e45 22972 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
22973 grub-macho2img
e37ffc5c 22974 (CLEANFILES): add grub-macho2img
22975 (grub_macho2img_SOURCES): new variable
22976 * kern/i386/pc/startup.S (bss_start): new variable
22977 (bss_end): likewise
22978 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
22979 * util/grub-macho2img.c: new file
22980
cf00df31 229812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22982
22983 Use objconv when compiling with Apple's CC
22984
22985 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
22986 (efiemu64.o): likewise
22987 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
22988 when compiling with Apple's CC
22989 (efiemu64_s.o): likewise
22990 * configure.ac: check for objconv when compiling with Apple's CC
22991 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 22992
d119a20c 229932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
22994
22995 Define segment as well as section when compiling with
22996 Apple's CC
22997
22998 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
22999 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
23000 (efiemu_convert_pointer): likewise
23001 (efiemu_set_virtual_address_map): likewise
23002 (efiemu_convert_pointer): likewise
23003 (efiemu_getcrc32): likewise
23004 (init_crc32_table): likewise
23005 (reflect): likewise
23006 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
23007 (GRUB_MOD_DEP): likewise
473d1e45 23008
c8600122 230092009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23010
23011 Allow a compilation without -mcmodel=large
23012
23013 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
23014 when compiled without -mcmodel=large
473d1e45 23015 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 23016 without -mcmodel=large
473d1e45 23017 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 23018 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 23019
e8df1d4e 230202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23021
23022 Remove nested functions in efiemu core
23023
23024 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 23025
cc6c3ac1 230262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23027
23028 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
23029
23030 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
23031 temporary storage
473d1e45 23032 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
23033 using Apple's CC
cc6c3ac1 23034 (grub_cpu_is_tsc_supported): likewise
23035 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 23036
3e325901 230372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23038
23039 Absolute addressing through constant with Apple's cc
23040
23041 * kern/i386/pc/startup.S: Define necessary constants
23042 and address through it when using ABS with Apple's CC
23043 * boot/i386/pc/diskboot.S: likewise
23044 * boot/i386/pc/boot.S: likewise
23045 * boot/i386/pc/lnxboot.S: likewise
23046 * boot/i386/pc/cdboot.S: likewise
23047 * mmap/i386/pc/mmap_helper.S: likewise
23048 * commands/i386/pc/drivemap_int13h.S: likewise
23049
2b167a72 230502009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23051
23052 Check if compiler is apple cc
23053
23054 * Makefile.in (ASFLAGS): new variable
23055 (TARGET_ASFLAGS): likewise
23056 (TARGET_MODULE_FORMAT): likewise
23057 (TARGET_APPLE_CC): likewise
23058 (OBJCONV): likewise
23059 (TARGET_IMG_CFLAGS): likewise
23060 (TARGET_CPPFLAGS): add includedir
23061 * configure.ac: call grub_apple_cc and grub_apple_target_cc
23062 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
23063 Check for linker script only if compiler isn't Apple's CC
23064 (TARGET_MODULE_FORMAT): set
23065 (TARGET_APPLE_CC): likewise
23066 (TARGET_ASFLAGS): likewise
23067 (ASFLAGS): likewise
23068 Check for objcopy only if compiler isn't Apple's CC
23069 Check for BSS symbol only if compiler isn't Apple's CC
23070 * genmk.rb: adapt nm options if we use Apple's utils
23071 * aclocal.m4 (grub_apple_cc): new test
23072 (grub_apple_target_cc): likewise
473d1e45 23073
fb14123e 230742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23075
23076 Simplify sed expressions and improve awk
23077
23078 * Makefile.in (install-local): simplify sed expression
23079 * gencmdlist.sh: likewise
23080 * genmoddep.awk: avoid adding module as a dependency of itself
23081
5b889789 230822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23083
23084 Add missing start symbols
23085
23086 * boot/i386/pc/boot.S: add start
fb14123e 23087 * boot/i386/pc/pxeboot.S: likewise
473d1e45 23088
fd2bf2e3 230892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23090
23091 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 23092
23093 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 23094 (relocate_addresses): consider both r_addend and value at offset
23095 (make_mods_section): zerofill modinfo and header
23096 (convert_elf): write prefix here
473d1e45 23097
5389763d 230982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23099
23100 Use .asciz instead of .string
23101
23102 * i386/pc/diskboot.S: use .asciz instead of .string
23103 * i386/pc/boot.S: likewise
23104 * include/grub/dl.h (GRUB_MOD_DEP): likewise
23105 (GRUB_MOD_NAME): likewise
473d1e45 23106
3eb5ed4e 231072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23108
23109 gfxpayload support
23110
23111 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
23112 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
23113 (grub_video_setup): remove
23114 (grub_video_set_mode): new prototype
23115 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
23116 (vid_mode): remove
23117 (linux_vesafb_res): compile only on PCBIOS
23118 (grub_linux_boot): support gfxpayload
23119 * loader/i386/pc/xnu.c (video_hook): new function
23120 (grub_xnu_set_video): support gfxpayload
23121 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
23122 (DEFAULT_VIDEO_HEIGHT): likewise
23123 (DEFAULT_VIDEO_FLAGS): likewise
23124 (DEFAULT_VIDEO_MODE): new definition
23125 (video_hook): new function
23126 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 23127 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 23128 loading xnu
23129 * video/video.c (grub_video_setup): removed
473d1e45 23130 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 23131 grub_video_setup
23132
4b0e1143 231332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23134
23135 Avoid calling biosdisk in drivemap
23136
23137 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
23138 (revparse_biosdisk): likewise
23139 (list_mappings): derive name from id directly
23140 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 23141
fda6cb98 231422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
23143
23144 Script fixes
23145
23146 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
23147 (grub_lexer_param): add tokenonhold
23148 (grub_script_create_cmdline): remove cmdline. All callers updated
23149 (grub_script_function_create): make functionname
23150 grub_script_arg. All callers updated
23151 (grub_script_execute_argument_to_string): new prototype
23152 * kern/parser.c (state_transitions): reorder
23153 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 23154 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 23155 make global
23156 (grub_script_execute_cmdline): use new format
23157 * script/sh/function.c (grub_script_function_create): make functionname
23158 grub_script_arg. All callers updated
473d1e45 23159 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 23160 (grub_script_yylex): remove
23161 (grub_script_yylex2): renamed to ...
23162 (grub_script_yylex): ...renamed
23163 parse the expressions like a${b}c
23164 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
23165 (GRUB_PARSER_TOKEN_VAR): remove
23166 (GRUB_PARSER_TOKEN_NAME): likewise
23167 ("if"): declare as typeless
23168 ("while"): likewise
23169 ("function"): likewise
23170 ("else"): likewise
23171 ("then"): likewise
23172 ("fi"): likewise
23173 (text): remove
23174 (argument): likewise
23175 (script): accept empty scripts and make exit on error
23176 (arguments): use GRUB_PARSER_TOKEN_ARG
23177 (function): likewise
23178 (command): move error handling to script
23179 (menuentry): move grub_script_lexer_ref before
473d1e45 23180 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 23181 argument. All callers updated
23182
f4448a07 231832009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23184
23185 Prevent GRUB from probing floppies during boot.
23186
23187 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
23188 * commands/search.c (options): Add --no-floppy.
23189 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
23190 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
23191 --no-floppy when searching for UUIDs.
23192
2bf5885a 231932009-06-04 Robert Millan <rmh.grub@aybabtu.com>
23194
23195 Simplify the code duplication in commands/search.c.
23196
23197 * commands/search.c (search_label, search_fs_uuid): Merge into ...
23198 (search_fs): ... this. Update all users.
23199
f6fd460a 232002009-06-03 Felix Zielcke <fzielcke@z-51.de>
23201
23202 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
23203
cbb3c83e 232042009-05-28 Pavel Roskin <proski@gnu.org>
23205
57788cfd 23206 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
23207 Remove the original symlink explicitly.
23208
cbb3c83e 23209 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
23210 just one slash. That's how grub_fshelp_find_file() does it.
23211
cd0d5e30 232122009-05-26 Pavel Roskin <proski@gnu.org>
23213
f0f8bbe2 23214 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
23215 to `str'.
23216
cd0d5e30 23217 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
23218 possibly unused.
23219
8c2cab51 232202009-05-25 Christian Franke <franke@computer.org>
23221
23222 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
23223 register.
23224 (grub_atapi_identify): Add wait after drive select.
23225 (grub_ata_identify): Do more strict status register check before
23226 calling grub_atapi_identify (). Suppress error message if status
23227 register is 0x00 after command failure. Add status register
23228 check after PIO read to avoid bogus identify due to stuck DRQ.
23229 Thanks to Pavel Roskin for testing.
23230 (grub_device_initialize): Remove unsafe status register check.
23231 Thanks to 'phcoder' for problem report and patch.
23232 Prevent sign extension in debug message.
23233
230c0ad6 232342009-05-23 Colin D Bennett <colin@gibibit.com>
23235
23236 Cleaned up `include/grub/normal.h'. Grouped prototypes by
23237 definition file, and functions defined in `normal/menu.c' have had
23238 their prototypes moved to `include/grub/menu.h' for consistency.
23239
23240 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
23241 from normal.h.
23242 (grub_menu_get_entry): Likewise.
23243 (grub_menu_get_timeout): Likewise.
23244 (grub_menu_set_timeout): Likewise.
23245 (grub_menu_execute_entry): Likewise.
23246 (grub_menu_execute_with_fallback): Likewise.
23247 (grub_menu_entry_run): Likewise.
23248
23249 * include/grub/normal.h: Re-ordered and grouped function
23250 prototypes by file that the function is defined in.
23251 (grub_menu_execute_callback): Removed; moved to menu.h.
23252 (grub_menu_get_entry): Likewise.
23253 (grub_menu_get_timeout): Likewise.
23254 (grub_menu_set_timeout): Likewise.
23255 (grub_menu_execute_entry): Likewise.
23256 (grub_menu_execute_with_fallback): Likewise.
23257 (grub_menu_entry_run): Likewise.
23258 (grub_menu_addentry): Renamed from this ...
23259 (grub_normal_add_menu_entry): ... to this.
23260
23261 * normal/main.c (grub_menu_addentry): Renamed from this ...
23262 (grub_normal_add_menu_entry): ... to this.
23263
23264 * script/sh/execute.c (grub_script_execute_menuentry): Update
23265 reference to renamed grub_menu_addentry function.
23266
861f03a5 232672009-05-23 Felix Zielcke <fzielcke@z-51.de>
23268
23269 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
23270
96b1619a 232712009-05-22 Pavel Roskin <proski@gnu.org>
23272
bf6a5fb2 23273 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
23274 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
23275 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
23276 compiling for the i386 targets, but not for the utilities.
23277
96b1619a 23278 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
23279 to grub_uint8_t.
23280 (grub_root_drive): Likewise.
23281 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
23282 remove alignment.
23283 (grub_root_drive): Change size to byte.
23284 (grub_start_addr): Remove.
23285 (grub_end_addr): Likewise.
23286 (grub_apm_bios_info): Likewise.
23287
b729776b 232882009-05-21 Felix Zielcke <fzielcke@z-51.de>
23289
23290 * normal/i386: Remove.
23291 * normal/powerpc: Likewise.
23292 * normal/sparc64: Likewise.
23293 * normal/x86_64: Likewise.
23294
0a15ce80 232952009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
23296
23297 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 23298 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 23299 * loader/i386/xnu_helper.S: Likewise
d6da58e6 23300
33db9015 233012009-05-18 Colin D Bennett <colin@gibibit.com>
23302
d6da58e6 23303 Display error messages when parsing a Lua statement fails.
23304 Previously, executing a syntactically invalid statement like
23305 ")foo" or "bar;" would silently fail.
33db9015 23306
23307 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 23308 (grub_lua_parse_line): Improved reporting of Lua parser and
23309 execution errors.
33db9015 23310
46422c89 233112009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23312
23313 Remove -Werror which causes build to fail on some systems
23314
23315 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
23316 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
23317 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 23318
22f53a96 233192009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
23320
23321 trampoline for linux on 64-bit platform
23322
18f547ad 23323 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
23324 loader/i386/efi/linux_trampoline.S
23325 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 23326 declaration
d6da58e6 23327 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
23328 here
22f53a96 23329 * loader/i386/linux_trampoline.S: moved here
d6da58e6 23330 * loader/i386/efi/linux.c (allocate_pages): reserve space for
23331 trampoline
22f53a96 23332 (jumpvector): removed
23333 (grub_linux_trampoline_start): new declaration
23334 (grub_linux_trampoline_end): likewise
23335 (grub_linux_boot): use trampoline when on 64-bit platform
23336 * loader/i386/linux.c: likewise
23337
cb5a0f40 233382009-05-16 Pavel Roskin <proski@gnu.org>
23339
23340 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
23341 const to avoid a warning.
23342 (grub_lua_setenv): Likewise.
23343 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
23344 lmsg to fix a warning.
23345
334f2c28 233462009-05-16 Felix Zielcke <fzielcke@z-51.de>
23347
23348 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 23349 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23350 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
23351 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23352 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23353 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
23354 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
23355 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 23356
59e5d3ec 233572009-05-16 Felix Zielcke <fzielcke@z-51.de>
23358
23359 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
23360
9d87a1ba 233612009-05-16 Bean <bean123ch@gmail.com>
23362
23363 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
23364 (lua_mod_SOURCES): New variable.
23365 (lua_mod_CFLAGS): Likewise.
23366 (lua_mod_LDFLAGS): Likewise.
23367
23368 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
23369 (setjmp_mod_SOURCES): New variable.
23370 (setjmp_mod_CFLAGS): Likewise.
23371 (setjmp_LDFLAGS): Likewise.
23372
23373 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
23374 (setjmp_mod_SOURCES): New variable.
23375 (setjmp_mod_CFLAGS): Likewise.
23376 (setjmp_LDFLAGS): Likewise.
23377
23378 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23379 (setjmp_mod_SOURCES): New variable.
23380 (setjmp_mod_CFLAGS): Likewise.
23381 (setjmp_LDFLAGS): Likewise.
23382
23383 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
23384 (setjmp_mod_SOURCES): New variable.
23385 (setjmp_mod_CFLAGS): Likewise.
23386 (setjmp_LDFLAGS): Likewise.
23387
23388 * normal/i386/setjmp.S: Moved from here ...
23389 * lib/i386/setjmp.S: ... Moved here
23390 * normal/x86_64/setjmp.S: Moved from here ...
23391 * lib/x86_64/setjmp.S: ... Moved here
23392 * normal/powerpc/setjmp.S: Moved from here ...
23393 * lib/powerpc/setjmp.S: ... Moved here
23394 * normal/sparc64/setjmp.S: Moved from here ...
23395 * lib/sparc64/setjmp.S: ... Moved here
23396
23397 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
23398 returns_twice in mingw.
23399
23400 * script/lua/grub_lib.c: New file.
23401 * script/lua/grub_lib.h: Likewise.
23402 * script/lua/grub_lua.h: Likewise.
23403 * script/lua/grub_main.c: Likewise.
23404 * script/lua/lapi.c: Likewise.
23405 * script/lua/lapi.h: Likewise.
23406 * script/lua/lauxlib.c: Likewise.
23407 * script/lua/lauxlib.h: Likewise.
23408 * script/lua/lbaselib.c: Likewise.
23409 * script/lua/lcode.c: Likewise.
23410 * script/lua/lcode.h: Likewise.
23411 * script/lua/ldblib.c: Likewise.
23412 * script/lua/ldebug.c: Likewise.
23413 * script/lua/ldebug.h: Likewise.
23414 * script/lua/ldo.c: Likewise.
23415 * script/lua/ldo.h: Likewise.
23416 * script/lua/ldump.c: Likewise.
23417 * script/lua/lfunc.c: Likewise.
23418 * script/lua/lfunc.h: Likewise.
23419 * script/lua/lgc.c: Likewise.
23420 * script/lua/lgc.h: Likewise.
23421 * script/lua/linit.c: Likewise.
23422 * script/lua/liolib.c: Likewise.
23423 * script/lua/llex.c: Likewise.
23424 * script/lua/llex.h: Likewise.
23425 * script/lua/llimits.h: Likewise.
23426 * script/lua/lmathlib.c: Likewise.
23427 * script/lua/lmem.c: Likewise.
23428 * script/lua/lmem.h: Likewise.
23429 * script/lua/loadlib.c: Likewise.
23430 * script/lua/lobject.c: Likewise.
23431 * script/lua/lobject.h: Likewise.
23432 * script/lua/lopcodes.c: Likewise.
23433 * script/lua/lopcodes.h: Likewise.
23434 * script/lua/loslib.c: Likewise.
23435 * script/lua/lparser.c: Likewise.
23436 * script/lua/lparser.h: Likewise.
23437 * script/lua/lstate.c: Likewise.
23438 * script/lua/lstate.h: Likewise.
23439 * script/lua/lstring.c: Likewise.
23440 * script/lua/lstring.h: Likewise.
23441 * script/lua/lstrlib.c: Likewise.
23442 * script/lua/ltable.c: Likewise.
23443 * script/lua/ltable.h: Likewise.
23444 * script/lua/ltablib.c: Likewise.
23445 * script/lua/ltm.c: Likewise.
23446 * script/lua/ltm.h: Likewise.
23447 * script/lua/lua.h: Likewise.
23448 * script/lua/luaconf.h: Likewise.
23449 * script/lua/lualib.h: Likewise.
23450 * script/lua/lundump.c: Likewise.
23451 * script/lua/lundump.h: Likewise.
23452 * script/lua/lvm.c: Likewise.
23453 * script/lua/lvm.h: Likewise.
23454 * script/lua/lzio.c: Likewise.
23455 * script/lua/lzio.h: Likewise.
23456
5e898c9d 234572009-05-16 Bean <bean123ch@gmail.com>
23458
23459 * include/grub/kernel.h (grub_module_header_types): Add type
23460 OBJ_TYPE_CONFIG.
23461
23462 * kern/main.c (grub_load_config): New function.
23463 (grub_main): Call grub_load_config to read boot config.
23464
23465 * grub-mkimage (generate_image): New parameter config_path.
23466 (options): New option --config.
23467 (main): Parse --config option, and pass it to generate_image.
23468
cf353a47 234692009-05-14 Christian Franke <franke@computer.org>
23470
23471 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
23472 This fixes build on Cygwin.
23473
3834887f 234742009-05-14 Pavel Roskin <proski@gnu.org>
23475
23476 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
23477 jump. This saves two bytes, so the typical case of 2 swapped
23478 drives would fit 32 bytes.
23479
8090fc01 234802009-05-13 Pavel Roskin <proski@gnu.org>
23481
ac963883 23482 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
23483 grub_uint32_t to avoid a warning.
23484
8090fc01 23485 * loader/i386/linux.c (allocate_pages): When assigning
23486 real_mode_mem, cast through grub_size_t to fix a warning. The
23487 code already makes sure that the value would fit a pointer.
23488 (grub_linux_setup_video): Cast render_target->data to
23489 grub_size_t to fix a warning.
23490
18f547ad 234912009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 23492
23493 * commands/i386/pc/drivemap.c: New file - implement drivemap
23494 command.
23495 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
23496 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
23497
6f6a8b28 234982009-05-13 Pavel Roskin <proski@gnu.org>
23499
23500 * util/i386/pc/grub-setup.c (setup): Remove unused variable
23501 embedding_area_exists.
23502
15fbf4c4 235032009-05-13 Robert Millan <rmh.grub@aybabtu.com>
23504
23505 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
23506 it easier to understand / work with.
59978c8a 23507 Improve warning messages for cases where there's no embedding area,
23508 or when it is too small (or core.img too large).
15fbf4c4 23509
238e871f 235102009-05-13 Pavel Roskin <proski@gnu.org>
23511
0ab3a9a4 23512 * loader/i386/pc/multiboot2.c: Add necessary includes for
23513 grub_multiboot2_real_boot().
23514
a2c8c5f8 23515 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
23516 PX record is always little-endian. We only need the lower 2
23517 bytes of the mode.
23518
faec96af 23519 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
23520 facilitate code reuse.
23521 (grub_cpio_mount): Use "struct head", not a char buffer. This
23522 fixes a warning reported by gcc 4.4.
23523
238e871f 23524 * kernel/disk.c (grub_disk_read): Use void pointer for the
23525 buffer.
23526 (grub_disk_write): Use const void pointer for the buffer.
23527 Adjust all callers. Remove unnecessary casts.
23528
901d2f0c 235292009-05-10 Robert Millan <rmh.grub@aybabtu.com>
23530
23531 * util/i386/pc/grub-install.in: Update copyright year.
23532
18f547ad 235332009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 23534
23535 gptsync
23536
23537 * commands/gptsync.c: new file
23538 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
23539 (gptsync_mod_SOURCES): new variable
23540 (gptsync_mod_CFLAGS): likewise
23541 (gptsync_mod_LDFLAGS): likewise
18f547ad 23542 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 23543 new definition
23544 (GRUB_PC_PARTITION_TYPE_HFS): likewise
23545 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
23546 * conf/i386-ieee1275.rmk: likewise
23547 * conf/i386-pc.rmk: likewise
23548 * conf/powerpc-ieee1275.rmk: likewise
23549
b4ba690a 235502009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
23551
23552 Fixed grub-emu
23553
23554 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
23555 (grub_dl_ref): likewise
23556
317e1a44 235572009-05-08 Robert Millan <rmh.grub@aybabtu.com>
23558
23559 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
23560 split in two functions (one for msdos and one for gpt).
23561
041b8094 235622009-05-08 Pavel Roskin <proski@gnu.org>
23563
752473c2 23564 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
23565 not modified.
23566
041b8094 23567 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
23568 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
23569 Initialize them with -1. Add sanity check for bad1. Eliminate
23570 nerr variable.
23571
172800ce 235722009-05-08 David S. Miller <davem@davemloft.net>
23573
23574 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
23575
29aa5e81 235762009-05-06 Robert Millan <rmh.grub@aybabtu.com>
23577
23578 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 23579 existence.
29aa5e81 23580
96613b62 235812009-05-05 Felix Zielcke <fzielcke@z-51.de>
23582
23583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 23584 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 23585
eef73c8a 235862009-05-05 David S. Miller <davem@davemloft.net>
23587
23588 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
23589
119494b5 235902009-05-05 Pavel Roskin <proski@gnu.org>
23591
23592 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
23593 of grub_dl_ref() and grub_dl_unref().
23594 * commands/parttool.c: Remove preprocessor conditionals around
23595 grub_dl_ref() and grub_dl_unref().
23596 * fs/affs.c: Likewise.
23597 * fs/afs.c: Likewise.
23598 * fs/cpio.c: Likewise.
23599 * fs/ext2.c: Likewise.
23600 * fs/fat.c: Likewise.
23601 * fs/hfs.c: Likewise.
23602 * fs/hfsplus.c: Likewise.
23603 * fs/iso9660.c: Likewise.
23604 * fs/jfs.c: Likewise.
23605 * fs/minix.c: Likewise.
23606 * fs/ntfs.c: Likewise.
23607 * fs/reiserfs.c: Likewise.
23608 * fs/sfs.c: Likewise.
23609 * fs/udf.c: Likewise.
23610 * fs/ufs.c: Likewise.
23611 * fs/xfs.c: Likewise.
23612 * include/grub/dl.h: Likewise.
23613 * loader/xnu.c: Likewise.
23614
de5fd76e 236152009-05-04 Pavel Roskin <proski@gnu.org>
23616
23617 * commands/acpi.c: Remove unused variable my_mod.
23618 * partmap/amiga.c: Likewise.
23619 * partmap/apple.c: Likewise.
23620 * partmap/gpt.c: Likewise.
23621 * partmap/pc.c: Likewise.
23622 * partmap/sun.c: Likewise.
23623 * term/gfxterm.c: Likewise.
23624 * term/i386/pc/vesafb.c: Likewise.
23625 * term/i386/pc/vga.c: Likewise.
23626
983598ad 236272009-05-04 David S. Miller <davem@davemloft.net>
23628
23629 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
23630 pointer args to grub_ieee1275_get_property().
23631
8aadec43 23632 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
23633
9554b15e 23634 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
23635 devices, and do not traverse down under controller nodes.
23636
67e23c90 23637 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
23638 (grub_ofdisk_open): Use it to un-escape "," characters.
23639 * kern/disk.c (find_part_sep): New.
23640 (grub_disk_open): Use it to find the first non-escaped ','
23641 character in the disk name.
23642 * util/ieee1275/devicemap.c (escape_of_path): New.
23643 (grub_util_emit_devicemap_entry): Use it.
23644 * util/sparc64/ieee1275/grub-install.in: Update script to
23645 strip partition specifiers properly by not triggering on
23646 '\' escaped ',' characters.
23647
74bfdd2f 236482009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23649
23650 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
23651 to 0x300.
23652 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
23653 resolutions.
23654 (linux_vesafb_modes): Add a lot of additional modes to the list (based
23655 on documentation from Wikipedia).
23656
4241d2b1 236572009-05-04 Pavel Roskin <proski@gnu.org>
23658
23659 * disk/ata.c: Spelling fixes.
23660 * disk/raid.c: Likewise.
23661 * disk/usbms.c: Likewise.
23662 * disk/dmraid_nvidia.c: Likewise.
23663 * kern/ieee1275/openfw.c: Likewise.
23664 * kern/ieee1275/init.c: Likewise.
23665 * kern/ieee1275/cmain.c: Likewise.
23666 * boot/i386/pc/cdboot.S: Likewise.
23667 * video/readers/png.c: Likewise.
23668 * video/i386/pc/vbe.c: Likewise.
23669 * fs/udf.c: Likewise.
23670 * fs/hfs.c: Likewise.
23671 * fs/reiserfs.c: Likewise.
23672 * efiemu/runtime/efiemu.c: Likewise.
23673 * efiemu/main.c: Likewise.
23674 * efiemu/mm.c: Likewise.
23675 * include/grub/elf.h: Likewise.
23676 * include/grub/xnu.h: Likewise.
23677 * include/grub/usbdesc.h: Likewise.
23678 * include/grub/usb.h: Likewise.
23679 * include/grub/script_sh.h: Likewise.
23680 * include/grub/lib/LzmaEnc.h: Likewise.
23681 * include/grub/efiemu/efiemu.h: Likewise.
23682 * include/grub/command.h: Likewise.
23683 * normal/menu.c: Likewise.
23684 * normal/main.c: Likewise.
23685 * normal/datetime.c: Likewise.
23686 * bus/usb/uhci.c: Likewise.
23687 * mmap/i386/uppermem.c: Likewise.
23688 * mmap/mmap.c: Likewise.
23689 * commands/acpi.c: Likewise.
23690 * commands/test.c: Likewise.
23691 * partmap/apple.c: Likewise.
23692 * font/font.c: Likewise.
23693 * loader/sparc64/ieee1275/linux.c: Likewise.
23694 * loader/macho.c: Likewise.
23695 * loader/i386/bsd_trampoline.S: Likewise.
23696 * loader/i386/bsd.c: Likewise.
23697 * loader/xnu.c: Likewise.
23698 * term/i386/pc/vesafb.c: Likewise.
23699 * term/usb_keyboard.c: Likewise.
23700 * util/resolve.c: Likewise.
23701 * util/getroot.c: Likewise.
23702
0cfc0083 237032009-05-04 Felix Zielcke <fzielcke@z-51.de>
23704
23705 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
23706
7c1d00cd 237072009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23708
23709 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
23710 build error.
23711
b01f0548 237122009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23713
23714 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
23715 parameter only available on BIOS.
23716
ecc3eb22 237172009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23718
23719 Removed wrong semicolon in declaration
23720
23721 * grub/misc.h (grub_dprintf): remove semicolon
23722
112972a9 237232009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23724
23725 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
23726 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
23727 is done by grub_cmd_linux() now).
23728 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
23729 restore video to text mode.
23730 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
23731 indicates lack of "vga=" parameter. "vga=0" is mapped to
23732 `GRUB_LINUX_VID_MODE_NORMAL'.
23733
afd5c115 237342009-05-04 Felix Zielcke <fzielcke@z-51.de>
23735
23736 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
23737 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
23738 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 23739 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 23740 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
23741 `grub_script.tab.c'.
23742
23743 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23744 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
23745 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23746 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
23747 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23748
faa517ce 23749 * Makefile.in: Remove duplicated 2008 in Copyright line.
23750
ae0c0bdc 237512009-05-04 Robert Millan <rmh.grub@aybabtu.com>
23752
473d1e45 23753 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 23754 unconditionally.
23755 * include/grub/util/misc.h (grub_util_warn): New declaration.
23756
23757 * util/i386/pc/grub-install.in: Understand --force and pass it down
23758 to grub-setup.
23759
23760 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
23761 down to setup().
23762 (setup): Improve error messages and add warnings when requested to
23763 install in odd layouts. Refuse to install using blocklists unless
23764 --force was set.
23765
18f547ad 237662009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 23767
23768 * disk/raid.c (grub_raid_scan_device): Improve debug message.
23769
6d260daa 237702009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23771
23772 Updated copyright year
23773
23774 * fs/hfsplus.c: updated copyright year
18f547ad 23775
69f853f8 237762009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
23777
23778 HFS+ UUID
23779
18f547ad 23780 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 23781 in the space previously used by unused3
23782 (grub_hfsplus_uuid): new function
23783 (grub_hfsplus_fs): added uuid field
23784
4c402e73 237852009-05-03 Pavel Roskin <proski@gnu.org>
23786
23787 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
23788 suppress warnings. It's no longer needed.
23789 * disk/host.c: Likewise.
23790 * disk/ata_pthru.c: Likewise.
23791 * disk/loopback.c: Likewise.
23792 * hook/datehook.c: Likewise.
23793 * parttool/pcpart.c: Likewise.
23794 * fs/i386/pc/pxe.c: Likewise.
23795 * fs/ntfscomp.c: Likewise.
23796 * efiemu/main.c: Likewise.
23797 * mmap/mmap.c: Likewise.
23798 * commands/crc.c: Likewise.
23799 * commands/hexdump.c: Likewise.
23800 * commands/hdparm.c: Likewise.
23801 * commands/acpi.c: Likewise.
23802 * commands/echo.c: Likewise.
23803 * commands/minicmd.c: Likewise.
23804 * commands/blocklist.c: Likewise.
23805 * commands/memrw.c: Likewise.
23806 * commands/loadenv.c: Likewise.
23807 * commands/usbtest.c: Likewise.
23808 * commands/lsmmap.c: Likewise.
23809 * commands/boot.c: Likewise.
23810 * commands/parttool.c: Likewise.
23811 * commands/configfile.c: Likewise.
23812 * commands/search.c: Likewise.
23813 * commands/ieee1275/suspend.c: Likewise.
23814 * commands/cat.c: Likewise.
23815 * commands/i386/pc/pxecmd.c: Likewise.
23816 * commands/i386/pc/play.c: Likewise.
23817 * commands/i386/pc/halt.c: Likewise.
23818 * commands/i386/pc/vbeinfo.c: Likewise.
23819 * commands/i386/pc/vbetest.c: Likewise.
23820 * commands/lspci.c: Likewise.
23821 * commands/date.c: Likewise.
23822 * commands/handler.c: Likewise.
23823 * commands/ls.c: Likewise.
23824 * commands/test.c: Likewise.
23825 * commands/cmp.c: Likewise.
23826 * commands/efi/loadbios.c: Likewise.
23827 * commands/efi/fixvideo.c: Likewise.
23828 * commands/halt.c: Likewise.
23829 * commands/help.c: Likewise.
23830 * commands/reboot.c: Likewise.
23831 * hello/hello.c: Likewise.
23832 * script/sh/main.c: Likewise.
23833 * loader/xnu.c: Likewise.
23834 * term/terminfo.c: Likewise.
23835 * term/i386/pc/serial.c: Likewise.
23836 * term/usb_keyboard.c: Likewise.
23837
515b5079 238382009-05-03 David S. Miller <davem@davemloft.net>
23839
23840 * normal/menu.c: Include grub/parser.h
23841
dfc31a22 238422009-05-03 Pavel Roskin <proski@gnu.org>
23843
2fee74f1 23844 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
23845 not char*.
23846 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
23847 Suggested by Javier Martín <lordhabbit@gmail.com>
23848
dfc31a22 23849 * util/i386/pc/grub-mkrescue.in: Allow for the case when
23850 efiemu??.o doesn't exist.
23851 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
23852 copying.
23853
18f547ad 238542009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 23855
23856 FreeBSD 64-bit support
23857
18f547ad 23858 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 23859 and loader/i386/bsd_trampoline.S
23860 (bsd_mod_ASFLAGS): new variable
23861 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
23862 (FREEBSD_MODTYPE_KERNEL64): likewise
23863 (grub_bsd64_trampoline_start): likewise
23864 (grub_bsd64_trampoline_end): likewise
23865 (grub_bsd64_trampoline_selfjump): likewise
23866 (grub_bsd64_trampoline_gdt): likewise
23867 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
23868 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
23869 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
23870 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 23871 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 23872 of "attrib" member
23873 * loader/i386/bsd_pagetable.c: new file
23874 * loader/i386/bsd_trampoline.S: likewise
23875 * loader/i386/bsd.c (ALIGN_QWORD): new macro
23876 (ALIGN_VAR): likewise
23877 (entry_hi): new variable
23878 (kern_end_mdofs): likewise
23879 (is_64bit): likewise
23880 (grub_freebsd_add_meta): use ALIGN_VAR
23881 (grub_e820_mmap): new declaration
23882 (grub_freebsd_add_mmap): new function
23883 (grub_freebsd_add_meta_module): support 64 bit kernels
23884 (grub_freebsd_list_modules): use ALIGN_VAR
23885 (gdt_descriptor): new declaration
23886 (grub_freebsd_boot): support 64 bit kernels
23887 (grub_bsd_elf64_hook): new function
23888 (grub_bsd_load_elf): support elf64
23889
038c5720 238902009-05-03 Bean <bean123ch@gmail.com>
23891
23892 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
23893 after we get the result of if statement.
23894
fc45fb58 238952009-05-03 Bean <bean123ch@gmail.com>
23896
23897 * Makefile.in (enable_efiemu): New variable.
23898
23899 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
23900 set.
23901 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
23902 path.
23903 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
23904 path, add -mno-red-zone option.
23905 (efiemu64_s.o): Likewise.
23906 (efiemu64.o): Use macro $^ for source file.
23907
23908 * configure.ac (--enable-efiemu): New option.
23909
bbee0f2b 239102009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
23911
23912 xnu support
23913
23914 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
23915 (pkglib_MODULES): add xnu.mod
23916 (xnu_mod_SOURCES): new variable
23917 (xnu_mod_CFLAGS): likewise
23918 (xnu_mod_LDFLAGS): likewise
23919 (xnu_mod_ASFLAGS): likewise
23920 * conf/i386-pc.rmk: likewise
23921 * conf/x86_64-efi.rmk: likewise
7dd4a573 23922 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 23923 new declaration
23924 * include/grub/i386/macho.h: new file
23925 * include/grub/i386/xnu.h: likewise
23926 * include/grub/macho.h: likewise
23927 * include/grub/machoload.h: likewise
23928 * include/grub/x86_64/macho.h: likewise
23929 * include/grub/x86_64/xnu.h: likewise
23930 * include/grub/xnu.h: likewise
23931 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
23932 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
23933 * loader/i386/efi/xnu.c: new file
23934 * loader/i386/pc/xnu.c: likewise
23935 * loader/i386/xnu.c: likewise
23936 * loader/i386/xnu_helper.S: likewise
23937 * loader/macho.c: likewise
23938 * loader/xnu.c: likewise
23939 * loader/xnu_resume.c: likewise
23940 * util/grub-dumpdevtree: likewise
23941 * include/grub/i386/pit.h: include grub/err.h
23942 (grub_pit_wait): export
23943 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 23944
5caf964d 239452009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
23946
23947 Efiemu
7dd4a573 23948
5caf964d 23949 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 23950 _linux_efi, linux_efi.
23951 new files in grub-emu
5caf964d 23952 new targets efiemu32.o and efiemu64.o
23953 * loader/linux_normal_efiemu.c: likewise
23954 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 23955 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 23956 files to copy
23957 * include/grub/autoefi.h: new file
7dd4a573 23958 * include/grub/i386/efiemu.h: likewise
5caf964d 23959 * include/grub/i386/pc/efiemu.h: likewise
23960 * include/grub/efi/api.h: add LL suffix when necessary
23961 new definitions relating to tables
23962 * include/grub/efiemu/efiemu.h: new file
23963 * include/grub/efiemu/runtime.h: likewise
23964 * efiemu/prepare.c: likewise
23965 * efiemu/loadcore_common.c: likewise
23966 * efiemu/loadcore64.c: likewise
23967 * efiemu/runtime/efiemu.sh: likewise
23968 * efiemu/runtime/efiemu.S: likewise
23969 * efiemu/runtime/efiemu.c: likewise
23970 * efiemu/runtime/config.h: likewise
23971 * efiemu/prepare32.c: likewise
23972 * efiemu/main.c: likewise
23973 * efiemu/modules/pnvram.c: likewise
23974 * efiemu/modules/i386: likewise
23975 * efiemu/modules/i386/pc: likewise
23976 * efiemu/modules/acpi.c: likewise
23977 * efiemu/i386/pc/cfgtables.c: likewise
23978 * efiemu/i386/loadcore64.c: likewise
23979 * efiemu/i386/loadcore32.c: likewise
23980 * efiemu/prepare64.c: likewise
23981 * efiemu/loadcore.c: likewise
23982 * efiemu/symbols.c: likewise
23983 * efiemu/mm.c: likewise
23984 * efiemu/loadcore32.c: likewise
7dd4a573 23985
239862009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 23987
23988 ACPI spoofing
23989
23990 * commands/acpi.c: new file
23991 * commands/i386/pc/acpi.c: likewise
23992 * commands/efi/acpi.c: likewise
23993 * include/grub/acpi.h: likewise
23994 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
23995 (acpi_mod_SOURCES): new variable
23996 (acpi_mod_CFLAGS): likewise
23997 (acpi_mod_LDFLAGS): likewise
23998 * conf/i386-efi.rmk: likewise
23999 * conf/x86_64-efi.rmk: likewise
24000
7dd4a573 240012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 24002
24003 Missing part from mmap patch
24004
24005 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
24006 (grub_mmap_unregister)
24007 (grub_mmap_free_and_unregister): use grub_mmap_register
24008
7dd4a573 240092009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 24010
24011 Mmap services
24012
24013 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
24014 * loader/i386/linux.c (find_mmap_size): likewise
24015 (allocate_pages): likewise
24016 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
24017 (grub_fill_multiboot_mmap): likewise
24018 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
24019 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
24020 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
24021 (OPENBSD_MMAP_RESERVED): likewise
24022 * include/grub/i386/pc/memory.h: include grub/memory.h
24023 (grub_lower_mem): removed
24024 (grub_upper_mem): likewise
24025 (GRUB_MACHINE_MEMORY_ACPI): new definition
24026 (GRUB_MACHINE_MEMORY_NVS): likewise
24027 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
24028 (GRUB_MACHINE_MEMORY_HOLE): likewise
24029 (grub_machine_mmap_register): likewise
24030 (grub_machine_mmap_unregister): likewise
24031 (grub_machine_get_upper): likewise
24032 (grub_machine_get_lower): likewise
24033 (grub_machine_get_post64): likewise
24034 * include/grub/i386/efi/memory.h: new file
24035 * include/grub/x86_64/efi/memory.h: likewise
24036 * include/grub/efi/memory.h: likewise
24037 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
24038 (mmap_mod_SOURCES): new variable
24039 (mmap_mod_LDFLAGS): likewise
24040 (mmap_mod_ASFLAGS): likewise
24041 * conf/i386-coreboot.rmk: likewise
24042 * conf/i386-ieee1275.rmk: likewise
24043 * conf/i386-efi.rmk: likewise
24044 * conf/x86_64-efi.rmk: likewise
24045 * include/grub/types.h (UINT_TO_PTR): new macro
24046 (PTR_TO_UINT32): likewise
24047 (PTR_TO_UINT64): likewise
24048 * include/grub/memory.h: new file
24049 * mmap/i386/pc/mmap.c: likewise
24050 * mmap/i386/pc/mmap_helper.S: likewise
24051 * mmap/i386/uppermem.c: likewise
24052 * mmap/mmap.c: likewise
24053 * mmap/efi/mmap.c: likewise
7dd4a573 24054 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 24055 grub_upper_mem
24056 * kern/i386/pc/init.c (grub_lower_mem): removed variable
24057 (grub_upper_mem): likewise
24058 (grub_machine_init): don't use grub_upper_mem,
24059 make grub_lower_mem local
24060 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
24061 grub_mmap_iterate and grub_mmap_get_upper
24062 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
24063
d558e6b5 240642009-05-02 Bean <bean123ch@gmail.com>
24065
24066 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
24067 script/sh/parser.y.
24068 (pkglib_MODULES): Add normal.mod and sh.mod.
24069 (normal_SOURCES): New variable.
24070 (normal_mod_CFLAGS): Likewise.
24071 (normal_mod_LDFLAGS): Likewise.
24072 (sh_mod_SOURCES): Likewise.
24073 (sh_mod_CFLAGS): Likewise.
24074 (sh_mod_LDFLAGS): Likewise.
24075
24076 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
24077 script/sh/lexer.c_DEPENDENCIES.
24078 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
24079 kern/rescue_reader.c and kern/rescue_parser.c.
24080 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
24081 (grub_emu_SOURCES): Change source files.
24082 (pkglib_MODULES): Remove normal.mod.
24083 (normal_SOURCES): Removed.
24084 (normal_mod_CFLAGS): Likewise.
24085 (normal_mod_LDFLAGS): Likewise.
24086 * conf/i386-coreboot.rmk: Likewise.
24087 * conf/i386-efi.rmk: Likewise.
24088 * conf/i386-ieee1276.rmk: Likewise.
24089 * conf/powerpc-ieee1275.rmk: Likewise.
24090 * conf/sparc64-ieee1275.rmk: Likewise.
24091 * conf/x86_64-efi.rmk: Likewise.
24092
24093 * include/grub/command.h (grub_command_execute): New inline function.
24094
24095 * include/grub/menu.h (grub_menu_entry): Removed commands field.
24096
24097 * include/grub/normal.h: Remove <grub/setjmp.h>.
24098 (grub_fs_module_list): Moved to normal/autofs.c.
24099 (grub_exit_env): Removed.
24100 (grub_command_execute): Likewise.
24101 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
24102 parameter script.
24103 (read_command_list): New function declaration.
24104 (read_fs_list): Likewise.
24105
24106 * include/parser.h: Include <grub/reader.h>.
24107 (grub_parser_split_cmdline): Change type of getline parameter.
24108 (grub_parser): New structure.
24109 (grub_parser_class): New variable.
24110 (grub_parser_execute): New function declaration.
24111 (grub_register_rescue_parser): Likewise.
24112 (grub_parser_register): New inline function.
24113 (grub_parser_unregister): Likewise.
24114 (grub_parser_get_current): Likewise.
24115 (grub_parser_set_current): Likewise.
24116
24117 * include/grub/reader.h: New file.
24118 * kern/reader.c: Likewise.
24119 * kern/rescue_parser.c: Likewise.
24120 * kern/rescue_reader.c: Likewise.
24121 * normal/autofs.c: Likewise.
24122 * normal/dyncmd.c: Likewise.
24123
24124 * include/grub/rescue.h: Removed.
24125 * normal/command.h: Likewise.
24126
24127 * include/grub/script.h: Moved to ...
24128 * include/grub/script_sh.h: ... Moved here.
24129 * normal/execute.c: Moved to ...
24130 * script/sh/execute.c: ... Moved here.
24131 * normal/function.c: Moved to ...
24132 * script/sh/function.c: ... Moved here.
24133 * normal/lexer.c: Moved to ...
24134 * script/sh/lexer.c: ... Moved here.
24135 * normal/parser.y: Moved to ...
24136 * script/sh/parser.y: ... Moved here.
24137 * normal/script.c: Moved to ...
24138 * script/sh/script.c: ... Moved here.
24139
24140 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
24141 <grub/reader.h>.
24142 (grub_exit_env): Removed.
24143 (fs_module_list): Moved to normal/autofs.c.
24144 (grub_file_getline): Don't handle comment here.
24145 (free_menu): Skip removed field entry->commands.
24146 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
24147 script parameter.
24148 (read_config_file): Removed nested parameter, change getline function.
24149 (grub_enter_normal_mode): Removed.
24150 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
24151 (read_command_list): Likewise.
24152 (autoload_fs_module): Moved to normal/autofs.c.
24153 (read_fs_list): Likewise.
24154 (reader_nested): New variable.
24155 (grub_normal_execute): Run parser.sh to switch to sh parser.
24156 (grub_cmd_rescue): Removed.
24157 (cmd_normal): Removed.
24158 (grub_cmd_normal): Unregister itself at the beginning. Don't register
24159 rescue command.
24160 (grub_cmdline_run): New function.
24161 (grub_normal_reader_init): Likewise.
24162 (grub_normal_read_line): Likewise.
24163 (grub_env_write_pager): Likewise.
24164 (cmdline): New variable.
24165 (grub_normal_reader): Likewise.
24166 (GRUB_MOD_INIT): Register normal reader and set as current, register
24167 pager hook, register normal command with grub_register_command_prio,
24168 so that it won't show up in command.lst.
24169 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
24170 grub_fs_autoload_hook.
24171
24172 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
24173 (grub_menu_execute_entry): Replace grub_script_execute with
24174 grub_parser_execute, change parameter to grub_command_execute.
24175
24176 * normal/menu_text.c: Remove <grub/script.h>.
24177
24178 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
24179 and <grub/parser.h>.
24180 (run): Change editor_getline to use new parser interface. Change
24181 parameter to grub_command_execute.
24182
24183 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
24184 <grub/reader.h> and <grub/parser.h>.
24185 (grub_load_normal_mode): Execute normal command.
24186 (grub_main): Call grub_register_core_commands,
24187 grub_register_rescue_parser and grub_register_rescue_reader, use
24188 grub_reader_loop to enter input loop.
24189
7dd4a573 24190 * kern/parser.c (grub_parser_split_cmdline): Change type of
24191 getline parameter.
d558e6b5 24192 (grub_parser_class): New variable.
24193 (grub_parser_execute): New function.
24194
24195 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
24196 * loader/multiboot2.c: Likewise.
24197 * loader/sparc64/ieee1275/linux.c: Likewise.
24198
24199 * util/grub-emu.c (read_command_list): New dummy function.
24200
18db813d 242012009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24202
24203 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
24204 count to 16 for CCISS and IDA.
24205
6c67de15 242062009-05-02 Robert Millan <rmh.grub@aybabtu.com>
24207
24208 * normal/menu_text.c (grub_wait_after_message): Print a newline
24209 after waiting for user input.
24210
24211 * loader/i386/linux.c: Include `<grub/normal.h>'.
24212 (grub_cmd_linux): Improve the error message about `ask' mode, by
24213 waiting for user input so it's not missed (we can do this, since
24214 user requested interaction).
24215
d9dc87b0 242162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
24217
24218 Added missing lst to grub-mkrescue
24219
24220 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
24221 and ${input_dir}/parttool.lst
24222
ac8a2baa 242232009-04-30 David S. Miller <davem@davemloft.net>
24224
ad22a610 24225 * util/hostdisk.c (device_is_wholedisk): New function.
24226 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
24227 zero only if device_is_wholedisk() returns true.
24228
6966215d 24229 * util/hostdisk.c (convert_system_partition_to_system_disk):
24230 Handle virtual disk devices named /dev/vdiskX as found on sparc
24231 and powerpc.
24232
ac8a2baa 24233 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
24234 lettered partition specifier is found, convert to numbered.
24235
979b4fb4 242362009-04-29 David S. Miller <davem@davemloft.net>
24237
e2bf39b2 24238 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
24239 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24240
3c64e104 24241 * normal/command.c: Add missing newline at end of file.
24242
979b4fb4 24243 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
24244 warnings.
24245 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
24246 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
24247 grub_ofdisk_read): Likewise, and deal similarly with the fact that
24248 ihandles have a 32-bit type but need to be stored in a "void *".
24249
136d9f82 242502009-04-28 Pavel Roskin <proski@gnu.org>
24251
9459c306 24252 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
24253 not disk. Adjust all dependencies.
2e08a26a 24254 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 24255 grub_disk_close().
24256
136d9f82 24257 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
24258 parent's partition, don't copy it by reference, as it gets freed
24259 on close.
24260
7dd4a573 242612009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 24262
24263 Preboot hooks support
24264
24265 * commands/boot.c (struct grub_preboot_t): new declaration
24266 (preboots_head): new variable
24267 (preboots_tail): likewise
24268 (grub_loader_register_preboot_hook): new function
24269 (grub_loader_unregister_preboot_hook): likewise
24270 (grub_loader_set): launch preboot hooks
24271 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
24272 (grub_loader_register_preboot_hook): new declaration
24273 (grub_loader_unregister_preboot_hook): likewise
24274
5af922b5 242752009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
24276
24277 Warning fix
24278
7dd4a573 24279 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 24280 calling grub_dprintf
24281
a5562c30 242822009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
24283
24284 Bug and warning fixes
24285
7dd4a573 24286 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 24287 declaration
24288 * commands/test.c (test_parse): fixed bug with file tests and corrected
24289 declaration of find_file
24290
4006f85c 242912009-04-26 Pavel Roskin <proski@gnu.org>
24292
24293 * Makefile.in: Don't install empty manual pages if help2man is
24294 missing. Use help2man option for output, not shell redirection.
24295
5c77c3de 242962009-04-26 David S. Miller <davem@davemloft.net>
24297
24298 * util/grub-mkdevicemap.c (make_device_map): Add missing
24299 NESTED_FUNC_ATTR to process_device().
24300
033b10a8 243012009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24302
24303 Test command
24304
24305 * commands/test.c: rewritten to use bash-like test
24306
e4343593 243072009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
24308
24309 Parttool autoloading and improvements
24310
7dd4a573 24311 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 24312 (parttool.lst): new target
24313 * genmk.rb: generate parttool-*
24314 (CLEANFILES): add #{parttool}
24315 (PARTTOOLFILES): new variable
24316 * genparttoollist.sh: new file
7dd4a573 24317 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 24318 (grub_pcpart_type): likewise
24319 * commands/parttool.c (helpmsg): new variable
24320 (grub_cmd_parttool): output help if not enough arguments are supplied
24321 autoload modules
24322 (GRUB_MOD_INIT(parttool)): use helpmsg
24323
0d312500 243242009-04-24 David S. Miller <davem@davemloft.net>
24325
7dd4a573 24326 Avoiding opening same device multiple times in device iterator.
0d312500 24327
24328 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 24329 and use it to build a list of partitions in iterate_disk() and
0d312500 24330 iterate_partition().
24331
ac20caff 24332 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
24333 on disk->data.
24334
0dcf7495 24335 * disk/ieee1275/nand.c (grub_nand_iterate): Return
24336 grub_devalias_iterate() result instead of unconditional 0.
24337 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
24338 Also, capture hook return value, either directly or via
24339 grub_children_iterate(), and propagate to caller.
24340 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
24341 grub_children_iterate): Return value is now 'int' instead of
24342 'grub_err_t'.
24343 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
24344 like a proper iterator, stopping when hooks return non-zero.
24345 (grub_devalias_iterate): Likewise.
24346
c8c08833 243472009-04-23 David S. Miller <davem@davemloft.net>
24348
24349 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
24350
f01005a8 243512009-04-22 David S. Miller <davem@davemloft.net>
24352
24353 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
24354 is larger than address_cells, use that value for address_cells too.
24355
4e8269da 24356 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
24357 IEEE1275_MAX_PATH_LEN): Define.
24358 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
24359 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
24360 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
24361 'devtype'. Explicitly NULL terminate devalias expansion.
24362
a1447506 24363 * util/sparc64/ieee1275/misc.c: New file.
24364 * util/sparc64/ieee1275/grub-setup.c: New file.
24365 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
24366 * util/sparc64/ieee1275/grub-mkimage.c: New file.
24367 * util/sparc64/ieee1275/grub-install.in: New file.
24368 * util/ieee1275/ofpath.c: New file.
24369 * util/ieee1275/devicemap.c: New file.
24370 * util/devicemap.c: New file.
24371 * util/deviceiter.c: New file.
24372 * kern/sparc64/ieee1275/init.c: New file.
24373 * include/grub/util/ofpath.h: New file.
24374 * include/grub/util/deviceiter.h: New file.
24375 * util/grub-mkdevicemap.c: Include deviceiter.h.
24376 Implement using grub_util_emit_devicemap_entry and
24377 grub_util_iterate_devices.
24378 * conf/i386-corebook.rmk: Build util/deviceiter.c and
24379 util/devicemap.c into grub-mkdevicemap
24380 * conf/i386-efi.rmk: Likewise.
24381 * conf/i386-ieee1275.rmk: Likewise.
24382 * conf/i386-pc.rmk: Likewise.
24383 * conf/powerpc-ieee1275.rmk: Likewise.
24384 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
24385 images and installation utilities. Build kernel as image
24386 instead of as elf binary. Use common rules as much as possible.
24387
7dd4a573 243882009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 24389
24390 Correct GPT definition
24391
7dd4a573 24392 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 24393 of "attrib" member
24394
c6c5219f 243952009-04-19 Felix Zielcke <fzielcke@z-51.de>
24396
24397 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
24398
0552ff9f 243992009-04-19 David S. Miller <davem@davemloft.net>
24400
24401 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
24402 (grub_rescue_cmd_linux): Rename to...
24403 (grub_cmd_linux): and fix prototype.
24404 (grub_rescue_cmd_initrd): Rename to...
24405 (grub_cmd_initrd): and fix prototype.
24406 (cmd_linux, cmd_initrd): New.
24407 (GRUB_MOD_INIT(linux)): Use grub_register_command().
24408 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
24409
d1a282fc 244102009-04-17 Pavel Roskin <proski@gnu.org>
24411
07c5039f 24412 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
24413 format.
24414 (grub_ohci_transfer): Likewise.
24415
b012002d 24416 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
24417
1bc09c35 24418 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
24419 return without a value. Fix inconsistent indentation.
24420
e0ff9126 24421 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
24422 match struct grub_fs.
24423
d1a282fc 24424 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
24425 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
24426 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
24427 * commands/lspci.c (grub_lspci_iter): Likewise.
24428
a96df3f2 244292009-04-16 Bean <bean123ch@gmail.com>
24430
24431 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
24432 value.
24433
41bb0fe9 244342009-04-15 Pavel Roskin <proski@gnu.org>
24435
24436 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
24437 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
24438 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
24439 definitions.
24440
596c6970 244412009-04-15 Felix Zielcke <fzielcke@z-51.de>
24442
24443 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 24444 that no multiple data or metadata areas are supported and `Unknown
596c6970 24445 metadata header'.
24446
7dd4a573 244472009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 24448
24449 Move loader out of the kernel
24450
24451 * kern/loader.c: moved to ...
24452 * commands/boot.c: ... moved here
24453 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
24454 * commands/boot.c (grub_cmd_boot): moved here. All users updated
24455 * include/grub/kernel.h (grub_machine_fini): export
24456 * include/grub/loader.h (grub_loader_is_loaded): update declaration
24457 (grub_loader_set): likewise
24458 (grub_loader_unset): likewise
24459 (grub_loader_boot): likewise
24460 * conf/common.rmk: new module boot.mod
24461 (pkglib_MODULES): add boot.mod
24462 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
24463 (grub_emu_SOURCES): likewise
24464 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
24465 (grub_emu_SOURCES): likewise
24466 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
24467 (grub_emu_SOURCES): likewise
24468 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
24469 (grub_emu_SOURCES): likewise
24470 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
24471 (grub_emu_SOURCES): likewise
7dd4a573 24472 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
24473 (grub_emu_SOURCES): likewise
0d5d5653 24474 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 24475 (grub_emu_SOURCES): likewise
0d5d5653 24476
7dd4a573 244772009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 24478
24479 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 24480
5999d619 24481 * kern/misc.c (grub_itoa): Removed function
24482 (grub_ltoa): likewise
24483 (grub_vsprintf): use grub_lltoa
24484
7dd4a573 244852009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 24486
24487 Restore grub-emu
24488
24489 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
24490 * conf/i386-coreboot.rmk: likewise
24491 * conf/i386-ieee1275.rmk: likewise
24492 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24493
20318222 244942009-04-15 Felix Zielcke <fzielcke@z-51.de>
24495
24496 * INSTALL: Add that `./autogen.sh' needs to be run before
24497 `./configure.'.
24498
d05f0df3 244992009-04-14 Bean <bean123ch@gmail.com>
24500
24501 * Makefile.in (pkglib_DATA): Add handler.lst.
24502 (handler.lst): New rule.
24503
24504 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
24505 * conf/i386-coreboot.rmk: Likewise.
24506 * conf/i386-ieee1275.rmk: Likewise.
24507 * conf/i386-efi.rmk: Likewise.
24508 * conf/x86_64-efi.rmk: Likewise.
24509 * conf/powerpc-ieee1275.rmk: Likewise.
24510 * conf/sparc64-ieee1275.rmk: Likewise.
24511
24512 * genhandlerlist.sh: New file.
24513
24514 * genmk.rb: Add rules to generate handler.lst.
24515
24516 * include/grub/normal.h (grub_file_getline): New function definition.
24517 (read_handler_list): Likewise.
24518 (free_handler_list): Likewise.
24519
24520 * include/grub/term.h (grub_term_register_input): Add name parameter
24521 for auto generation of handler.lst.
24522 (grub_term_register_output): Likewise.
24523
24524 * normal/handler.c: New file.
24525
24526 * normal/main.c (get_line): Renamed to grub_file_getline.
24527 (read_config_file): Use the newly renamed grub_file_getline.
24528 (read_command_list): Likewise.
24529 (read_fs_list): Likewise.
24530 (grub_normal_execute): Call read_handler_list to parse handler.lst.
24531 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
24532
24533 * term/efi/console.c (grub_console_init): Add name parameter for auto
24534 generation of handler.lst.
24535 * term/gfxterm.c: Likewise.
24536 * term/i386/pc/at_keyboard.c: Likewise.
24537 * term/i386/pc/console.c: Likewise.
24538 * term/i386/pc/serial.c: Likewise.
24539 * term/i386/pc/vesafb.c: Likewise.
24540 * term/i386/pc/vga.c: Likewise.
24541 * term/i386/pc/vga_text.c: Likewise.
24542 * term/ieee1275/ofconsole.c: Likewise.
24543 * term/usb_keyboard.c: Likewise.
24544
33c846be 245452009-04-14 Bean <bean123ch@gmail.com>
24546
24547 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
24548 properly with null character.
24549
4484e01e 245502009-04-14 Felix Zielcke <fzielcke@z-51.de>
24551
24552 * configure: Remove.
24553 * config.h.in: Likewise.
f93d668e 24554 * stamp-h.in: Likewise.
4484e01e 24555 * DISTLIST: Likewise.
24556 * conf/common.mk: Likewise.
24557 * conf/i386-coreboot.mk: Likewise.
24558 * conf/i386-efi.mk: Likewise.
24559 * conf/i386-ieee1275.mk: Likewise.
24560 * conf/i386.mk: Likewise.
24561 * conf/i386-pc.mk: Likewise.
24562 * conf/powerpc-ieee1275.mk: Likewise.
24563 * conf/sparc64-ieee1275.mk: Likewise.
24564 * conf/x86_64-efi.mk: Likewise.
24565
24566 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
24567 develop on GRUB.
24568
7dd4a573 245692009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 24570 David S. Miller <davem@davemloft.net>
24571
24572 * util/hostdisk.c (make_device_name): Fix buffer length
24573 calculations.
24574
e25b5a8c 245752009-04-14 Felix Zielcke <fzielcke@z-51.de>
24576
24577 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
24578 <sys/param.h> and <sys/sysctl.h>.
24579 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
24580 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
24581 opening the device and reset them afterwards.
24582
1f1f580c 245832009-04-13 Pavel Roskin <proski@gnu.org>
24584
24585 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
24586 Reported by John Stanley <jpsinthemix@verizon.net>
24587
7ebc2d6b 245882009-04-13 Robert Millan <rmh@aybabtu.com>
24589
24590 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 24591 that name for menuentries when appropriate.
7ebc2d6b 24592
d8ba3667 245932009-04-13 Felix Zielcke <fzielcke@z-51.de>
24594
24595 * util/grub.d/10_freebsd.in: Add a missing `fi'.
24596
cba416eb 245972009-04-13 Robert Millan <rmh@aybabtu.com>
24598
24599 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
24600 to Linux, simply abort telling the user it's no longer supported.
24601
a547a745 246022009-04-13 Felix Zielcke <fzielcke@z-51.de>
24603
24604 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 24605 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 24606 `freebsd_loadenv' only when devices.hints exist.
24607
232a769c 246082009-04-13 Pavel Roskin <proski@gnu.org>
24609
24610 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
24611
c3012039 246122009-04-13 Felix Zielcke <fzielcke@z-51.de>
24613
24614 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
24615 partition number.
24616 (grub_drive): Likewise.
24617
234022fe 246182009-04-13 David S. Miller <davem@davemloft.net>
24619
24620 * kern/sparc64/ieee1275/ieee1275.c: New file.
24621 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
24622 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
24623 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
24624 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
24625 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
24626 grub_ieee1275_alloc_physmem): Declare new exported functions.
24627
d8e1836c 24628 * include/grub/sparc64/ieee1275/loader.h: New file.
24629 * include/grub/sparc64/ieee1275/memory.h: Likewise.
24630 * include/grub/sparc64/kernel.h: Likewise.
24631 * loader/sparc64/ieee1275/linux.c: Likewise.
24632
96bd81ec 24633 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
24634 (grub_fstest_SOURCES): Likewise.
24635
6a4737e5 24636 * util/hostdisk.c (make_device_name): Do not make any assumptions
24637 about the length of drive names.
24638
1d7a72fd 24639 * kern/dl.c (grub_dl_load_file): Close file immediately when
24640 we are done using it.
24641
56bc2471 246422009-04-12 David S. Miller <davem@davemloft.net>
24643
24644 * kern/misc.c (grub_ltoa): Fix cast when handling negative
24645 values. Noticed by Pavel Roskin.
24646
df38d0bb 24647 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
24648 target compiler.
7dd4a573 24649
e382e93a 24650 * genmk.rb: Add more flexible image type specification, also
24651 pass --strip-unneeded to objcopy.
24652 * conf/i386-pc.rmk: Use *_FORMAT.
24653 * conf/i386-pc.mk: Rebuilt.
24654
f5dbbca9 24655 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
24656 (OFDISK_HASH_SZ): Define.
24657 (ofdisk_hash): New hash table.
24658 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
24659 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
24660 instead of device phandle which is not unique.
24661
91c88b12 24662 * kern/sparc64/ieee1275/init.c: Delete, replace with...
24663 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
24664 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
24665 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
24666 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
24667 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
24668 GRUB_KERNEL_MACHINE_DATA_END): Define.
24669 (grub_kernel_image_size, grub_total_module_size): Declare.
24670
5b5d4aa5 246712009-04-12 Pavel Roskin <proski@gnu.org>
24672
7dd4a573 24673 * configure.ac: Change the logic when we check for target tools.
24674 Do it when the target is specified and it's different from the
24675 specified value of the host.
5b5d4aa5 24676
c91e1793 246772009-04-11 Felix Zielcke <fzielcke@z-51.de>
24678
24679 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
24680 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
24681 GNU/kFreeBSD. Check if a device is a character device. Use
24682 DIOCGMEDIASIZE to get the size.
24683 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
24684 support for GNU/kFreeBSD.
24685 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
24686 is a character device instead of a block device. Add support for
24687 FreeBSD device names.
24688
24689 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
24690 is a character device instead of a block device.
24691
24692 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
24693 is a character device instead of a block device.
24694
b1ac8644 246952009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
24696
24697 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
24698 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
24699 FreeBSD. Check if a device is a character device. Use
24700 DIOCGMEDIASIZE to get the size.
24701 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
24702 support for FreeBSD.
24703 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
24704 is a character device instead of a block device. Add support for
24705 FreeBSD device names.
24706
24707 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
24708 a character device instead of a block device.
24709 (grub_util_check_char_device): New function.
24710
24711 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
24712 a character device instead of a block device.
24713
24714 * include/grub/util/getroot.h (grub_util_check_char_device): New
24715 prototype.
24716
a3f7515a 247172009-04-11 David S. Miller <davem@davemloft.net>
24718
24719 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
24720 static libgcc.
24721 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
24722 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
24723 function, if present.
24724 (__bswapdi2): Likewise.
24725
0d44993d 24726 * include/grub/sparc64/ieee1275/boot.h: New file.
24727 * boot/sparc64/ieee1275/boot.S: Likewise.
24728 * boot/sparc64/ieee1275/diskboot.S: Likewise.
24729
ed3d2bc2 24730 * kern/misc.c (grub_ltoa): New function.
24731 (grub_vsprintf): Use it to format 'long' integers.
24732
d3bfb59c 247332009-04-10 David S. Miller <davem@davemloft.net>
24734
24735 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
24736 slots are of type grub_ieee1275_cell_t.
24737 (grub_nand_read): Likewise.
24738 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
24739 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
24740 macros are used to compare values in arg/ret block of the call.
24741 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
24742 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
24743 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
24744 grub_ieee1275_instance_to_path, grub_ieee1275_write,
24745 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
24746 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
24747 grub_ieee1275_close, grub_ieee1275_set_property,
24748 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
24749 grub_ieee1275_cell_t.
24750 * kern/ieee1275/openfw.c (grub_map): Likewise.
24751 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
24752 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
24753
450e2238 24754 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
24755 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
24756 (grub_devalias_iterate): Likewise.
24757
7dd4a573 247582009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 24759
24760 UFS improvements
24761
24762 * fs/ufs.c (INODE_NBLOCKS): new definition
24763 (struct grub_ufs_dirent): added fields for non-BSD dirents
24764 (grub_ufs_get_file_block): fixed double indirect handling
24765 (grub_ufs_lookup_symlink): use more robust way to determine whether
24766 symlink is inline
24767 (grub_ufs_find_file): support for non-BSD dirents
24768 (grub_ufs_dir): support for non-BSD dirents
24769
e7e6862a 247702009-04-10 Bean <bean123ch@gnail.com>
24771
24772 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
24773 attribute, otherwise the size would be wrong for i386 platform.
24774
24775 * include/grub/pci.h (grub_pci_read_word): New inline function.
24776 (grub_pci_read_byte): Likewise.
24777 (grub_pci_write): Likewise.
24778 (grub_pci_write_word): Likewise.
24779 (grub_pci_write_byte): Likewise.
24780
24781 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
24782
24783 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
24784 (find_framebuf): Scan pci to locate the frame buffer address.
24785
24786 * commands/efi/fixvideo.c: New file.
24787
24788 * commands/efi/loadbios.c: Likewise.
24789
24790 * commands/memrw.c: Likewise.
24791
24792 * util/grub-dumpbios.in: Likewise.
24793
24794 * conf/common.rmk (grub-dumpbios): New utility.
24795 (pkglib_MODULES): New module memrw.mod.
24796 (memrw_mod_SOURCE): New macro.
24797 (memrw_mod_CFLAGS): Likewise.
24798 (memrw_mod_LDFLAGS): Likewise.
24799
7dd4a573 24800 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 24801 fixvideo.mod.
24802 (loadbios_mod_SOURCE): New macro.
24803 (loadbios_mod_CFLAGS): Likewise.
24804 (loadbios_mod_LDFLAGS): Likewise.
24805 (fixvideo_mod_SOURCE): Likewise.
24806 (fixvideo_mod_CFLAGS): Likewise.
24807 (fixvideo_mod_LDFLAGS): Likewise.
24808
7dd4a573 24809 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 24810 fixvideo.mod.
24811 (loadbios_mod_SOURCE): New macro.
24812 (loadbios_mod_CFLAGS): Likewise.
24813 (loadbios_mod_LDFLAGS): Likewise.
24814 (fixvideo_mod_SOURCE): Likewise.
24815 (fixvideo_mod_CFLAGS): Likewise.
24816 (fixvideo_mod_LDFLAGS): Likewise.
24817
af63ada2 248182009-04-08 Felix Zielcke <fzielcke@z-51.de>
24819
24820 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
24821
c2cdde70 248222009-04-07 David S. Miller <davem@davemloft.net>
24823
24824 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
24825 support for R_SPARC_OLO10 relocations. Fix compile warning for
24826 R_SPARC_WDISP30 case.
ea3f72cf 24827 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 24828
761319cf 248292009-04-06 Pavel Roskin <proski@gnu.org>
24830
1007d1f5 24831 * include/grub/misc.h (ARRAY_SIZE): New macro.
24832 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
24833 New macro.
24834 * loader/i386/linux.c (allocate_pages): Use free_pages().
24835 (grub_linux_unload): Don't use free_pages().
24836 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
24837 wrong index. Treat all other modes as text modes.
24838 (grub_cmd_linux): Initialize vid_mode unconditionally to
24839 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
24840
761319cf 24841 * commands/help.c (print_command_help): Use cmd->prio, not
24842 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
24843
ea761d40 248442009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 24845
ea761d40 24846 Parttool
24847
24848 * parttool/pcpart.c: new file
24849 * commands/parttool.c: likewise
24850 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
24851 (parttool_mod_SOURCES): new variable
24852 (parttool_mod_CFLAGS): likewise
24853 (parttool_mod_LDFLAGS): likewise
24854 (pcpart_mod_SOURCES): likewise
24855 (pcpart_mod_CFLAGS): likewise
24856 (pcpart_mod_LDFLAGS): likewise
7dd4a573 24857 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 24858 and parttool/pcpart.c
24859 * conf/i386-efi.rmk: likewise
24860 * conf/i386-ieee1275.rmk: likewise
24861 * conf/i386-pc.rmk: likewise
24862 * conf/powerpc-ieee1275.rmk: likewise
24863 * conf/sparc64-ieee1275.rmk: likewise
24864 * conf/x86_64-ieee1275.rmk: likewise
24865
05aaebfb 248662009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24867
24868 Support for mtime and further expandability of dir command
24869
24870 * include/grub/lib/datetime.h: moved to ...
7dd4a573 24871 * include/grub/datetime.h: ... moved here and added
05aaebfb 24872 declaration of grub_unixtime2datetime. All users updated
7dd4a573 24873 * include/grub/fs.h: new syntax for dir and mtime functions in
24874 struct grub_fs
05aaebfb 24875 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
24876 and GRUB_FSHELP_FLAGS_MASK
24877 * commands/ls.c (grub_ls_list_files): Write mtime in long format
24878 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
24879 (grub_ext2_mtime): new function
24880 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
24881 (grub_hfsplus_mtime): new function
24882 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
24883 (GRUB_UFS_ATTR_FILE): likewise
24884 (GRUB_UFS_ATTR_LNK): likewise
24885 (struct grub_ufs_sblock): new fields mtime
24886 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
24887 all users updated
24888 (grub_ufs_dir): mtime support
24889 (grub_ufs_mtime): new function
24890 * fs/affs.c (grub_affs_dir): use new dir syntax
24891 * fs/afs.c (grub_afs_dir): likewise
24892 * fs/cpio.c (grub_cpio_dir): likewise
24893 * fs/fat.c (grub_fat_find_dir): likewise
24894 * fs/hfs.c (grub_hfs_dir): likewise
24895 * fs/iso9660.c (grub_iso9660_dir): likewise
24896 * fs/jfs.c (grub_jfs_dir): likewise
24897 * fs/minix.c (grub_minix_dir): likewise
24898 * fs/ntfs.c (grub_ntfs_dir): likewise
24899 * fs/reiserfs.c (grub_reiserfs_dir): likewise
24900 * fs/sfs.c (grub_sfs_dir): likewise
24901 * fs/xfs.c (grub_xfs_dir): likewise
24902 * util/hostfs.c (grub_hostfs_dir): likewise
24903 * lib/datetime.c: moved to ...
24904 * normal/datetime.c: ... moved here
24905 (grub_unixtime2datetime): new function
24906 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 24907 * normal/completion.c (iterate_dir): use new dir syntax
24908 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 24909 last modification time of a volume
7dd4a573 24910 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 24911 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 24912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 24913 (normal_mod_SOURCES): likewise
24914 (datetime_mod_SOURCES): Removed lib/datetime.c
24915 * conf/i386-efi.rmk: likewise
7dd4a573 24916 * conf/i386-ieee1275.rmk: likewise
05aaebfb 24917 * conf/i386-pc.rmk: likewise
24918 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 24919 * conf/sparc64-ieee1275.rmk: likewise
24920 * conf/x86_64-efi.rmk: likewise
05aaebfb 24921
8a7e1a14 249222009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
24923
24924 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 24925
24926 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 24927 on grub_fat_find_dir
24928 (grub_fat_find_dir): use grub_fat_iterate_dir
24929 (grub_fat_label): likewise
24930
04186a9c 249312009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
24932
7dd4a573 24933 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 24934 and command.h
24935 remove extraneous kernel_elf_HEADERS
24936
da4c0bb6 249372009-04-04 Bean <bean123ch@gnail.com>
24938
24939 * include/grub/util/misc.h: Add dummy function fsync for mingw.
24940
24941 * util/misc.c: Likewise.
24942
54ad9555 249432009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24944
24945 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
24946 instead of grub_printf.
24947
7a6bf9f2 249482009-04-03 Robert Millan <rmh@aybabtu.com>
24949
24950 * loader/i386/linux.c (grub_linux_setup_video): Fill
24951 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
24952 values from `mode info' structure instead of hardcoded
24953 values.
24954
3fcc2083 249552009-04-01 Pavel Roskin <proski@gnu.org>
24956
24957 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
24958 unused now.
24959 * genmk.rb: Likewise.
24960 * configure.ac: Likewise.
24961
5ec9740b 249622009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
24963
24964 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
24965 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
24966
5270cec8 249672009-04-01 David S. Miller <davem@davemloft.net>
24968
24969 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 24970 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 24971 (grub_setjmp): Mark with 'returns_twice' attribute.
24972 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
24973 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
24974 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
24975
9c3dd854 249762009-04-01 Robert Millan <rmh@aybabtu.com>
24977
24978 Reapply fix from 2008-07-28 which was accidentally reverted; also
24979 perform the same fix to a similar check in same function.
24980
24981 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
24982 with the same number are found, just use issue a warning with
24983 grub_dprintf(), as this error has been reported to be non-fatal.
24984
0d818b7e 249852009-03-31 Pavel Roskin <proski@gnu.org>
24986
24987 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
24988 for cross-compilation.
24989
95646d92 249902009-03-30 Robert Millan <rmh@aybabtu.com>
24991
24992 Fix i386-ieee1275 build.
24993
24994 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
24995 Remove declaration.
24996
6a003ed1 249972009-03-30 Pavel Roskin <proski@gnu.org>
24998
24999 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
25000 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
25001 zero-terminated, rely only on the strlen value. Fix comparison
25002 of strings differing in length.
25003
92f33540 250042009-03-30 Robert Millan <rmh@aybabtu.com>
25005
25006 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
25007 checking for abi version. Improve error messages on BIOS to notify
25008 user about `linux16' command.
25009
a8c48fd5 250102009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
25011
f968172e 25012 Leak fixes
a8c48fd5 25013
f968172e 25014 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
25015 in case of collision
25016 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 25017
9c323f09 250182009-03-29 Robert Millan <rmh@aybabtu.com>
25019
25020 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
25021 set `vid_mode' accordingly.
25022 (grub_linux_boot): Process `vid_mode' and set video mode.
25023
ae68f423 250242009-03-29 Robert Millan <rmh@aybabtu.com>
25025
25026 * util/grub.d/10_linux.in (linux_entry): New function.
25027 Factorize generation of Linux boot entries.
25028
5709cfc4 250292009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
25030
25031 Make the format of Environment Block plain text. The boot loader
25032 part is not tested well yet.
7dd4a573 25033
5709cfc4 25034 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
25035 (buffer): Removed.
25036 (envblk): Likewise.
25037 (usage): Remove "info" and "clear". Add "unset". Update the
25038 description of "set", as this does not delete variables any
25039 longer.
25040 (create_envblk_file): Complete rewrite.
25041 (open_envblk_file): Likewise.
25042 (cmd_info): Removed.
25043 (cmd_list): Likewise.
25044 (cmd_set): Likewise.
25045 (cmd_clear): Likewise.
25046 (list_variables): New function.
25047 (write_envblk): Likewise.
25048 (set_variables): Likewise.
25049 (unset_variables): Likewise.
25050 (main): Complete rewrite.
25051
25052 * commands/loadenv.c (buffer): Removed.
25053 (envblk): Likewise.
25054 (open_envblk_file): New function.
25055 (read_envblk_file): Complete rewrite.
25056 (grub_cmd_load_env): Likewise.
25057 (grub_cmd_list_env): Likewise.
25058 (struct blocklist): New struct.
25059 (free_blocklists): New function.
25060 (check_blocklists): Likewise.
25061 (write_blocklists): Likewise.
25062 (grub_cmd_save_env): Complete rewrite.
25063
25064 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
25065 a plain text signature.
25066 (GRUB_ENVBLK_MAXLEN): Removed.
25067 (struct grub_envblk): Complete rewrite.
25068 (grub_envblk_find): Removed.
25069 (grub_envblk_insert): Likewise.
25070 (grub_envblk_open): New prototype.
25071 (grub_envblk_set): Likewise.
25072 (grub_envblk_delete): Put const to VALUE.
25073 (grub_envblk_iterate): Put const to NAME and VALUE.
25074 (grub_envblk_close): New prototype.
25075 (grub_envblk_buffer): New inline function.
25076 (grub_envblk_size): Likewise.
25077
25078 * lib/envblk.c: Include grub/mm.h.
25079 (grub_env_find): Removed.
25080 (grub_envblk_open): New function.
25081 (grub_envblk_close): Likewise.
25082 (escaped_value_len): Likewise.
25083 (find_next_line): Likewise.
25084 (grub_envblk_insert): Removed.
25085 (grub_envblk_set): New function.
25086 (grub_envblk_delete): Complete rewrite.
25087 (grub_envblk_iterate): Likewise.
25088
a9368fd3 250892009-03-28 Robert Millan <rmh@aybabtu.com>
25090
25091 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
25092 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
25093 variables. Use 16-bit loader.
25094 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
25095 loader.
25096 * kern/i386/loader.S (grub_linux_boot): Rename to ...
25097 (grub_linux16_boot): ... this. Update all users.
25098 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
25099 (grub_linux_boot): ... this. Update all users.
25100
25101 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
25102 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
25103 commands to `linux16' and `initrd16'.
25104 (GRUB_MOD_FINI(linux)): Rename to ...
25105 (GRUB_MOD_FINI(linux16)): ... this.
25106
e4dd5a7e 251072009-03-24 Pavel Roskin <proski@gnu.org>
25108
25109 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
25110 not just for compilation.
25111
c04d6e05 251122009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
25113
25114 Move multiboot helper out of kernel
25115
25116 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
25117 `loader/i386/multiboot_helper.S'.
25118 * conf/i386-coreboot.rmk: Likewise
25119 * conf/i386-ieee1275.rmk: Likewise
25120
25121 * kern/i386/loader.S: Move multiboot helpers from here...
25122 * loader/i386/multiboot_helper.S: ...moved here
25123 * include/grub/i386/loader.h: Move declarations of multiboot
25124 helpers from here...
25125 * include/grub/i386/multiboot.h: ...moved here
25126 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
25127
42a5b3fc 251282009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25129
25130 * kern/env.c (grub_env_context_open): Added an argument to specify
25131 whether a new context inherits exported variables from current
25132 one. This is useful when making a sandbox to interpret a config
25133 file.
25134 All callers updated.
25135
25136 * include/grub/env.h (grub_env_context_open): Updated the prototype.
25137
b28bbc4e 251382009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25139
25140 * kern/env.c (grub_env_context_close): Fix memory leaks.
25141
f04f02e4 251422009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
25143
25144 * normal/main.c (grub_normal_execute): Added an argument
25145 BATCH to specify if an interactive interface should be provided
25146 after reading a config file.
25147 All callers updated.
25148 (read_command_list): Prevent being executed twice.
25149 (read_fs_list): Likewise.
25150
42a5b3fc 25151 * include/grub/normal.h (grub_normal_execute): Updated the
25152 prototype.
f04f02e4 25153
41473ac2 251542009-03-22 Pavel Roskin <proski@gno.org>
25155
fbc00b0c 25156 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
25157 _start.
25158 * kern/i386/pc/startup.S: Likewise.
25159 * kern/i386/efi/startup.S: Likewise.
25160 * kern/i386/ieee1275/startup.S: Likewise.
25161 * kern/i386/coreboot/startup.S: Likewise.
25162 * kern/x86_64/efi/startup.S: Likewise.
25163
41473ac2 25164 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
25165 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
25166 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
25167
2274cc8f 251682009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
25169
25170 Bugfixes in multiboot for bugs uncovered by solaris kernel.
25171
25172 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
25173 limit detection.
25174 Use vaddr of correct segment for entry_point.
25175
b1b797cb 251762009-03-21 Bean <bean123ch@gmail.com>
25177
25178 * commands/blocklist.c: Add include file <grub/command.h>, remove
25179 <grub/normal.h> and <grub/arg.h>.
25180 (grub_cmd_blocklist): Use the new command interface.
25181 (GRUB_MOD_INIT): Likewise.
25182 (GRUB_MOD_FINI): Likewise.
25183 * commands/boot.c: Likewise.
25184 * commands/cat.c: Likewise.
25185 * commands/cmp.c: Likewise.
25186 * commands/configfile.c: Likewise.
25187 * commands/crc.c: Likewise.
25188 * commands/echo.c: Likewise.
25189 * commands/halt.c: Likewise.
25190 * commands/handler.c: Likewise.
25191 * commands/hdparm.c: Likewise.
25192 * commands/help.c: Likewise.
25193 * commands/hexdump.c: Likewise.
25194 * commands/loadenv.c: Likewise.
25195 * commands/ls.c: Likewise.
25196 * commands/lsmmap.c: Likewise.
25197 * commands/lspci.c: Likewise.
25198 * commands/loadenv.c: Likewise.
25199 * commands/read.c: Likewise.
25200 * commands/reboot.c: Likewise.
25201 * commands/search.c: Likewise.
25202 * commands/sleep.c: Likewise.
25203 * commands/test.c: Likewise.
25204 * commands/usbtest.c: Likewise.
25205 * commands/videotest.c: Likewise.
25206 * commands/i386/cpuid.c: Likewise.
25207 * commands/i386/pc/halt.c: Likewise.
25208 * commands/i386/pc/play.c: Likewise.
25209 * commands/i386/pc/pxecmd.c: Likewise.
25210 * commands/i386/pc/vbeinfo.c: Likewise.
25211 * commands/i386/pc/vbetest.c: Likewise.
25212 * commands/ieee1275/suspend.c: Likewise.
25213 * disk/loopback.c: Likewise.
25214 * font/font_cmd.c: Likewise.
25215 * hello/hello.c: Likewise.
25216 * loader/efi/appleloader.c: Likewise.
25217 * loader/efi/chainloader.c: Likewise.
25218 * loader/i386/bsd.c: Likewise.
25219 * loader/i386/efi/linux.c: Likewise.
25220 * loader/i386/ieee1275/linux.c: Likewise.
25221 * loader/i386/linux.c: Likewise.
25222 * loader/i386/pc/chainloader.c: Likewise.
25223 * loader/i386/pc/linux.c: Likewise.
25224 * loader/powerpc/ieee1275/linux.c: Likewise.
25225 * loader/multiboot_loader.c: Likewise.
25226 * term/gfxterm.c: Likewise.
25227 * term/i386/pc/serial.c: Likewise.
25228 * term/terminfo.c: Likewise.
25229
25230 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
25231 * term/i386/pc/vga.c: Likewise.
25232 * video/readers/jpeg.c: Likewise.
25233 * video/readers/png.c: Likewise.
25234 * video/readers/tga.c: Likewise.
25235
25236 * util/grub-fstest (cmd_loopback): Removed.
25237 (cmd_blocklist): Likewise.
25238 (cmd_ls): Likewise.
25239 (grub_register_command): Likewise.
25240 (grub_unregister_command): Likewise.
25241 (execute_command): Use grub_command_find to locate command and execute
25242 it.
25243
25244 * include/grub/efi/chainloader.h: Removed.
25245 * loader/efi/chainloader_normal.c: Likewise.
25246 * loader/i386/bsd_normal.c: Likewise.
25247 * loader/i386/pc/chainloader_normal.c: Likewise.
25248 * loader/i386/pc/multiboot_normal.c: Likewise.
25249 * loader/linux_normal.c: Likewise.
25250 * loader/multiboot_loader_normal.c: Likewise.
25251 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25252
25253 * gencmdlist.sh: Scan new registration command grub_register_extcmd
25254 and grub_register_command_p1.
25255
25256 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
25257 kern/command.c, lib/arg.c and commands/extcmd.c.
25258 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
25259 (minicmd_mod_SOURCES): New variable.
25260 (minicmd_mod_CFLAGS): Likewise.
25261 (minicmd_mod_LDFLAGS): Likewise.
25262 (extcmd_mod_SOURCES): Likewise.
25263 (extcmd_mod_CFLAGS): Likewise.
25264 (extcmd_mod_LDFLAGS): Likewise.
25265 (boot_mod_SOURCES): Removed.
25266 (boot_mod_CFLAGS): Likewise.
25267 (boot_mod_LDFLAGS): Likewise.
25268
25269 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
25270 kern/corecmd.c.
25271 (kernel_img_HEADERS): Add command.h.
25272 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
25273 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
25274 and lib/arg.c.
25275 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
25276 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
25277 remove the corresponding normal mode command.
25278 (normal_mod_SOURCES): Remove normal/arg.c.
25279 * conf/i386-coreboot.rmk: Likewise.
25280 * conf/i386-efi.rmk: Likewise.
25281 * conf/i386-ieee1275.rmk: Likewise.
25282 * conf/powerpc-ieee1275.rmk: Likewise.
25283 * conf/x86_64-efi.rmk: Likewise.
25284
25285 * include/grub/arg.h: Move from here ...
25286 * include/grub/lib/arg.h: ... to here.
25287
25288 * normal/arg.c: Move from here ...
25289 * lib/arg.c: ... to here.
25290
25291 * commands/extcmd.c: New file.
25292 * commands/minicmd.c: Likewise.
25293 * include/grub/command.h: Likewise.
25294 * include/grub/extcmd.h: Likewise.
25295 * kern/command.c: Likewise.
25296 * kern/corecmd.c: Likewise.
25297
25298 * kern/list.c (grub_list_iterate): Return int instead of void.
25299 (grub_list_insert): New function.
25300 (grub_prio_list_insert): Likewise.
25301
25302 * kern/rescue.c (grub_rescue_command): Removed.
25303 (grub_rescue_command_list): Likewise.
25304 (grub_rescue_register_command): Likewise.
25305 (grub_rescue_unregister_command): Likewise.
25306 (grub_rescue_cmd_boot): Move to minicmd.c
25307 (grub_rescue_cmd_help): Likewise.
25308 (grub_rescue_cmd_info): Likewise.
25309 (grub_rescue_cmd_boot): Likewise.
25310 (grub_rescue_cmd_testload): Likewise.
25311 (grub_rescue_cmd_dump): Likewise.
25312 (grub_rescue_cmd_rmmod): Likewise.
25313 (grub_rescue_cmd_lsmod): Likewise.
25314 (grub_rescue_cmd_exit): Likewise.
25315 (grub_rescue_print_devices): Moved to corecmd.c.
25316 (grub_rescue_print_files): Likewise.
25317 (grub_rescue_cmd_ls): Likewise.
25318 (grub_rescue_cmd_insmod): Likewise.
25319 (grub_rescue_cmd_set): Likewise.
25320 (grub_rescue_cmd_unset): Likewise.
7d074e3c 25321 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 25322 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 25323 commands, remove grub_rescue_register_command calls.
b1b797cb 25324
7d074e3c 25325 * normal/command.c (grub_register_command): Removed.
b1b797cb 25326 (grub_unregister_command): Likewise.
25327 (grub_command_find): Likewise.
25328 (grub_iterate_commands): Likewise.
25329 (rescue_command): Likewise.
25330 (export_command): Moved to corecmd.c.
25331 (set_command): Removed.
25332 (unset_command): Likewise.
25333 (insmod_command): Likewise.
25334 (rmmod_command): Likewise.
25335 (lsmod_command): Likewise.
25336 (grub_command_init): Likewise.
25337
25338 * normal/completion.c (iterate_command): Use cmd->prio to check for
25339 active command.
25340 (complete_arguments): Use grub_extcmd_t structure to find options.
25341 (grub_normal_do_completion): Change function grub_iterate_commands to
25342 grub_command_iterate.
25343
25344 * normal/execute.c (grub_script_execute_cmd): No need to parse
25345 argument here.
25346
25347 * normal/main.c (grub_dyncmd_dispatcher): New function.
25348 (read_command_list): Register unload commands as dyncmd.
25349 (grub_cmd_normal): Use new command interface, register rescue,
25350 unregister normal at entry, register normal, unregister rescue at exit.
25351
25352 * include/grub/list.h (grub_list_test_t): New type.
25353 (grub_list_iterate): Return int instead of void.
25354 (grub_list_insert): New function.
25355 (GRUB_AS_NAMED_LIST_P): New macro.
25356 (GRUB_AS_PRIO_LIST): Likewise.
25357 (GRUB_AS_PRIO_LIST_P): Likewise.
25358 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
25359 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
25360 (grub_prio_list): New structure.
25361 (grub_prio_list_insert): New function.
25362 (grub_prio_list_remove): New inline function.
25363
25364 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
25365 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
25366 (GRUB_COMMAND_FLAG_MENU): Likewise.
25367 (GRUB_COMMAND_FLAG_BOTH): Likewise.
25368 (GRUB_COMMAND_FLAG_TITLE): Likewise.
25369 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
25370 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
25371 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
25372 (grub_command): Likewise.
25373 (grub_register_command): Likewise.
25374 (grub_command_find): Likewise.
25375 (grub_iterate_commands): Likewise.
25376 (grub_command_init): Likewise.
25377 (grub_arg_parse): Likewise.
25378 (grub_arg_show_help): Likewise.
25379
25380 * include/grub/rescue.h (grub_rescue_register_command): Removed.
25381 (grub_rescue_unregister_command): Likewise.
25382
25383 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
25384 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
25385 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
25386
25387 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
25388 grub_rescue_cmd_initrd.
25389 * include/grub/i386/loader.h: Likewise.
25390 * include/grub/x86_64/loader.h: Likewise.
25391
25392 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
25393
1f4147aa 253942009-03-21 Bean <bean123ch@gmail.com>
25395
25396 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
25397 instead of stat in mingw environment.
25398
25399 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
25400
25401 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
25402
25403 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
25404 AC_CONFIG_LINKS.
25405
2156d5ba 254062009-03-21 Bean <bean123ch@gmail.com>
25407
25408 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
25409 out of range error.
25410
177b82ca 254112009-03-18 Michel Dänzer <michel@daenzer.net>
25412
25413 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
25414 checking inode flags for EXT4_EXTENTS_FLAG.
25415
14aad807 254162009-03-18 Robert Millan <rmh@aybabtu.com>
25417
25418 * loader/i386/linux.c: Include `<grub/video.h>' and
25419 `<grub/i386/pc/vbe.h>'..
25420 (grub_linux_setup_video): New function. Loosely based on the EFI one.
25421 (grub_linux32_boot): Attempt to configure video settings with
25422 grub_linux_setup_video().
25423 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
25424 to avoid grub_console_fini() which would step out of graphical mode
25425 unconditionally.
25426
8cf83a27 254272009-03-14 Robert Millan <rmh@aybabtu.com>
25428
25429 Fix build on powerpc.
25430 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
25431
40164e75 254322009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
25433
25434 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
25435 background image command.
25436
c58bc32a 254372009-03-12 Colin D Bennett <colin@gibibit.com>
25438
25439 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
25440 (grub_gfxterm_putchar): Extract pairs of identical calls to
25441 draw_cursor out of conditional blocks.
25442
5415144a 254432009-03-11 Pavel Roskin <proski@gnu.org>
25444
25445 * fs/hfs.c (grub_hfs_strncasecmp): New function.
25446 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
25447
6394042e 254482009-03-11 Robert Millan <rmh@aybabtu.com>
25449
25450 * loader/i386/multiboot_elfxx.c
25451 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
25452
b7b50e5f 254532009-03-11 Felix Zielcke <fzielcke@z-51.de>
25454
25455 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
25456 `kern/handler.c'.
25457
1ca7fc96 254582009-03-11 Robert Millan <rmh@aybabtu.com>
25459
25460 * loader/i386/multiboot.c (code_size): New variable.
25461 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 25462 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 25463 4-byte alignment to MBI and others by increasing
7d074e3c 25464 `boot_loader_name_length' appropriately.
1ca7fc96 25465
25466 * loader/i386/multiboot_elfxx.c
25467 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
25468
a83ea1d2 254692009-03-09 Felix Zielcke <fzielcke@z-51.de>
25470
25471 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
25472 `fs/ext2.c'.
25473
aa9f3bff 254742009-03-08 Robert Millan <rmh@aybabtu.com>
25475
25476 Make loader/i386/linux.c usable on i386-pc again.
25477
25478 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
25479 memory to heap.
25480 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
25481 `#error' stanza.
25482
d8b3b60e 254832009-03-07 Bean <bean123ch@gmail.com>
25484
25485 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
25486 allocation.
25487
b362c9e9 254882009-03-06 Robert Millan <rmh@aybabtu.com>
25489
25490 Fix display issue on terminals with screen size other than 80x25
25491 (e.g. gfxterm with resolution higher than 640x480).
25492
25493 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 25494 position relative to the center of the terminal instead of relying
b362c9e9 25495 on a hardcoded offset.
25496
9304eef1 254972009-03-04 Robert Millan <rmh@aybabtu.com>
25498
25499 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
25500 installed.
25501
25502 * Makefile.in (host_kernel): New variable.
25503 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
25504 scripts instead of just the windows one.
25505 * configure.ac: Initialize and AC_SUBST `host_kernel'.
25506
eabc95fb 255072009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 25508
25509 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
25510 `kern/handler.c'.
25511 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25512 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25513 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25514 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25515 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25516 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25517
ceb1223c 255182009-03-04 Felix Zielcke <fzielcke@z-51.de>
25519
25520 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
25521 or if there's no space for the disk label and print the partition number on a
25522 invalid magic.
25523
4910684a 255242009-03-04 Felix Zielcke <fzielcke@z-51.de>
25525
25526 * util/misc.c: Include <time.h>.
25527 (grub_millisleep): New function.
25528
7e9ca17a 255292009-03-04 Bean <bean123ch@gmail.com>
25530
25531 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
25532 another option -mno-red-zone.
25533
25534 * commands/handler.c: Change module description.
25535
25536 * kern/handler.c: Add missing space at the end of description line.
25537
25538 * kern/list.c: Likewise.
25539
f501677c 255402009-03-03 Robert Millan <rmh@aybabtu.com>
25541
25542 Move more components to the relocation area, and fix mbi pointer
25543 handling to use the destination rather than the origin (thanks to
25544 Vladimir Serbinenko for spotting).
25545
25546 * loader/i386/multiboot.c (mbi_dest): New variable.
25547 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
25548 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
25549 relocation area.
25550
9902d047 255512009-03-01 Bean <bean123ch@gmail.com>
25552
50fb7002 25553 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 25554 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
25555 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
25556 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
25557
25558 * loader/i386/efi/linux.c (acpi_guid): New variable.
25559 (acpi_guid): Likewise.
25560 (EBDA_SEG_ADDR): New constant.
25561 (LOW_MEM_ADDR): Likewise.
25562 (FAKE_EBDA_SEG): Likewise.
25563 (fake_bios_data): New function.
25564 (grub_linux_boot): Call fake_bios_data.
25565
71b9f361 255662009-03-01 Bean <bean123ch@gmail.com>
25567
25568 * commands/terminal.c: Removed.
25569
25570 * commands/handler.c: New file.
25571
25572 * include/grub/list.h: Likewise.
25573
25574 * include/grub/handler.h: Likewise.
25575
25576 * kern/list.c: Likewise.
25577
25578 * kern/handler.c: Likewise.
25579
25580 * kern/term.h: Include header file <grub/handler.h>.
25581 (grub_term_input): Move next field to the beginning.
25582 (grub_term_output): Likewise.
25583 (grub_term_input_class): New variable.
25584 (grub_term_output_class): Likewise.
25585 (grub_term_register_input): Changed to inline function.
25586 (grub_term_register_output): Likewise.
25587 (grub_term_unregister_input): Likewise.
25588 (grub_term_unregister_output): Likewise.
25589 (grub_term_set_current_input): Likewise.
25590 (grub_term_set_current_output): Likewise.
25591 (grub_term_get_current_input): Likewise.
25592 (grub_term_get_current_output): Likewise.
25593 (grub_term_iterate_input): Removed.
25594 (grub_term_iterate_output): Likewise.
25595
25596 * kern/term.c (grub_term_list_input): Removed.
25597 (grub_term_list_output): Likewise.
25598 (grub_term_input_class): New variable.
25599 (grub_term_output_class): Likewise.
50fb7002 25600 (grub_cur_term_input): Change variable as macro.
71b9f361 25601 (grub_cur_term_output): Likewise.
25602 (grub_term_register_input): Removed.
25603 (grub_term_register_output): Likewise.
25604 (grub_term_unregister_input): Likewise.
25605 (grub_term_unregister_output): Likewise.
25606 (grub_term_set_current_input): Likewise.
25607 (grub_term_set_current_output): Likewise.
25608 (grub_term_iterate_input): Likewise.
25609 (grub_term_iterate_output): Likewise.
25610 (grub_term_get_current_input): Likewise.
25611 (grub_term_get_current_output): Likewise.
25612
25613 * util/grub-editenv.c: Include header file <grub/handler.h>.
25614 (grub_term_get_current_input): Removed.
25615 (grub_term_get_current_output): Likewise.
25616 (grub_term_input_class): New variable.
50fb7002 25617 (grub_term_output_class): Likewise.
71b9f361 25618
25619 * util/grub-fstest.c (grub_term_get_current_input): Removed.
25620 (grub_term_get_current_output): Likewise.
25621 (grub_term_input_class): New variable.
50fb7002 25622 (grub_term_output_class): Likewise.
71b9f361 25623
25624 * util/grub-probe.c (grub_term_get_current_input): Removed.
25625 (grub_term_get_current_output): Likewise.
25626 (grub_term_input_class): New variable.
50fb7002 25627 (grub_term_output_class): Likewise.
71b9f361 25628
25629 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
25630 (grub_term_get_current_output): Likewise.
25631 (grub_term_input_class): New variable.
50fb7002 25632 (grub_term_output_class): Likewise.
71b9f361 25633
25634 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
25635 (terminal_mod_SOURCES): Likewise.
25636 (terminal_mod_CFLAGS): Likewise.
25637 (terminal_mod_LDFLAGS): Likewise.
25638
25639 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
25640 handler.c.
25641 (kernel_img_SOURCES): Add list.c and handler.c.
25642 (kernel_img_HEADERS): Add list.h and handler.h.
25643
25644 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25645 handler.c.
25646 (kernel_mod_SOURCES): Add list.c and handler.c.
25647 (kernel_mod_HEADERS): Add list.h and handler.h.
25648
25649 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
25650 handler.c.
25651 (kernel_elf_SOURCES): Add list.c and handler.c.
25652 (kernel_elf_HEADERS): Add list.h and handler.h.
25653
25654 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25655 handler.c.
25656 (kernel_elf_SOURCES): Add list.c and handler.c.
25657 (kernel_elf_HEADERS): Add list.h and handler.h.
25658
25659 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
25660 handler.c.
25661 (kernel_mod_SOURCES): Add list.c and handler.c.
25662 (kernel_mod_HEADERS): Add list.h and handler.h.
25663
25664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
25665 handler.c.
25666 (kernel_elf_SOURCES): Add list.c and handler.c.
25667 (kernel_elf_HEADERS): Add list.h and handler.h.
25668
8a31787f 256692009-02-27 Robert Millan <rmh@aybabtu.com>
25670
25671 Factorize elf32 / elf64 code in Multiboot loader. This will
25672 prevent it from getting out of sync again.
25673
25674 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
25675 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
25676 grub_multiboot_load_elf64): Move from here ...
25677 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
25678 grub_multiboot_load_elf): ... to here (new file).
25679
51cd3dfc 256802009-02-27 Robert Millan <rmh@aybabtu.com>
25681
25682 * util/grub.d/10_linux.in: Rename "single-user mode" to
25683 "recovery mode".
25684
6e8c9c3a 256852009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
25686
25687 Don't leak in SCSI code.
25688 * disk/scsi.c (grub_scsi_close): free `scsi'.
25689
4b6bf4f9 256902009-02-27 Robert Millan <rmh@aybabtu.com>
25691
25692 * loader/i386/pc/multiboot.c: Move from here ...
25693 * loader/i386/multiboot.c: ... to here. Update all users.
25694
b9413424 256952009-02-27 Robert Millan <rmh@aybabtu.com>
25696
25697 Patch from Alexandre Bique <bique.alexandre@gmail.com>
25698 * util/i386/pc/grub-setup.c (setup): Fix directory path.
25699
50fb7002 257002009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 25701
25702 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
25703 b-tree.
25704
8cc50345 257052009-02-27 Robert Millan <rmh@aybabtu.com>
25706
25707 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
25708 `0x' qualifier as 0 when base is specified as parameter).
25709
6e09b8b7 257102009-02-24 Bean <bean123ch@gmail.com>
25711
25712 * configure.ac: Check for -mcmodel=large in x86_64 target.
25713
25714 * include/grub/efi/api.h (efi_call_10): New macro.
25715 (efi_wrap_10): New function.
25716
25717 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
25718 (GRUB_PE32_REL_BASED_HIGH): Likewise.
25719 (GRUB_PE32_REL_BASED_LOW): Likewise.
25720 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
25721 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
25722 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
25723 (GRUB_PE32_REL_BASED_SECTION): Likewise.
25724 (GRUB_PE32_REL_BASED_REL): Likewise.
25725 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
25726 (GRUB_PE32_REL_BASED_DIR64): Likewise.
25727 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
25728
25729 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
25730 issue.
25731
25732 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
25733 (efi_wrap_10): New function.
25734
25735 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
25736
25737 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
25738 MB/MBP model (NV chipset).
25739 (devdata_devs): Add devpath_5 to the list.
25740
25741 * load/i386/efi/linux.c (video_base): Remove variable.
25742 (RGB_MASK): New macro.
25743 (RGB_MAGIC): Likewise.
25744 (LINE_MIN): Likewise.
25745 (LINE_MAX): Likewise.
25746 (FBTEST_STEP): Likewise.
25747 (FBTEST_COUNT): Likewise.
25748 (fb_list): New variable.
25749 (grub_find_video_card): Remove function.
25750 (find_framebuf): New function.
25751 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
25752 line length.
25753
25754 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
25755 problem for x86_64.
25756
74b21bee 257572009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
25758
25759 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
25760
25761 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
25762 coding tool name.
25763
a455f472 257642009-02-22 Robert Millan <rmh@aybabtu.com>
25765
25766 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
25767 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
25768 in our relocation, instead of using it directly from heap. Also
25769 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
25770
6374daf3 257712009-02-21 Robert Millan <rmh@aybabtu.com>
25772
25773 Implement USB keyboard support (based on patch by Marco Gerards)
25774
25775 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
25776 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
25777 (usb_keyboard_mod_LDFLAGS): New variables.
25778
25779 * term/usb_keyboard.c: New file.
25780
8fa4ea70 257812009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
25782
25783 Corrected wrong declaration
25784
25785 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
25786
353976ac 257872009-02-14 Christian Franke <franke@computer.org>
25788
25789 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
25790 (grub_lspci_iter): Print class code and programming interface byte.
25791
6aa1169b 257922009-02-14 Christian Franke <franke@computer.org>
25793
25794 * gendistlist.sh: Ignore `.svn' directories.
25795
265372ca 257962009-02-14 Felix Zielcke <fzielcke@z-51.de>
25797
25798 * fs/fat.c: Add 2009 to Copyright line.
25799
9ff516f3 258002009-02-14 Christian Franke <franke@computer.org>
25801
25802 * commands/hdparm.c: New file. Provides `hdparm' command
25803 which sends ATA commands via grub_disk_ata_pass_through ().
25804
25805 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
25806
25807 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
25808 and <grub/cpu/io.h> to include/grub/ata.h.
25809 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
25810 (GRUB_CDROM_SECTOR_SIZE): Remove.
25811 (GRUB_ATA_*): Move to include/grub/ata.h.
25812 (GRUB_ATAPI_*): Likewise.
25813 (enum grub_ata_commands): Likewise.
25814 (enum grub_ata_timeout_milliseconds): Likewise.
25815 (struct grub_ata_device): Likewise.
25816 (grub_ata_regset): Likewise.
25817 (grub_ata_regget): Likewise.
25818 (grub_ata_regset2): Likewise.
25819 (grub_ata_regget2): Likewise.
25820 (grub_ata_check_ready): Likewise.
25821 (grub_ata_wait_not_busy): Remove static, exported in
25822 include/grub/ata.h.
25823 (grub_ata_wait_drq): Likewise.
25824 (grub_ata_pio_read): Likewise.
25825
25826 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
25827 function for hdparm.mod.
25828
25829 * include/grub/ata.h: New file, contains declarations from
25830 disk/ata.c.
25831 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
25832
25833 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
25834 (grub_disk_ata_pass_through): New exported variable.
25835
25836 * kern/disk.c (grub_disk_ata_pass_through): New variable.
25837
772e23da 258382009-02-13 Colin D Bennett <colin@gibibit.com>
25839
25840 Support multiple fallback entries, and provide an API to support
25841 executing default+fallback menu entries. Renamed the `terminal' menu
25842 viewer to `text'.
25843
25844 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
25845 variable declaration.
25846 (grub_menu_execute_callback): New structure declaration.
25847 (grub_menu_execute_callback_t): New typedef.
25848 (grub_menu_execute_with_fallback): New function declaration.
25849 (grub_menu_get_entry): Likewise.
25850 (grub_menu_get_timeout): Likewise.
25851 (grub_menu_set_timeout): Likewise.
25852
25853 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
25854
25855 * normal/menu.c (grub_wait_after_message): Moved to
25856 `normal/menu_text.c'.
25857 (draw_border): Likewise.
25858 (print_message): Likewise.
25859 (print_entry): Likewise.
25860 (print_entries): Likewise.
25861 (grub_menu_init_page): Likewise.
25862 (get_entry_number): Likewise.
25863 (print_timeout): Likewise.
25864 (run_menu): Likewise.
25865 (grub_menu_execute_entry): Likewise.
25866 (show_text_menu): Likewise.
25867 (get_and_remove_first_entry_number): New function.
25868 (grub_menu_execute_with_fallback): Likewise.
25869 (get_entry): Renamed to ...
25870 (grub_menu_get_entry): .. this and made it global.
25871 (get_timeout): Renamed to ...
25872 (grub_menu_get_timeout): ... this and made it global.
25873 (set_timeout): Renamed to ...
25874 (grub_menu_set_timeout): ... this and made it global.
25875 (grub_normal_terminal_menu_viewer): Renamed to ...
25876 (grub_normal_text_menu_viewer): ... this.
25877
25878 * normal/menu_text.c: New file. Extracted text-menu-specific code
25879 from normal/menu.c.
25880
25881 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
25882 (normal_mod_SOURCES): Likewise.
25883
25884 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
25885 (normal_mod_SOURCES): Likewise.
25886
25887 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25888 (normal_mod_SOURCES): Likewise.
25889
25890 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
25891 (normal_mod_SOURCES): Likewise.
25892
25893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25894 (normal_mod_SOURCES): Likewise.
25895
25896 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25897 (normal_mod_SOURCES): Likewise.
25898
25899 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25900 (normal_mod_SOURCES): Likewise.
25901
16ac430e 259022009-02-11 Robert Millan <rmh@aybabtu.com>
25903
25904 * util/grub.d/00_header.in: Update old reference to `font' command.
25905
06ff20fc 259062009-02-10 Felix Zielcke <fzielcke@z-51.de>
25907
25908 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
25909
25910 Based on patch from Javier Martín.
25911
96da9407 259122009-02-09 Felix Zielcke <fzielcke@z-51.de>
25913
25914 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 25915 to avoid false positives with FAT.
96da9407 25916 (grub_fstest_SOURCES): Likewise.
25917 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25918 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
25919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25920 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
25921 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25922 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25923
6dca6fe4 259242009-02-09 Felix Zielcke <fzielcke@z-51.de>
25925
06ff20fc 25926 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 25927 bpb.version_specific.fat12_or_fat16.fstype and
25928 bpb.version_specific.fat32.fstype.
25929
2550c62f 259302009-02-08 Robert Millan <rmh@aybabtu.com>
25931
be110b30 25932 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 25933
56978920 259342009-02-08 Robert Millan <rmh@aybabtu.com>
25935
25936 * Makefile.in (host_os, host_cpu): New variables.
25937 (target_os): Remove. Update all users.
25938
d64399b5 259392009-02-08 Marco Gerards <marco@gnu.org>
25940
25941 * Makefile.in (enable_grub_emu_usb): New variable.
25942 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
25943 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
25944 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
25945 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
25946 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
25947 `usbtest.mod' and `usbms.mod'.
25948 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
25949 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
25950 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
25951 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
25952 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
25953 variables.
25954
25955 * disk/usbms.c: New file.
25956
25957 * include/grub/usb.h: Likewise.
25958
25959 * include/grub/usbtrans.h: Likewise.
25960
25961 * include/grub/usbdesc.h: Likewise.
25962
25963 * bus/usb/usbtrans.c: Likewise.
25964
25965 * bus/usb/ohci.c: Likewise.
25966
25967 * bus/usb/uhci.c: Likewise.
25968
25969 * bus/usb/usbhub.c: Likewise.
25970
25971 * bus/usb/usb.c: Likewise.
25972
25973 * commands/usbtest.c: Likewise.
25974
25975 * util/usb.c: Likewise.
50fb7002 25976
d64399b5 25977 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
25978
25979 * configure.ac: Test for libusb presence.
50fb7002 25980
d64399b5 25981 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
25982
2b40d6bb 259832009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
25984
25985 * kern/mm.c: Add more comments.
25986
73a4ce81 259872009-02-08 Robert Millan <rmh@aybabtu.com>
25988
25989 Patch from Javier Martín.
25990 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
25991 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
25992
f821ce59 259932009-02-08 Robert Millan <rmh@aybabtu.com>
25994
25995 * fs/cpio.c: Split tar functionality to ...
25996 * fs/tar.c: ... here (new file). Update all users.
25997
aebfc4b0 259982009-02-07 Robert Millan <rmh@aybabtu.com>
25999
26000 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
26001 backward-incompatible features.
26002
26003 Based on patch from Javier Martín, with some adjustments.
26004
50fb7002 260052009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 26006
26007 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
26008
0bb5115e 260092009-02-07 Robert Millan <rmh@aybabtu.com>
26010
26011 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
26012 position of `disk/lvm.c' to ensure grub_init_all() always picks it
26013 after the RAID stuff.
26014
38a0f8e7 260152009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
26016
50fb7002 26017 Fixes problem when running vbetest command as reported by
38a0f8e7 26018 Vladimir Serbinenko <phcoder@gmail.com>.
26019
26020 * (grub_vbe_set_video_mode): Fixed problem with text modes.
26021
3143cc1c 260222009-02-04 Felix Zielcke <fzielcke@z-51.de>
26023
26024 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
26025 /dev/md/NpN style mdraid devices.
26026
9cba6fce 260272009-02-03 Felix Zielcke <fzielcke@z-51.de>
26028
26029 * util/unifont2pff.rb: Remove.
26030
e507a2c1 260312009-02-03 Felix Zielcke <fzielcke@z-51.de>
26032
26033 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
26034 `#'.
26035
d2c2b4cd 260362009-02-03 Felix Zielcke <fzielcke@z-51.de>
26037
26038 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
26039 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
26040 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
26041 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
26042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26043 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26044 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
26045
b4315fb0 260462009-02-02 Christian Franke <franke@computer.org>
26047
26048 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
26049
de3aa260 260502009-02-01 Felix Zielcke <fzielcke@z-51.de>
26051
7c3ff286 26052 * INSTALL: Note that we now require at least autoconf 2.59 and
26053 that LZO is optional.
de3aa260 26054
825a182b 260552009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26056
26057 Base on patch on bug #24154 created by Tomas Tintera
26058 <trosos@seznam.cz>.
26059
26060 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
26061
a69ef770 260622009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
26063
7c3ff286 26064 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 26065 <bero@arklinux.org>.
26066
26067 * normal/parser.y (script_init): Add missing semicolon.
26068
6fa42fa6 260692009-01-31 Colin D Bennett <colin@gibibit.com>
26070
7c3ff286 26071 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 26072 (free_menu_entry_classes): Added.
26073 (grub_normal_menu_addentry): Added class property handling.
26074 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
26075 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
26076
26077 * normal/menu_viewer.c: New file.
26078
26079 * normal/menu.c (run_menu_entry): Renamed to ...
26080 (grub_menu_execute_entry): ... this and made it as global.
26081 (grub_menu_run): Renamed to ...
26082 (show_text_menu): ... this and made it local.
26083 (show_text_menu): Adapt to new function names.
26084 (grub_normal_terminal_menu_viewer): New global variable.
26085
26086 * include/grub/menu.h: New file.
26087
26088 * include/grub/menu_viewer.h: New file.
26089
26090 * include/grub/normal.h: Added include to grub/menu.h.
26091 (grub_menu_entry): Moved to include/grub/menu.h.
26092 (grub_menu_entry_t): Likewise.
26093 (grub_menu): Likewise.
26094 (grub_menu_t): Likewise.
26095 (grub_normal_terminal_menu_viewer): Added.
26096 (grub_menu_execute_entry): Likewise.
26097 (grub_menu_run): Removed.
26098
26099 * DISTLIST: Added include/grub/menu.h.
26100 Added include/grub/menu_viewer.h.
26101 Added normal/menu_viewer.c.
26102
261032009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
26104
26105 * normal/execute.c (grub_script_execute_menuentry): Changed to use
26106 arglist for menutitle arguments.
26107
26108 * normal/main.c (grub_normal_menu_addentry): Likewise.
26109
26110 * normal/parser.y (menuentry): Likewise.
26111
26112 * normal/script.c (grub_script_create_cmdmenu): Likewise.
26113
26114 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
26115 (grub_script_create_cmdmenu): Likewise.
26116
26117 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
26118
26119 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
26120 changes.
26121
26122 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
26123
26124 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
26125
26126 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
26127
26128 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26129
26130 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26131
26132 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
26133
56192c23 261342009-01-30 Christian Franke <franke@computer.org>
26135
26136 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
26137 in option help text.
26138
d72521b3 261392009-01-27 Pavel Roskin <proski@gnu.org>
26140
26141 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
26142
994b5e84 261432009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26144
26145 * commands/lsmmap.c: Add include to grub/machine/memory.h.
26146
26147 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
26148
26149 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
26150 unregister function.
26151
6a7eab2c 261522009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
26153
26154 * disk/scsi.c (grub_scsi_read): Fix sign problem.
26155
26156 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
26157
26158 * util/grub-mkfont.c (usage): Fix typo.
26159
26160 * util/elf/grub-mkimage.c (load_modules): Fix warning.
26161
1806b56e 261622009-01-26 Daniel Mierswa <impulze@impulze.org>
26163
3fb18f09 26164 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
26165
336e1fb9 26166 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
26167
1806b56e 26168 * kern/misc.c (grub_strcasecmp): New function.
26169 (grub_strcasecmp): Use grub_size_t instead of int for length.
26170 Fix return value.
26171 * include/grub/misc.h: Update function prototypes.
26172
580b2a0f 261732009-01-26 Robert Millan <rmh@aybabtu.com>
26174
26175 * configure.ac: Fix cross-compilation check.
ef257b36 26176
d31c24f1 261772009-01-22 Christian Franke <franke@computer.org>
26178
26179 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
26180 (precision) digit string. Allow `.format2' without `format1' (width).
26181 Limit input chars for `%s' output to `format2' if specified. This is
26182 compatible with standard printf ().
26183
3138b44c 261842009-01-22 Christian Franke <franke@computer.org>
26185
26186 * disk/ata.c (grub_ata_wait_status): Replace by ...
26187 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
26188 other status bits may be invalid while BSY is asserted.
26189 (grub_ata_check_ready): New function.
26190 (grub_ata_cmd): Removed.
26191 (grub_ata_wait_drq): New function.
26192 (grub_ata_strncpy): Remove inline.
26193 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
26194 and error check now done by grub_ata_wait_drq ().
26195 (grub_ata_pio_write): Likewise.
26196 (grub_atapi_identify): Set DEV before check for !BSY. Use
26197 grub_ata_wait_drq () to wait for data.
26198 (grub_ata_device_initialize): Add status register check to
26199 detect missing SATA slave devices. Add debug messages.
26200 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
26201 (grub_atapi_packet): Set DEV before check for !BSY. Replace
26202 transfer loop by grub_ata_pio_write ().
26203 (grub_ata_identify): Set DEV before check for !BSY. Use
26204 grub_ata_wait_drq () to wait for data.
ef257b36 26205 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 26206 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
26207 read/write in one loop. Fix invalid command on write. Fix incomplete
26208 command on (size % batch) == 0. Add missing error check after write of
26209 last block. Add debug messages.
26210 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
26211
59a64ef6 262122009-01-19 Christian Franke <franke@computer.org>
26213
26214 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
26215 (GRUB_ATAPI_IREASON_*): Likewise.
26216 (grub_ata_pio_write): Fix timeout error return.
26217 (grub_atapi_identify): Add grub_ata_wait () after cmd.
26218 (grub_atapi_wait_drq): New function.
26219 (grub_atapi_packet): New parameter `size'.
26220 Use grub_atapi_wait_drq () and direct write instead of
26221 grub_ata_pio_write ().
26222 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
26223 reads the number of bytes requested by the device for each DRQ
26224 assertion.
26225 (grub_atapi_write): Remove old implementation, return not
26226 implemented instead.
26227
1cfe20b3 262282009-01-19 Christian Franke <franke@computer.org>
26229
26230 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
26231 of 512 to calculate data size.
26232 (grub_scsi_read12): Likewise.
26233 (grub_scsi_write10): Likewise.
26234 (grub_scsi_write12): Likewise.
26235 (grub_scsi_read): Adjust size according to blocksize.
26236 Add checks for invalid blocksize and unaligned transfer.
26237
bee5fe5d 262382009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
26239
26240 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
26241
ef257b36 26242 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 26243 width glyphs.
26244
3e643f8c 262452009-01-19 Robert Millan <rmh@aybabtu.com>
26246
26247 * config.guess: Update to latest version from config git.
26248 * config.sub: Likewise.
26249
4fa80998 262502009-01-17 Felix Zielcke <fzielcke@z-51.de>
26251
26252 * Makefile.in: Change font compilation to use new grub-mkfont instead
26253 of java version.
26254
26255 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
26256 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
26257 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26258 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
26259 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
26260 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
26261 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
26262 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
26263 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26264
7086085b 262652009-01-16 Christian Franke <franke@computer.org>
26266
26267 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
26268 (enum grub_ata_timeout_milliseconds): New enum.
26269 (grub_ata_wait_status): Add parameter milliseconds.
26270 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
26271 recovery from timed-out commands.
26272 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
26273 return grub_errno instead of REG_ERROR.
26274 (grub_ata_pio_write): Add parameter milliseconds.
26275 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
26276 Pass milliseconds to grub_ata_wait_status () and
26277 grub_ata_pio_read ().
26278 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
26279 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
26280 grub_ata_wait_status (). Fix IDENTIFY timeout check.
26281 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
26282 It is not suitable for device detection, because DEV bit is ignored,
26283 the command may run too long, and not all devices set the signature
26284 properly.
26285 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
26286 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
26287 Fix device selection, DEV bit must be set first to address the registers
26288 of the correct device.
26289 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
26290 grub_ata_pio_read/write ().
26291 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
26292 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
26293
4a412913 262942009-01-13 Carles Pina i Estany <carles@pina.cat>
26295
26296 * util/grub-editenv.c (main): Use fseeko(), not fseek().
26297
7795c55e 262982009-01-13 Bean <bean123ch@gmail.com>
d913988c 26299
26300 * util/grub-mkfont.c (write_font): forget to remove some debug code.
26301
7795c55e 263022009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 26303
26304 * Makefile.in: (enable_grub_mkfont): New variable.
26305 (freetype_cflags): Likewise.
26306 (freetype_libs): Likewise.
26307
26308 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
26309 (grub_mkfont_SOURCES): New variable.
26310 (grub_mkfont_CFLAGS): Likewise.
26311 (grub_mkfont_LDFLAGS): Likewise.
26312
26313 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
26314 library if `--enable-grub-mkfont' is requested.
26315 (enable_grub_mkfont): New variable.
26316 (freetype_cflags): Likewise.
26317 (freetype_libs): Likewise.
26318
26319 * util/grub-mkfont.c: New file.
26320
093af1fe 263212009-01-12 Christian Franke <franke@computer.org>
26322
26323 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
26324 mode check. Fix setting of compat_use[].
26325
f36cc108 263262009-01-10 Robert Millan <rmh@aybabtu.com>
26327
26328 Update a few copyright years which we forgot to do in 2008 (only for
26329 files whose changes made in 2008 were copyright-significant)
26330
26331 * Makefile.in: Add 2008 to Copyright line.
26332 * disk/ieee1275/ofdisk.c: Likewise.
26333 * disk/efi/efidisk.c: Likewise.
26334 * kern/dl.c: Likewise.
26335 * kern/sparc64/ieee1275/init.c: Likewise.
26336 * kern/mm.c: Likewise.
26337 * kern/efi/mm.c: Likewise.
26338 * boot/i386/pc/boot.S: Likewise.
26339 * genfslist.sh: Likewise.
26340 * fs/iso9660.c: Likewise.
26341 * fs/hfs.c: Likewise.
26342 * fs/jfs.c: Likewise.
26343 * fs/minix.c: Likewise.
26344 * fs/ufs.c: Likewise.
26345 * gensymlist.sh.in: Likewise.
26346 * genkernsyms.sh.in: Likewise.
26347 * include/grub/misc.h: Likewise.
26348 * include/grub/types.h: Likewise.
26349 * include/grub/symbol.h: Likewise.
26350 * include/grub/elf.h: Likewise.
26351 * include/grub/kernel.h: Likewise.
26352 * include/grub/disk.h: Likewise.
26353 * include/grub/dl.h: Likewise.
26354 * include/grub/i386/linux.h: Likewise.
26355 * include/grub/i386/pc/biosdisk.h: Likewise.
26356 * include/grub/efi/api.h: Likewise.
26357 * include/grub/efi/pe32.h: Likewise.
26358 * include/grub/util/misc.h: Likewise.
26359 * normal/execute.c: Likewise.
26360 * normal/arg.c: Likewise.
26361 * normal/completion.c: Likewise.
26362 * normal/lexer.c: Likewise.
26363 * normal/parser.y: Likewise.
26364 * normal/misc.c: Likewise.
26365 * commands/i386/pc/vbeinfo.c: Likewise.
26366 * commands/hexdump.c: Likewise.
26367 * commands/terminal.c: Likewise.
26368 * commands/ls.c: Likewise.
26369 * commands/help.c: Likewise.
26370 * partmap/pc.c: Likewise.
26371 * loader/efi/chainloader.c: Likewise.
26372 * loader/multiboot_loader.c: Likewise.
26373 * loader/i386/pc/multiboot2.c: Likewise.
26374 * term/efi/console.c: Likewise.
26375 * term/i386/pc/serial.c: Likewise.
26376 * util/lvm.c: Likewise.
26377 * util/console.c: Likewise.
26378 * util/i386/efi/grub-mkimage.c: Likewise.
26379 * util/raid.c: Likewise.
26380
7f02114b 263812009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
26382
26383 * commands/videotest.c: Removed include to grub/machine/memory.h.
26384
26385 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
26386 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
26387 (video_mod_SOURCES): Removed.
26388 (video_mod_CFLAGS): Likewise.
26389 (video_mod_LDFLAGS): Likewise.
26390 (gfxterm_mod_SOURCES): Likewise.
26391 (gfxterm_mod_CFLAGS): Likewise.
26392 (gfxterm_mod_LDFLAGS): Likewise.
26393 (videotest_mod_SOURCES): Likewise.
26394 (videotest_mod_CFLAGS): Likewise.
26395 (videotest_mod_LDFLAGS): Likewise.
26396 (bitmap_mod_SOURCES): Likewise.
26397 (bitmap_mod_CFLAGS): Likewise.
26398 (bitmap_mod_LDFLAGS): Likewise.
26399 (tga_mod_SOURCES): Likewise.
26400 (tga_mod_CFLAGS): Likewise.
26401 (tga_mod_LDFLAGS): Likewise.
26402 (jpeg_mod_SOURCES): Likewise.
26403 (jpeg_mod_CFLAGS): Likewise.
26404 (jpeg_mod_LDFLAGS): Likewise.
26405 (png_mod_SOURCES): Likewise.
26406 (png_mod_CFLAGS): Likewise.
26407 (png_mod_LDFLAGS): Likewise.
26408
26409 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
26410 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
26411 (video_mod_SOURCES): Added.
26412 (video_mod_CFLAGS): Likewise.
26413 (video_mod_LDFLAGS): Likewise.
26414 (videotest_mod_SOURCES): Likewise.
26415 (videotest_mod_CFLAGS): Likewise.
26416 (videotest_mod_LDFLAGS): Likewise.
26417 (bitmap_mod_SOURCES): Likewise.
26418 (bitmap_mod_CFLAGS): Likewise.
26419 (bitmap_mod_LDFLAGS): Likewise.
26420 (tga_mod_SOURCES): Likewise.
26421 (tga_mod_CFLAGS): Likewise.
26422 (tga_mod_LDFLAGS): Likewise.
26423 (jpeg_mod_SOURCES): Likewise.
26424 (jpeg_mod_CFLAGS): Likewise.
26425 (jpeg_mod_LDFLAGS): Likewise.
26426 (png_mod_SOURCES): Likewise.
26427 (png_mod_CFLAGS): Likewise.
26428 (png_mod_LDFLAGS): Likewise.
26429 (gfxterm_mod_SOURCES): Likewise.
26430 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 26431 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 26432
26433 * term/gfxterm.c: Removed include to grub/machine/memory.h,
26434 grub/machine/console.h.
26435
644fff97 264362009-01-04 Jerone Young <jerone@gmail.com>
26437
26438 Make on screen instructions clearer
26439
26440 Based on patch created by Jidanni <jidanni@jidanni.org>
26441
26442 * normal/menu.c: print clearer instructions on the screen
26443
1e901a75 264442009-01-02 Colin D Bennett <colin@gibibit.com>
26445
26446 New font engine.
34c44600 26447
1e901a75 26448 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
26449 build system and fixed gfxterm.c to work with different sized fonts.
26450
26451 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 26452
1e901a75 26453 * configure: Re-generated.
34c44600 26454
1e901a75 26455 * DISTLIST: Removed font/manager.c.
26456 Added font/font.c.
26457 Added font/font_cmd.c.
34c44600 26458
1e901a75 26459 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
26460 compilation.
34c44600 26461
1e901a75 26462 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 26463
26464 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 26465
26466 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 26467
1e901a75 26468 * normal/menu.c: Likewise.
34c44600 26469
1e901a75 26470 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
26471 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 26472
1e901a75 26473 * include/grub/font.h: Replaced with new file.
34c44600 26474
1e901a75 26475 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
26476 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
26477 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
26478 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
26479 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 26480 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 26481 fg_red, fg_green, fg_blue, fg_alpha.
26482 (grub_video_adapter): Removed blit_glyph.
34c44600 26483 (grub_video_blit_glyph): Removed.
26484
1e901a75 26485 * font/manager.c: Removed file.
34c44600 26486
26487 * font/font.c: New file.
26488
1e901a75 26489 * font/font_cmd.c: Likewise.
34c44600 26490
1e901a75 26491 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 26492
1e901a75 26493 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
26494 (grub_video_vbe_map_rgba): Likewise.
26495 (grub_video_vbe_unmap_color_int): Likewise.
26496 (grub_video_vbe_blit_glyph): Removed.
26497 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 26498
1e901a75 26499 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
26500 (get_pixel): Likewise.
34c44600 26501 (set_pixel): Likewise.
26502
1e901a75 26503 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 26504
1e901a75 26505 * term/gfxterm.c: Adapted to new font engine.
34c44600 26506
1e901a75 26507 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 26508
1e901a75 26509 * term/i386/pc/vga.c: Likewise.
34c44600 26510
1e901a75 26511 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 26512
1e901a75 26513 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 26514
1e901a75 26515 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26516
1e901a75 26517 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 26518
1e901a75 26519 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 26520
1e901a75 26521 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 26522
1e901a75 26523 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 26524
1e901a75 26525 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 26526
1e901a75 26527 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
26528
26529 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 26530
1e901a75 26531 * util/grub-mkconfig_lib.in: Changed font extension.
26532
278922e8 265332008-12-28 Felix Zielcke <fzielcke@z-51.de>
26534
26535 * util/getroot.c (grub_util_get_grub_dev): Add support for
26536 /dev/md/dNNpNN style partitionable mdraid devices.
26537
3ced05cf 265382008-12-12 Alex Smith <alex@alex-smith.me.uk>
26539
26540 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
26541 at a time limit of the PXE TFTP API correctly.
26542 (grub_pxefs_close): Likewise.
26543
7fd0ee30 265442008-11-29 Robert Millan <rmh@aybabtu.com>
26545
34c44600 26546 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 26547 grub_ata_device_initialize() calls.
26548
34c44600 265492008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 26550
26551 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
26552 iteration failed.
26553 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
26554
89313780 265552008-11-28 Robert Millan <rmh@aybabtu.com>
26556
26557 Fix build on powerpc-ieee1275. Based on patch created by
26558 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
26559 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
26560 `kern/ieee1275/mmap.c'.
26561 * include/grub/powerpc/ieee1275/memory.h: New file.
26562
15257703 26563 Provide grub-install on coreboot.
26564 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
26565 (grub_install_SOURCES): New variable.
26566 * util/i386/pc/grub-install.in: Add a few condition checks to make it
26567 usable on coreboot.
26568
9fc5388a 265692008-11-25 Felix Zielcke <fzielcke@z-51.de>
26570
26571 * util/grub-fstest.c (grub_term_get_current_input): Change return type
26572 to `grub_term_input_t'.
26573 (grub_term_get_current_output): Change return type to
26574 `grub_term_output_t'.
26575
bc3a2f31 265762008-11-22 Robert Millan <rmh@aybabtu.com>
26577
34c44600 26578 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 26579 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
26580 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
26581 grub_vga_text_cls().
26582
80fc88f2 26583 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 26584 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 26585
cbf36fd3 26586 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
26587 to 0x200000 (avoids trouble with some OFW implementations, and matches
26588 with the one in Yaboot).
26589 Reported by Manoel Abranches
26590
73e8e268 265912008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 26592
26593 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
26594 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
26595
73e8e268 26596 * util/grub-mkconfig_lib.in (grub_warn): New function.
26597 (convert_system_path_to_grub_path): Use grub_warn() when issuing
26598 warnings, to obtain consistent formatting.
26599 * util/grub.d/00_header.in: Likewise.
26600 * util/update-grub_lib.in: Likewise.
26601
e94045a1 26602 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 26603 Move comment text to `#error' stanza.
e94045a1 26604
79d29fd7 26605 Harmonize ieee1275's grub_available_iterate() with the generic
26606 grub_machine_mmap_iterate() interface (fixes a recently-introduced
26607 build problem on i386-ieee1275):
26608 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
26609 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
26610 parameter `type'. Update all users of this function.
26611 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
26612 `kern/ieee1275/mmap.c'.
26613 * kern/ieee1275/init.c
26614 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
26615 with ...
26616 (grub_machine_mmap_iterate): ... this.
26617 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
26618 return type to `grub_err_t'. Update all implementations of this
26619 function prototype.
26620 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
26621 Likewise.
26622
60d6b16e 26623 Add `lsmmap' command (lists firmware-provided memory map):
26624 * commands/lsmmap.c: New file.
26625 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
26626 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
26627 variables.
26628 * conf/powerpc-ieee1275.rmk: Likewise.
26629 * conf/i386-coreboot.rmk: Likewise.
26630 * conf/i386-ieee1275.rmk: Likewise.
26631
ebaaf49b 266322008-11-19 Robert Millan <rmh@aybabtu.com>
26633
26634 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 26635 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
26636 constraints to initrd allocation (based on code from
26637 loader/i386/pc/linux.c). Without them, initrd was allocated too high
26638 for Linux to find it.
ebaaf49b 26639
dfab719f 266402008-11-14 Robert Millan <rmh@aybabtu.com>
26641
26642 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
26643 order to cope with duplicate slashes.
26644
10fc3eb9 266452008-11-14 Robert Millan <rmh@aybabtu.com>
26646
26647 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
26648 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
26649 don't want to mess with lower memory, because it is used in the Linux
26650 loader.
26651
26652 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 26653 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 26654 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
26655 is in our heap (probably as a result of it being corrupted during
2f2a3442 26656 decompression). Add #error instance with comment to explain why this
26657 loader isn't currently usable on PC/BIOS.
10fc3eb9 26658
e2e07847 266592008-11-14 Robert Millan <rmh@aybabtu.com>
26660
26661 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 26662 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 26663
fe8e8d69 266642008-11-12 Robert Millan <rmh@aybabtu.com>
26665
26666 Make loader/i386/linux.c buildable on i386-pc (although disabled).
26667
26668 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
26669 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
26670 from here ...
26671 * include/grub/i386/pc/memory.h: ... to here.
26672
976b07d0 266732008-11-12 Robert Millan <rmh@aybabtu.com>
26674
26675 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
26676 split).
26677
26678 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
26679 (grub_console_cur_color, grub_console_real_putchar)
26680 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26681 (grub_console_setcolorstate, grub_console_setcolor)
26682 (grub_console_getcolor): Move from here ...
26683 * include/grub/i386/vga_common.h: ... to here (new file).
26684
26685 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
26686 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
26687 `<grub/i386/io.h>'.
26688 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
26689 `<grub/i386/vga_common.h>'.
26690
76679cd3 266912008-11-12 Robert Millan <rmh@aybabtu.com>
26692
26693 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
26694 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
26695 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
26696 variables.
26697 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26698 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
26699
26700 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
26701 grub_console_init() with call to grub_vga_text_init().
26702 (grub_machine_fini): Replace call to
26703 grub_console_fini() with call to grub_vga_text_fini() and
26704 grub_at_keyboard_fini().
26705
26706 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
26707 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
26708 (grub_console_setcolorstate, grub_console_setcolor)
26709 (grub_console_getcolor): New function prototypes.
26710
26711 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
26712 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
26713 (grub_vga_text_setcursor): Static-ize.
26714 (grub_vga_text_term): New structure.
26715 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
26716
26717 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
26718 (grub_console_cur_color, grub_console_standard_color)
26719 (grub_console_normal_color, grub_console_highlight_color)
26720 (map_char, grub_console_putchar, grub_console_getcharwidth)
26721 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
26722 (grub_console_getcolor): Move from here ...
26723 * term/i386/vga_common.c: ... to here (same function names).
26724
95b841d3 267252008-11-12 Robert Millan <rmh@aybabtu.com>
26726
26727 Use newly-added Multiboot support in coreboot.
26728
26729 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
26730 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
26731
26732 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
26733 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
26734 (codestart): Store the MBI in `startup_multiboot_info' when we're
26735 being loaded using Multiboot.
26736
26737 * kern/i386/coreboot/init.c (grub_machine_init): Move
26738 grub_at_keyboard_init() call to beginning of function (useful for
26739 debugging). Call grub_machine_mmap_init() before attempting to use
26740 grub_machine_mmap_iterate().
26741 (grub_lower_mem, grub_upper_mem): Move from here ...
26742 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
26743 here (new file).
26744
26745 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
26746 function prototype.
26747
761ca975 267482008-11-12 Robert Millan <rmh@aybabtu.com>
26749
26750 Fix a regression introduced by the at_keyboard.mod split. Because
26751 some terminals are default on some platforms and non-default on
26752 others, the first terminal being registered determines which is
26753 going to be default.
26754
26755 * kern/term.c (grub_term_register_input): If this is the first
26756 terminal being registered, set it as the current one.
26757 (grub_term_register_output): Likewise.
26758
26759 * term/efi/console.c (grub_console_init): Do not call
26760 grub_term_set_current_output() or grub_term_set_current_input().
26761 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
26762 * term/i386/pc/console.c (grub_console_init): Likewise.
26763 (grub_console_fini): Do not call grub_term_set_current_input()
26764 (but leave grub_term_set_current_output() to restore text mode).
26765
6c529df7 267662008-11-10 Robert Millan <rmh@aybabtu.com>
26767
26768 * util/grub.d/00_header.in: Add backward compatibility check for
26769 versions of terminal.mod that don't understand `terminal_input' or
26770 `terminal_output'.
26771
132e4113 267722008-11-09 Robert Millan <rmh@aybabtu.com>
26773
26774 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
26775 `terminal_input' / `terminal_output', not `terminal'.
26776
ac293d50 267772008-11-08 Robert Millan <rmh@aybabtu.com>
26778
26779 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 26780 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 26781
0025933a 267822008-11-08 Robert Millan <rmh@aybabtu.com>
26783
26784 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 26785 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 26786 members. Update all users.
26787 * util/console.c (grub_ncurses_term): Split in ...
26788 (grub_ncurses_term_input): ... this, and ...
26789 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 26790 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 26791
37c86336 267922008-11-08 Robert Millan <rmh@aybabtu.com>
26793
26794 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
26795 (PKGDATA): Add $(pkgdata_SRCDIR).
26796 (pkglib_BUILDDIR): New variable.
26797 (pkgdata_SRCDIR): New variable.
26798 (build_env.mk): New target.
26799 (include_DATA): New variable.
26800 (install-local): Install $(include_DATA) files in $(includedir).
26801
b6c15a2d 268022008-11-07 Pavel Roskin <proski@gnu.org>
26803
d99d46f1 26804 * gendistlist.sh: Use C locale for sorting to ensure consistent
26805 output on all systems.
26806
b6c15a2d 26807 * util/grub.d/00_header.in: Remove incorrect space before
26808 "serial".
26809
c32ee8c9 268102008-11-07 Robert Millan <rmh@aybabtu.com>
26811
26812 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
26813 per specification.
26814 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
26815 * loader/multiboot_loader.c (find_multi_boot2_header): New function
26816 (based on find_multi_boot1_header).
26817 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
26818 using find_multi_boot2_header(), and abort if neither Multiboot or
26819 Multiboot headers were found.
26820
651c29b7 268212008-11-07 Robert Millan <rmh@aybabtu.com>
26822
26823 Modularize at_keyboard.mod:
26824
26825 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
26826 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
26827 (at_keyboard_mod_LDFLAGS): New variables.
26828
26829 Actual terminal split:
26830
26831 * include/grub/term.h (struct grub_term): Split in ...
26832 (struct grub_term_input): ... this, and ...
26833 (struct grub_term_output): ... this. Update all users.
26834 (grub_term_set_current): Split in ...
26835 (grub_term_set_current_input): ... this, and ...
26836 (grub_term_set_current_output): ... this.
26837 (grub_term_get_current): Split in ...
26838 (grub_term_get_current_input): ... this, and ...
26839 (grub_term_get_current_output): ... this.
26840 (grub_term_register): Split in ...
26841 (grub_term_register_input): ... this, and ...
26842 (grub_term_register_output): ... this.
26843 (grub_term_unregister): Split in ...
26844 (grub_term_unregister_input): ... this, and ...
26845 (grub_term_unregister_output): ... this.
26846 (grub_term_iterate): Split in ...
26847 (grub_term_iterate_input): ... this, and ...
26848 (grub_term_iterate_output): ... this.
26849
26850 * kern/term.c (grub_term_list): Split in ...
26851 (grub_term_list_input): ... this, and ...
26852 (grub_term_list_output): ... this. Update all users.
26853 (grub_cur_term): Split in ...
26854 (grub_cur_term_input): ... this, and ...
26855 (grub_cur_term_output): ... this. Update all users.
26856 (grub_term_set_current): Split in ...
26857 (grub_term_set_current_input): ... this, and ...
26858 (grub_term_set_current_output): ... this.
26859 (grub_term_get_current): Split in ...
26860 (grub_term_get_current_input): ... this, and ...
26861 (grub_term_get_current_output): ... this.
26862 (grub_term_register): Split in ...
26863 (grub_term_register_input): ... this, and ...
26864 (grub_term_register_output): ... this.
26865 (grub_term_unregister): Split in ...
26866 (grub_term_unregister_input): ... this, and ...
26867 (grub_term_unregister_output): ... this.
26868 (grub_term_iterate): Split in ...
26869 (grub_term_iterate_input): ... this, and ...
26870 (grub_term_iterate_output): ... this.
26871
26872 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
26873 a check for input and one for output (and only attempt to get keys
26874 from user when input works).
26875
26876 * util/grub-probe.c (grub_term_get_current): Split in ...
26877 (grub_term_get_current_input): ... this, and ...
26878 (grub_term_get_current_output): ... this.
26879 * util/grub-fstest.c: Likewise.
26880 * util/i386/pc/grub-setup.c: Likewise.
26881 * util/grub-editenv.c: Likewise.
26882
26883 Portability adjustments:
26884
26885 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
26886 `term/i386/pc/at_keyboard.c'.
26887 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
26888 grub_keyboard_controller_init() (now handled by terminal .init).
26889 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
26890 grub_at_keyboard_init().
26891 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
26892 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
26893 at_keyboard.mod via input terminal interface).
26894 * include/grub/i386/coreboot/console.h: Convert into a stub for
26895 `<grub/i386/pc/console.h>'.
26896
26897 Migrate full terminals to new API:
26898
26899 * term/efi/console.c (grub_console_term): Split into ...
26900 (grub_console_term_input): ... this, and ...
26901 (grub_console_term_output): ... this. Update all users.
26902 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
26903 (grub_ofconsole_init): Split into ...
26904 (grub_ofconsole_init_input): ... this, and ...
26905 (grub_ofconsole_init_output): ... this.
26906 (grub_ofconsole_term): Split into ...
26907 (grub_ofconsole_term_input): ... this, and ...
26908 (grub_ofconsole_term_output): ... this. Update all users.
26909 * term/i386/pc/serial.c (grub_serial_term): Split into ...
26910 (grub_serial_term_input): ... this, and ...
26911 (grub_serial_term_output): ... this. Update all users.
26912 * term/i386/pc/console.c (grub_console_term): Split into ...
26913 (grub_console_term_input): ... this, and ...
26914 (grub_console_term_output): ... this. Update all users.
26915 (grub_console_term_input): Only enable it on PC/BIOS platform.
26916 (grub_console_init): Remove grub_keyboard_controller_init() call.
26917
26918 Migrate input terminals to new API:
26919
26920 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
26921 `i386' and `i386/pc' to enable build on x86_64 (this driver is
26922 i386-specific anyway).
26923 (grub_console_checkkey): Rename to ...
26924 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
26925 users.
26926 (grub_keyboard_controller_orig): New variable.
26927 (grub_console_getkey): Rename to ...
26928 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
26929 users.
26930 (grub_keyboard_controller_init): Static-ize. Save original
26931 controller value so that it can be restored ...
26932 (grub_keyboard_controller_fini): ... here (new function).
26933 (grub_at_keyboard_term): New structure.
26934 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
26935 functions.
26936
26937 Migrate output terminals to new API:
26938
26939 * term/i386/pc/vga.c (grub_vga_term): Change type to
26940 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26941 members. Update all users.
26942 * term/gfxterm.c (grub_video_term): Change type to
26943 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
26944 members. Update all users.
26945 * include/grub/i386/pc/console.h (grub_console_checkkey)
26946 (grub_console_getkey): Do not export (no longer needed by gfxterm,
26947 etc).
26948
26949 Migrate `terminal' command and userland tools to new API:
26950
26951 * commands/terminal.c (grub_cmd_terminal): Split into ...
26952 (grub_cmd_terminal_input): ... this, and ...
26953 (grub_cmd_terminal_output): ... this.
26954 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
26955 `terminal_input' and `terminal_output'.
26956 * util/grub.d/00_header.in: Adjust `terminal' calls to new
26957 `terminal_input' / `terminal_output' API.
26958 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
26959 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
26960 provided ${GRUB_TERMINAL}, convert it).
26961
96e5d876 269622008-11-04 Robert Millan <rmh@aybabtu.com>
26963
26964 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
26965 for FreeBSD.
26966 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
26967
556f3775 269682008-11-03 Bean <bean123ch@gmail.com>
26969
26970 * kern/elf.c (grub_elf32_load): Revert to previous code.
26971 (grub_elf64_load): Likewise.
26972
26973 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
26974
926b9823 269752008-11-01 Robert Millan <rmh@aybabtu.com>
26976
26977 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
26978 (TARGET_CPPFLAGS): Likewise.
26979 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
26980
1432e958 269812008-11-01 Carles Pina i Estany <carles@pina.cat>
26982
26983 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
26984
dba3f844 269852008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 26986
26987 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
26988 addition of objects until the code is not going to be able to fail.
26989
dba3f844 269902008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 26991
26992 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
26993 (add a missing NULL check, and correct them by moving the pointer
26994 operations after the actual check).
26995
7ab28c21 269962008-10-29 Robert Millan <rmh@aybabtu.com>
26997
26998 * util/i386/pc/grub-install.in: Handle empty string as output from
26999 make_system_path_relative_to_its_root().
27000
1b7748eb 270012008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
27002
27003 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
27004 circular metadata worst case scenario. If the metadata is circular
27005 then copy the wrap in place.
27006 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
27007 project lib/format_text/layout.h
27008 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
27009
c9618ab2 270102008-10-03 Felix Zielcke <fzielcke@z-51.de>
27011
7a36edca 27012 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 27013
bf981c62 270142008-10-03 Felix Zielcke <fzielcke@z-51.de>
27015
27016 * util/update-grub_lib.in: Mention filename in warning message.
27017
6d994591 270182008-09-29 Felix Zielcke <fzielcke@z-51.de>
27019
27020 * NEWS: Update for rename of update-grub to grub-mkconfig.
27021
18ade780 270222008-09-29 Felix Zielcke <fzielcke@z-51.de>
27023
27024 * util/update-grub_lib.in: Copy to ...
27025 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 27026 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 27027 * util/update-grub.in: Rename to ...
27028 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
27029 option. Add `--output' option to allow users to specify the generated
27030 configuration file. Default to stdout.
27031 (update_grub_dir): Rename to ...
27032 (grub_mkconfig_dir): ... this.
27033 (grub_cfg): Default to an empty string.
27034 * conf/common.rmk (update-grub): Rename to ...
27035 (grub-mkconfig): ... this.
27036 (update-grub_lib): Copy to ...
27037 (grub-mkconfig_lib): ... this.
27038 (update-grub_SCRIPTS): Copy to ...
27039 (grub-mkconfig_SCRIPTS): ... this. Update all users.
27040 (update-grub_DATA): Rename to ...
27041 (grub-mkconfig_DATA): ... this.
27042
556ce6ac 270432008-09-28 Robert Millan <rmh@aybabtu.com>
27044
27045 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
27046 to `modified'. Add the real `created' field.
27047 (grub_iso9660_uuid): Use `modified' rather than `created' for
27048 constructing the UUID.
27049
270502008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 27051
27052 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
27053 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
27054
92274e85 270552008-09-28 Bean <bean123ch@gmail.com>
27056
27057 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
27058 Thanks to Christian Franke for finding this bug.
27059
add6f17a 270602008-09-25 Robert Millan <rmh@aybabtu.com>
27061
27062 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
27063 instances of grub_util_get_disk_name() (see previous commit).
27064
d2a367b8 270652008-09-25 Robert Millan <rmh@aybabtu.com>
27066
27067 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
27068 `util/i386/get_disk_name.c'.
27069 * conf/i386-efi.rmk: Likewise.
27070 * conf/x86_64-efi.rmk: Likewise.
27071 * conf/i386-coreboot.rmk: Likewise.
27072 * conf/i386-ieee1275.rmk: Likewise.
27073 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
27074 `util/ieee1275/get_disk_name.c'.
27075 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
27076 * util/ieee1275/get_disk_name.c: Remove file.
27077 * util/i386/get_disk_name.c: Remove file.
27078 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
27079 "hd%d" for device.map entries, rather than using
27080 grub_util_get_disk_name().
27081
81a06771 270822008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 27083
27084 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
27085 warning.
27086 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
27087
5a004279 270882008-09-24 Carles Pina i Estany <carles@pina.cat>
27089
27090 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
27091 Changed to 0x5100.
27092 (GRUB_TERM_PPAGE): Changed to 0x4900.
27093
397093d3 270942008-09-24 Robert Millan <rmh@aybabtu.com>
27095
27096 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
27097 macros (they were i386-pc specific).
27098 * include/grub/sparc64/ieee1275/console.h: Likewise.
27099 * include/grub/efi/console.h: Likewise.
27100
a91b6c7c 271012008-09-22 Bean <bean123ch@gmail.com>
27102
27103 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
27104 resident and in attribute list.
27105
27106 * include/grub/ntfs.h (BMP_LEN): Removed.
27107
c40fd116 271082008-09-22 Bean <bean123ch@gmail.com>
27109
81a06771 27110 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 27111 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
27112
27113 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
27114 error occurs, as grub_disk_open will call grub_disk_close, which will
27115 call p->close (scsi).
27116
81a06771 271172008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 27118
27119 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
27120 (AC_PREREQ): Bumped to 2.59.
27121 (AC_TRY_COMPILE): Replace obsolete macro with ...
27122 (AC_COMPILE_IFELSE): ... this.
27123 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
27124 (AC_LINK_IFELSE): ... this.
27125
5dc43410 271262008-09-21 Felix Zielcke <fzielcke@z-51.de>
27127
27128 * autogen.sh: Add a call to `gendistlist.sh'.
27129
9035dce4 271302008-09-19 Christian Franke <franke@computer.org>
27131
27132 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
27133 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
27134 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
27135 Export __enable_execute_stack() to modules.
27136 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
27137 New function.
27138
7fd75377 271392008-09-09 Felix Zielcke <fzielcke@z-51.de>
27140
040030b3 27141 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
27142 Sort the list.
27143
271442008-09-09 Felix Zielcke <fzielcke@z-51.de>
27145
27146 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 27147 #include <grub/util/hostdisk.h>.
27148
89d5ffcf 271492008-09-08 Robert Millan <rmh@aybabtu.com>
27150
27151 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
27152 segments when their filesz is zero (grub_file_read() interprets
81a06771 27153 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 27154 Use `lowest_segment' rather than 0 for calculating the current
27155 segment load address.
27156
40da438f 271572008-09-08 Robert Millan <rmh@aybabtu.com>
27158
27159 * util/hostdisk.c (open_device): Replace a grub_util_info() call
27160 with grub_dprintf("hostdisk", ...), as it was so verbose that it
27161 clobbered useful information.
27162
ddbf5556 271632008-09-08 Robert Millan <rmh@aybabtu.com>
27164
27165 * include/grub/util/biosdisk.h: Move to ...
27166 * include/grub/util/hostdisk.h: ... here. Update all users.
27167 * util/biosdisk.c: Move to ...
27168 * util/hostdisk.c: ... here. Update all users.
27169
783d0f48 271702008-09-07 Robert Millan <rmh@aybabtu.com>
27171
27172 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
27173 variables.
27174 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
27175 and length can be stored directly in the `mbi->mmap_addr' and
27176 `mbi->mmap_length' struct fields.
27177
548e2ea5 271782008-09-07 Robert Millan <rmh@aybabtu.com>
27179
27180 * conf/i386.rmk: New file. Provides declaration for building
27181 `cpuid.mod'.
27182 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
27183 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
27184 variables.
27185 Include `conf/i386.mk'.
27186 * conf/i386-efi.rmk: Likewise.
27187 * conf/x86_64-efi.rmk: Likewise.
27188 * conf/i386-coreboot.rmk: Likewise.
27189 * conf/i386-ieee1275.rmk: Likewise.
27190
0ea85a37 271912008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
27192
27193 Based on patch created by Colin D Bennett <colin@gibibit.com>.
27194 Adds optimization support for BGR based modes.
27195
27196 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
27197 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27198 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27199 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27200 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27201 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27202 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27203 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27204 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27205 (grub_video_i386_vbeblit_index_index): Likewise.
27206 (grub_video_i386_vbeblit_replace_directN): Added.
27207 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27208 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27209 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27210 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27211 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27212 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 27213 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 27214 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27215 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27216 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27217 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27218 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27219 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
27220
27221 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
27222 (grub_video_i386_vbefill_R8G8B8): Likewise.
27223 (grub_video_i386_vbefill_index): Likewise.
27224 (grub_video_i386_vbefill_direct32): Added.
27225 (grub_video_i386_vbefill_direct24): Likewise.
27226 (grub_video_i386_vbefill_direct16): Likewise.
27227 (grub_video_i386_vbefill_direct8): Likewise.
27228
81a06771 27229 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 27230 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
27231 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
27232 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
27233 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
27234 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 27235
0ea85a37 27236 * video/video.c (grub_video_get_blit_format): Updated to use new
27237 blit formats. Added handling for 16 bit color modes.
81a06771 27238
27239 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 27240 fillers.
27241 (common_blitter): Updated to use new blitters.
27242
27243 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
27244 Removed.
27245 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
27246 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
27247 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
27248 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
27249 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
27250 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
27251 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
27252 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
27253 (grub_video_i386_vbeblit_index_index): Likewise.
27254 (grub_video_i386_vbeblit_replace_directN): Added.
27255 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
27256 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
27257 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
27258 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
27259 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
27260 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
27261 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
27262 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
27263 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
27264 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
27265 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
27266 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
27267 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 27268
0ea85a37 27269 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
27270 (grub_video_i386_vbefill_R8G8B8): Likewise.
27271 (grub_video_i386_vbefill_index): Likewise.
27272 (grub_video_i386_vbefill_direct32): Added.
27273 (grub_video_i386_vbefill_direct24): Likewise.
27274 (grub_video_i386_vbefill_direct16): Likewise.
27275 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 27276
0ea85a37 27277 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
27278 types.
81a06771 27279
0ea85a37 27280 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
27281 types.
81a06771 27282
0ea85a37 27283 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
27284 blitter types.
81a06771 27285
0ea85a37 27286 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
27287 types.
27288
e8a83df6 272892008-09-06 Felix Zielcke <fzielcke@z-51.de>
27290
27291 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
27292 RAID level 1.
27293
6bcd8ee5 272942008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 27295
6bcd8ee5 27296 * fs/iso9660.c (grub_iso9660_date): New structure.
27297 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
27298 (grub_iso9660_uuid): New function.
c375ae58 27299
59261157 273002008-09-05 Bean <bean123ch@gmail.com>
27301
27302 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
27303
27304 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
27305 insensitive bit for names in Win32 and Win32 & DOS namespace.
27306
27307 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
27308
27309 * include/grub/types.h (LONG_MAX): Likewise.
27310
58b6645a 273112008-09-04 Felix Zielcke <fzielcke@z-51.de>
27312
4ee55921 27313 * util/getroot.c: Include <config.h>.
27314 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
27315 add support for /dev/md/N devices and handle LVM double dash escaping.
27316
273172008-09-04 Felix Zielcke <fzielcke@z-51.de>
27318
27319 * config.guess: Update to latest version from config git.
27320 * config.sub: Likewise.
58b6645a 27321
9124f65d 273222008-09-03 Robert Millan <rmh@aybabtu.com>
27323
27324 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
27325 `disk->total_sectors'.
27326
81a06771 273272008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 27328
27329 * include/grub/normal.h: Fixed incorrect comment for
27330 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
27331
81a06771 273322008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 27333
27334 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
27335 values with defines.
27336
27337 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
27338 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
27339 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
27340 (GRUB_VBE_MODEATTR_COLOR): Likewise.
27341 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
27342 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
27343 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
27344 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
27345 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
27346 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
27347 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
27348 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
27349 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
27350 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
27351 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
27352 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
27353 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
27354 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
27355 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
27356
93d5cbf8 273572008-08-31 Robert Millan <rmh@aybabtu.com>
27358
27359 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
27360 declaration.
27361 (grub_multiboot): Fix a few warnings.
27362
21751d50 273632008-08-31 Robert Millan <rmh@aybabtu.com>
27364
27365 * loader/i386/pc/multiboot.c: Update comment not to say that
27366 boot_device support is unimplemented.
27367
e27a75c5 273682008-08-31 Robert Millan <rmh@aybabtu.com>
27369
27370 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
27371 or memory map support are unimplemented.
27372
81a06771 273732008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 27374
27375 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
27376
81a06771 273772008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 27378
27379 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
27380 total video memory in 'vbeinfo' output; show color format details for
27381 each video mode.
27382
7c5d8d95 273832008-08-30 Pavel Roskin <proski@gnu.org>
27384
27385 * util/genmoddep.c: Remove for real this time.
27386 * DISTLIST: Remove util/genmoddep.c.
27387
4cebd25a 273882008-08-30 Robert Millan <rmh@aybabtu.com>
27389
27390 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
27391 as required by Multiboot spec (it was already 4-byte aligned, but
27392 only by chance).
27393
b497a269 273942008-08-29 Pavel Roskin <proski@gnu.org>
27395
e3925185 27396 * kern/powerpc/ieee1275/crt0.S: Rename to ...
27397 * kern/powerpc/ieee1275/startup.S: ... this.
27398 * conf/powerpc-ieee1275.rmk: Adjust for the above.
27399 * DISTLIST: Likewise.
27400
b497a269 27401 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
27402 grub/cpu/kernel.h. Add start label for consistency with other
27403 platforms. Add grub_prefix immediately after start. Add jump
27404 to the code after grub_prefix.
27405 * include/grub/powerpc/kernel.h: Provide valid values for
27406 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
27407
6e5a42fe 274082008-08-29 Bean <bean123ch@gmail.com>
27409
27410 * configure.ac: Change host_os to cygwin for mingw.
27411 (asprintf): New check for function.
27412
27413 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
27414 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
27415
27416 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 27417 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 27418 sync, sleep and grub_util_get_disk_size for mingw.
27419
27420 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
27421 to get size in mingw.
27422 (open_device): Use flag O_BINARY if it's defined.
27423 (find_root_device): Add dummy code for mingw.
27424
27425 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
27426 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
27427 (get_scsi_disk_name): Return 0 for mingw.
27428
27429 * util/hostfs.c: #include <grub/util/misc.h>.
27430 (grub_hostfs_open): Use "rb" flag to open file, use
27431 grub_util_get_disk_size to get disk size for mingw.
27432
27433 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
27434 (asprintf): New function if HAVE_ASPRINTF is not set.
27435 (sync): New function for mingw.
27436 (sleep): Likewise.
27437 (grub_util_get_disk_size): Likewise.
27438
ab3f2673 274392008-08-28 Pavel Roskin <proski@gnu.org>
27440
27441 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
27442 kern/time.c.
27443
1c282483 274442008-08-28 Robert Millan <rmh@aybabtu.com>
27445
27446 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
27447
678e849c 274482008-08-28 Robert Millan <rmh@aybabtu.com>
27449
27450 Change find_grub_drive() syntax so it doesn't prevent it from
27451 detecting NULL names as errors.
27452
27453 * util/biosdisk.c (find_grub_drive): Move free slot search code
27454 from here ...
27455 (find_free_slot): ... to here.
27456 (read_device_map): Use find_free_slot() to search for free slots.
27457
965c75ca 274582008-08-27 Marco Gerards <marco@gnu.org>
27459
27460 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
27461 (scsi_mod_SOURCES): New variable.
27462 (scsi_mod_CFLAGS): Likewise
27463 (scsi_mod_LDFLAGS): Likewise.
27464
27465 * disk/scsi.c: New file.
27466
27467 * include/grub/scsi.h: Likewise.
27468
27469 * include/grub/scsicmd.h: Likewise.
27470
27471 * disk/ata.c: Include <grub/scsi.h>.
27472 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
27473 instead.
27474 (grub_ata_iterate): Skip ATAPI devices.
27475 (grub_ata_open): Only handle ATAPI devices.
27476 (struct grub_atapi_read): Removed.
27477 (grub_atapi_readsector): Likewise.
27478 (grub_ata_read): No longer handle ATAPI devices.
27479 (grub_ata_write): Likewise.
27480 (grub_atapi_iterate): New function.
27481 (grub_atapi_read): Likewise.
27482 (grub_atapi_write): Likewise.
27483 (grub_atapi_open): Likewise.
27484 (grub_atapi_close): Likewise.
27485 (grub_atapi_dev): New variable.
27486 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
27487 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
27488
27489 * include/grub/disk.h (enum grub_disk_dev_id): Add
27490 `GRUB_DISK_DEVICE_SCSI_ID'.
27491
c07ae501 274922008-08-26 Robert Millan <rmh@aybabtu.com>
27493
27494 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
27495 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
27496 descriptive.
27497
5ed20adc 274982008-08-23 Bean <bean123ch@gmail.com>
27499
27500 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
27501 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27502 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
27503 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
27504 dm_nv.mod.
27505 (raid5rec_mod_SOURCES): New macro.
27506 (raid5rec_mod_CFLAGS): Likewise.
27507 (raid5rec_mod_LDFLAGS): Likewise.
27508 (raid6rec_mod_SOURCES): Likewise.
27509 (raid6rec_mod_CFLAGS): Likewise.
27510 (raid6rec_mod_LDFLAGS): Likewise.
27511 (mdraid_mod_SOURCES): Likewise.
27512 (mdraid_mod_CFLAGS): Likewise.
27513 (mdraid_mod_LDFLAGS): Likewise.
27514 (dm_nv_mod_SOURCES): Likewise.
27515 (dm_nv_mod_CFLAGS): Likewise.
27516 (dm_nv_mod_LDFLAGS): Likewise.
27517
27518 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
27519 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
27520 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27521
27522 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
27523 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
27524
27525 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27526
27527 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27528
27529 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27530
27531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27532
27533 * disk/raid5_recover.c: New file.
27534
27535 * disk/raid6_recover.c: Likewise.
27536
27537 * disk/mdraid_linux.c: Likewise.
27538
27539 * disk/dmraid_nvidia.c: Likewise.
27540
27541 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
27542 ULONG_MAX.
27543
27544 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
27545 calculate the size of raid device.
27546 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
27547 different layout of raid5.
27548 (grub_raid_scan_device): Remove code specific to mdraid.
27549 (grub_raid_list): New variable.
27550 (free_array): New function.
27551 (grub_raid_register): Likewise.
27552 (grub_raid_unregister): Likewise.
27553 (grub_raid_rescan): Likewise.
27554 (GRUB_MOD_INIT): Don't iterate device here.
27555 (GRUB_MOD_FINI): Use free_array to release resource.
27556
27557 * include/grub/raid.h: Remove macro and structure specific to mdraid.
27558 (grub_raid5_recover_func_t): New function variable type.
27559 (grub_raid6_recover_func_t): Likewise.
27560 (grub_raid5_recover_func): New variable.
27561 (grub_raid6_recover_func): Likewise.
27562 (grub_raid_register): New function.
27563 (grub_raid_unregister): Likewise.
27564 (grub_raid_rescan): Likewise.
27565 (grub_raid_block_xor): Likewise.
27566
27567 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
27568 (CMD_CRC): New macro.
27569 (part): Removed.
27570 (read_file): Handle device as well as file.
27571 (cmd_crc): New function.
27572 (fstest): Handle multiple disks.
27573 (options): Remove part, raw and long, add root and diskcount.
27574 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 27575 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 27576 add handling for the new options, support multiple disks.
27577
27578 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
27579
29c18915 275802008-08-23 Bean <bean123ch@gmail.com>
27581
27582 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
27583
27584 * genfslist.sh: Ignore kernel.mod.
27585
27586 * genpartmaplist.sh: Likewise.
27587
8415f261 275882008-08-23 Robert Millan <rmh@aybabtu.com>
27589
27590 * util/getroot.c (find_root_device): Skip anything that starts with
27591 a dot, not just directories. This avoids things like /dev/.tmp.md0.
27592
d5a7dc5b 275932008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 27594
d5a7dc5b 27595 * util/update-grub.in (GRUB_GFXMODE): Export variable.
27596 * util/grub.d/00_header.in: Allow the administrator to change default
27597 gfxmode via ${GRUB_GFXMODE}.
27598
380cfbb4 275992008-08-21 Felix Zielcke <fzielcke@z-51.de>
27600
27601 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
27602
c9baafe7 276032008-08-21 Robert Millan <rmh@aybabtu.com>
27604
27605 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
27606 loader.
27607 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
27608 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
27609
e290bef2 276102008-08-20 Carles Pina i Estany <carles@pina.cat>
27611
27612 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
27613 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
27614
f9dbfc96 276152008-08-19 Robert Millan <rmh@aybabtu.com>
27616
27617 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
27618 (struct grub_virtual_screen): Remove `cursor_color'.
27619 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
27620 initialization.
27621 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
27622
dd6bd6ab 276232008-08-18 Robert Millan <rmh@aybabtu.com>
27624
27625 Unify (identical) linux_normal.c files.
27626 * loader/i386/efi/linux_normal.c: Move from here ...
27627 * loader/linux_normal.c: ... to here. Update all users.
27628 * loader/i386/pc/linux_normal.c: Delete. Update all users.
27629 * loader/i386/ieee1275/linux_normal.c: Likewise.
27630
7f42f83e 276312008-08-18 Robert Millan <rmh@aybabtu.com>
27632
27633 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
27634 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
27635 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
27636 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
27637 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
27638 New macros.
27639 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
27640 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
27641 (GRUB_LINUX_CL_END_OFFSET): ... to here.
27642 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
27643 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
27644 (GRUB_EFI_CL_END_OFFSET): Rename to ...
27645 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
27646 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
27647 Initialize `params->video_cursor_x' and `params->video_cursor_y'
27648 portably using grub_getxy().
27649 Replace `-EFI' with `-bzImage' in boot message.
27650
38487ddb 276512008-08-17 Robert Millan <rmh@aybabtu.com>
27652
27653 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
27654
deceb3ec 276552008-08-17 Robert Millan <rmh@aybabtu.com>
27656
27657 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
27658
27659 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
27660 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
27661 (grub_machine_mmap_iterate): New function declaration.
27662 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
27663 structure.
27664 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
27665 macros.
27666
27667 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
27668 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
27669 Move e820 parsing from here ...
27670 * kern/i386/pc/mmap.c: New file.
27671 (grub_machine_mmap_iterate): ... to here.
27672
27673 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
27674 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
27675 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
27676 (grub_available_iterate): Redeclare to return `void', and redeclare
27677 its hook to use grub_uint64_t as addr and size parameters, and rename
27678 to ...
27679 (grub_machine_mmap_iterate): ... this. Update all users.
27680
27681 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
27682 to make it more readable. Rename to ...
27683 (grub_machine_mmap_iterate): ... this.
27684
27685 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
27686 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
27687 (grub_multiboot): Allocate an extra region after the payload, and fill
27688 it with a Multiboot memory map. Adjust a.out loader to calculate size
27689 with the extra space.
27690 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
27691 with the extra space.
27692
f8aa0f43 276932008-08-17 Carles Pina i Estany <carles@pina.cat>
27694
9807deb9 27695 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 27696
605f5bb6 276972008-08-17 Felix Zielcke <fzielcke@z-51.de>
27698
27699 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
27700 mdate-sh to the list `find' searches for.
27701 * DISTLIST: Regenerated.
27702
210db6c6 277032008-08-16 Felix Zielcke <fzielcke@z-51.de>
27704
27705 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
27706 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 27707 genmoddep.awk, gensymlist.sh.in.
27708 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 27709 * DISTLIST: Regenerated.
48cdbfd4 27710 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 27711
1082b929 277122008-08-16 Robert Millan <rmh@aybabtu.com>
27713
27714 * disk/raid.c (grub_raid_init): Handle/report errors set by
27715 grub_device_iterate().
27716 * disk/lvm.c (grub_lvm_init): Likewise.
27717
42ce5170 277182008-08-15 Bean <bean123ch@gmail.com>
27719
27720 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27721 and datehook.mod.
27722 (datetime_mod_SOURCES): New macro.
27723 (datetime_mod_CFLAGS): Likewise.
27724 (datetime_mod_LDFLAGS): Likewise.
27725 (date_mod_SOURCES): Likewise.
27726 (date_mod_CFLAGS): Likewise.
27727 (date_mod_LDFLAGS): Likewise.
27728 (datehook_mod_SOURCES): Likewise.
27729 (datehook_mod_CFLAGS): Likewise.
27730 (datehook_mod_LDFLAGS): Likewise.
27731
27732 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27733 and datehook.mod.
27734 (datetime_mod_SOURCES): New macro.
27735 (datetime_mod_CFLAGS): Likewise.
27736 (datetime_mod_LDFLAGS): Likewise.
27737 (date_mod_SOURCES): Likewise.
27738 (date_mod_CFLAGS): Likewise.
27739 (date_mod_LDFLAGS): Likewise.
27740 (datehook_mod_SOURCES): Likewise.
27741 (datehook_mod_CFLAGS): Likewise.
27742 (datehook_mod_LDFLAGS): Likewise.
27743
27744 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27745 and datehook.mod.
27746 (datetime_mod_SOURCES): New macro.
27747 (datetime_mod_CFLAGS): Likewise.
27748 (datetime_mod_LDFLAGS): Likewise.
27749 (date_mod_SOURCES): Likewise.
27750 (date_mod_CFLAGS): Likewise.
27751 (date_mod_LDFLAGS): Likewise.
27752 (datehook_mod_SOURCES): Likewise.
27753 (datehook_mod_CFLAGS): Likewise.
27754 (datehook_mod_LDFLAGS): Likewise.
27755
27756 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27757 and datehook.mod.
27758 (datetime_mod_SOURCES): New macro.
27759 (datetime_mod_CFLAGS): Likewise.
27760 (datetime_mod_LDFLAGS): Likewise.
27761 (date_mod_SOURCES): Likewise.
27762 (date_mod_CFLAGS): Likewise.
27763 (date_mod_LDFLAGS): Likewise.
27764 (datehook_mod_SOURCES): Likewise.
27765 (datehook_mod_CFLAGS): Likewise.
27766 (datehook_mod_LDFLAGS): Likewise.
27767
27768 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
27769 and datehook.mod.
27770 (datetime_mod_SOURCES): New macro.
27771 (datetime_mod_CFLAGS): Likewise.
27772 (datetime_mod_LDFLAGS): Likewise.
27773 (date_mod_SOURCES): Likewise.
27774 (date_mod_CFLAGS): Likewise.
27775 (date_mod_LDFLAGS): Likewise.
27776 (datehook_mod_SOURCES): Likewise.
27777 (datehook_mod_CFLAGS): Likewise.
27778 (datehook_mod_LDFLAGS): Likewise.
27779
27780 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
27781
27782 * commands/date.c: New file.
27783
27784 * hook/datehook.c: Likewise.
27785
27786 * include/grub/lib/datetime.h: Likewise.
27787
27788 * include/grub/i386/cmos.h: Likewise.
27789
27790 * lib/datetime.c: Likewise.
27791
27792 * lib/i386/datetime.c: Likewise.
27793
27794 * lib/efi/datetime.c: Likewise.
27795
0e9242da 277962008-08-14 Robert Millan <rmh@aybabtu.com>
27797
27798 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
27799 (grub_mkelfimage_SOURCES): New variable.
27800 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
27801
27802 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
27803 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
27804 * conf/powerpc-ieee1275.rmk: Likewise.
27805 * conf/i386-ieee1275.rmk: Likewise.
27806
27807 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
27808 * kern/i386/coreboot/init.c: Likewise.
27809
27810 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
27811 with `<grub/cpu/kernel.h>'.
27812 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
27813 to ...
27814 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
27815 * kern/i386/coreboot/startup.S: Likewise.
27816
27817 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
27818 (GRUB_MOD_GAP): Remove.
27819 * include/grub/powerpc/kernel.h: New file.
27820 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
27821 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27822 * include/grub/i386/kernel.h: New file.
27823 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
27824 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
27825 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
27826
27827 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
27828 `grub-mkelfimage'.
27829 Use --directory when invoking grub_mkimage.
27830
27831 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
27832 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
27833 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
27834 and GRUB_KERNEL_CPU_PREFIX.
27835
b86408f8 278362008-08-14 Felix Zielcke <fzielcke@z-51.de>
27837
d5e619ca 27838 * include/grub/err.h (grub_err_printf): New function prototype.
27839 * util/misc.c (grub_err_printf): New function.
27840 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
27841 grub_printf.
27842 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 27843
7161f0e0 278442008-08-13 Robert Millan <rmh@aybabtu.com>
27845
27846 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
27847
a1967522 278482008-08-13 Robert Millan <rmh@aybabtu.com>
27849
27850 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
27851 boot entry.
27852
371458b5 278532008-08-12 Robert Millan <rmh@aybabtu.com>
27854
27855 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
27856 of the relocation code from here ...
27857 (grub_multiboot): ... to here.
27858 (forward_relocator, backward_relocator): Move from here ...
27859 * kern/i386/loader.S (grub_multiboot_forward_relocator)
27860 (grub_multiboot_backward_relocator): ... to here.
27861 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
27862 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
27863 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
27864 (grub_multiboot_forward_relocator_end)
27865 (grub_multiboot_backward_relocator)
27866 (grub_multiboot_backward_relocator_end): New variables.
27867
05f9452b 278682008-08-12 Bean <bean123ch@gmail.com>
27869
27870 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
27871
20024ab0 278722008-08-11 Robert Millan <rmh@aybabtu.com>
27873
27874 * kern/i386/linuxbios/startup.S: Move from here ...
27875 * kern/i386/coreboot/startup.S: ... to here.
27876
27877 * kern/i386/linuxbios/init.c: Move from here ...
27878 * kern/i386/coreboot/init.c: ... to here.
27879
27880 * kern/i386/linuxbios/table.c: Move from here ...
27881 * kern/i386/coreboot/mmap.c: ... to here.
27882
27883 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
27884
e352e9cd 278852008-08-11 Robert Millan <rmh@aybabtu.com>
27886
27887 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
27888 errors. Leave it to the upper layer to handle them.
27889
2d05bc6a 278902008-08-09 Christian Franke <franke@computer.org>
27891
27892 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
27893 * conf/common.rmk: Install `grub-pe2elf' only if requested.
27894 Install `grub.d/10_windows' only on Cygwin.
27895 * configure.ac: Add subst of `target_os'.
27896 Check `target_os' also before setting TARGET_OBJ2ELF.
27897 Add `--enable-grub-pe2elf'.
27898
042bd419 278992008-08-08 Robert Millan <rmh@aybabtu.com>
27900
27901 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27902 (grub_last_time): Change type to grub_uint64_t.
27903 (grub_disk_open): Migrate code from to using grub_get_time_ms().
27904 (grub_disk_close): Likewise.
27905
27906 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
27907 (run_menu): Migrate code from to using grub_get_time_ms().
27908
27909 * util/misc.c (grub_get_time_ms): New function.
27910
7f280db5 279112008-08-08 Marco Gerards <marco@gnu.org>
27912
27913 * disk/ata.c (grub_ata_regget): Change return type to
27914 `grub_uint8_t'.
27915 (grub_ata_regget2): Likewise.
27916 (grub_ata_wait_status): New function.
27917 (grub_ata_wait_busy): Removed function, updated all users to use
27918 `grub_ata_wait_status'.
27919 (grub_ata_wait_drq): Likewise.
27920 (grub_ata_cmd): New function.
27921 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
27922 error handling.
27923 (grub_ata_pio_write): Add error handling.
27924 (grub_atapi_identify): Likewise.
27925 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
27926 handling.
27927 (grub_ata_identify): Use `grub_ata_cmd' and improve error
27928 handling. Actually use the detected registers. Reorder the
27929 detection logic such that it is easier to read.
27930 (grub_ata_pciinit): Do not assign the same ID to each controller.
27931 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
27932 handling.
27933 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
27934
27935 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
27936
1fbc5e66 279372008-08-08 Marco Gerards <marco@gnu.org>
27938
27939 * NEWS: Update.
27940
819ce6c0 279412008-08-07 Bean <bean123ch@gmail.com>
27942
27943 * include/grub/x86_64/pci.h: New file.
27944
5c41d44d 279452008-08-07 Christian Franke <franke@computer.org>
27946
27947 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
27948 (TIMER2_GATE): Likewise.
27949 (grub_pit_wait): Add enable/disable of the timer2 gate
27950 bit of port 0x61. This fixes a possible infinite loop.
27951
5ebc275d 279522008-08-07 Bean <bean123ch@gmail.com>
27953
27954 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
27955 kern/i386/tsc.c and kern/i386/pit.c.
27956
27957 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
27958 x86_64 platform.
27959
27960 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
27961 <grub/i386/tsc.h>.
27962
27963 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
27964
e383b3d0 279652008-08-07 Bean <bean123ch@gmail.com>
27966
27967 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
27968
27969 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
27970
27971 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
27972 multiple inclusion. Add #include <grub/types.h>.
27973
1cbb58ac 279742008-08-06 Christian Franke <franke@computer.org>
27975
27976 * conf/common.rmk: Build and install `10_windows'.
27977 * util/grub.d/10_windows.in: New script.
27978
337f5a1e 279792008-08-06 Pavel Roskin <proski@gnu.org>
27980
27981 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
27982
057bc4ac 279832008-08-06 Robert Millan <rmh@aybabtu.com>
27984
27985 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
27986 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
27987
2b99f123 279882008-08-06 Bean <bean123ch@gmail.com>
27989
27990 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
27991 (grub_pxefs_fs_int): Remove dummy definition.
27992 (grub_pxefs_open): Use data->block_size to store the current block
27993 size setting.
27994 (grub_pxefs_read): Use block size stored in data->block_size. As the
27995 value of grub_pxe_blksize can be changed after the file is opened.
27996
9f0234cb 279972008-08-06 Bean <bean123ch@gmail.com>
27998
27999 * fs/i386/pc/pxe.c (curr_file): new variable.
28000 (grub_pxefs_open): Simply the handling of pxe file system. Don't
28001 require the dummy internal file system anymore.
28002 (grub_pxefs_read): Removed.
28003 (grub_pxefs_close): Likewise.
28004 (grub_pxefs_fs_int): Likewise.
28005 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
28006 connection when we switch file.
28007 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
28008
a55d42e0 280092008-08-06 Robert Millan <rmh@aybabtu.com>
28010
28011 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
28012 `halt.mod'.
28013 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
28014 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
28015
28016 * kern/i386/halt.c: New file.
28017 * kern/i386/reboot.c: Likewise.
28018 * include/grub/i386/reboot.h: Likewise.
28019 * include/grub/i386/halt.h: Likewise.
28020
28021 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
28022 Include `<grub/cpu/halt.h>'.
28023 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
28024 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
28025
28026 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
28027 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
28028 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
28029 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
28030 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
28031 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
28032 from here ...
28033 * include/grub/i386/at_keyboard.h: ... to here.
28034
24371d26 280352008-08-05 Robert Millan <rmh@aybabtu.com>
28036
28037 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
28038 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
28039 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
28040 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28041 `kern/generic/millisleep.c'.
28042
28043 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
28044 instead of grub_get_rtc().
28045 (grub_tsc_init): Initialize `tsc_boot_time'.
28046
28047 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
28048 (grub_machine_init): Use grub_tsc_init() rather than
28049 installing an RTC-based handler via grub_install_get_time_ms().
28050
28051 * kern/i386/pit.c: New file.
28052 * include/grub/i386/pit.h: Likewise.
28053
9e7007b3 280542008-08-05 Bean <bean123ch@gmail.com>
28055
28056 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
28057
28058 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
28059 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
28060 (pxe_mod_SOURCES): New macro.
28061 (pxe_mod_CFLAGS): Likewise.
28062 (pxe_mod_LDFLAGS): Likewise.
28063 (pxecmd_mod_SOURCES): Likewise.
28064 (pxecmd_mod_CFLAGS): Likewise.
28065 (pxecmd_mod_LDFLAGS): Likewise.
28066
28067 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
28068 (grub_pxe_call): Likewise.
28069
28070 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
28071
28072 * commands/i386/pc/pxecmd.c: New file.
28073
9f0234cb 28074 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 28075
28076 * include/grub/i386/pc/pxe.h: Likewise.
28077
6977d49f 280782008-08-05 Bean <bean123ch@gmail.com>
28079
28080 * util/console.c (grub_console_cur_color): New variable.
28081 (grub_console_standard_color): Likewise.
28082 (grub_console_normal_color): Likewise.
28083 (grub_console_highlight_color): Likewise.
28084 (color_map): Likewise.
28085 (use_color): Likewise.
28086 (NUM_COLORS): New macro.
28087 (grub_ncurses_setcolorstate): Handle color properly.
28088 (grub_ncurses_setcolor): Don't change color here, just remember the
28089 settings, color will be set in grub_ncurses_setcolorstate.
28090 (grub_ncurses_getcolor): New function.
28091 (grub_ncurses_init): Initialize color pairs.
28092 (grub_ncurses_term): New member grub_ncurses_getcolor.
28093
9c2ff3ee 280942008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 28095
9c2ff3ee 28096 High resolution timer support. Implemented for x86 CPUs using TSC.
28097 Extracted generic grub_millisleep() so it's linked in only as needed.
28098 This requires a Pentium compatible CPU; if the RDTSC instruction is
28099 not supported, then it falls back on the generic grub_get_time_ms()
28100 implementation that uses the machine's RTC.
28101
28102 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
28103 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
28104 `kern/generic/millisleep.c'.
28105
28106 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
28107 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
28108
28109 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
28110 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
28111
28112 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28113
28114 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
28115 `kern/generic/millisleep.c'.
28116
28117 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
28118
28119 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
28120
28121 * kern/generic/rtc_get_time_ms.c: New file.
28122
28123 * kern/generic/millisleep.c: New file.
337f5a1e 28124
9c2ff3ee 28125 * kern/misc.c: Don't include
28126 <kern/time.h> anymore.
28127 (grub_millisleep_generic): Removed.
28128
28129 * commands/sleep.c (grub_interruptible_millisleep): Uses
28130 grub_get_time_ms() instead of grub_get_rtc().
28131
28132 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
28133 function.
28134 (grub_cpu_is_cpuid_supported): New inline function.
28135 (grub_cpu_is_tsc_supported): New inline function.
28136 (grub_tsc_init): New function prototype.
28137 (grub_tsc_get_time_ms): New function prototype.
28138
28139 * kern/i386/tsc.c (grub_get_time_ms): New file.
28140
28141 * include/grub/time.h: Include <grub/types.h.
28142 (grub_millisleep_generic): Removed.
28143 (grub_get_time_ms): New prototype.
28144 (grub_install_get_time_ms): New prototype.
28145 (grub_rtc_get_time_ms): New prototype.
28146
28147 * kern/time.c (grub_get_time_ms): New function.
28148 (grub_install_get_time_ms): New function.
28149
28150 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
28151 <grub/time.h> anymore.
28152 (grub_millisleep): Removed.
28153 (grub_machine_init): Call grub_tsc_init.
28154
28155 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
28156 get_time_ms() implementation.
28157
28158 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
28159 (ieee1275_get_time_ms): New function.
28160 (grub_machine_init): Install get_time_ms() implementation.
28161
28162 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
28163 (grub_machine_init): Call grub_tsc_init().
28164 (grub_millisleep): Removed.
bf06a93f 28165
9c2ff3ee 28166 * kern/ieee1275/init.c (grub_millisleep): Removed.
28167 (grub_machine_init): Install ieee1275_get_time_ms()
28168 implementation.
28169 (ieee1275_get_time_ms): New function.
28170 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
28171 real work.
28172
9ec92aaf 281732008-08-05 Marco Gerards <marco@gnu.org>
28174
28175 * disk/ata.c: Include <grub/pci.h>.
28176 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
28177 (grub_ata_initialize): Rewritten.
28178 (grub_ata_device_initialize): New function.
28179
8d23f507 281802008-08-04 Pavel Roskin <proski@gnu.org>
28181
28182 * kern/main.c: Include grub/mm.h.
28183
5e15ee3d 281842008-08-04 Robert Millan <rmh@aybabtu.com>
28185
28186 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
28187 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
28188 corruption problem).
28189
a9053f8f 281902008-08-04 Robert Millan <rmh@aybabtu.com>
28191
28192 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
28193 warnings introduced in my last commit.
28194
dd19c7d7 281952008-08-03 Robert Millan <rmh@aybabtu.com>
28196
28197 Make PCI available on all i386 architectures.
28198
28199 * include/grub/i386/pc/pci.h: Move from here ...
28200 * include/grub/i386/pci.h: ... to here.
28201
28202 * include/grub/i386/pc/pci.h: Remove.
28203 * include/grub/i386/efi/pci.h: Remove.
28204 * include/grub/x86_64/efi/pci.h: Remove.
28205
28206 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
28207 `<grub/cpu/pci.h>'.
28208
28209 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
28210 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
28211 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
28212
28213 * conf/i386-ieee1275.rmk: Likewise.
28214
e14a6184 282152008-08-03 Robert Millan <rmh@aybabtu.com>
28216
28217 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
28218 (grub_console_setcursor): Make it possible to set cursor off.
28219
52768e37 282202008-08-03 Robert Millan <rmh@aybabtu.com>
28221
28222 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
28223 of modules instead of assuming which platform provides what.
28224 * util/update-grub.in: Likewise.
28225
2d52f57f 282262008-08-03 Robert Millan <rmh@aybabtu.com>
28227
28228 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
28229 instead of `grub_install_dos_part' to determine whether a drive needs
28230 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 28231 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 28232
2a5cd121 282332008-08-02 Robert Millan <rmh@aybabtu.com>
28234
28235 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
28236
93808428 282372008-08-02 Robert Millan <rmh@aybabtu.com>
28238
28239 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
28240 of informational grub_dprintf() calls.
28241
3bd0a12a 282422008-08-02 Robert Millan <rmh@aybabtu.com>
28243
28244 * disk/memdisk.c (memdisk_size): Don't initialize.
28245 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
28246
28247 * include/grub/i386/pc/kernel.h
28248 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
28249 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
28250 (grub_memdisk_image_size, grub_arch_memdisk_addr)
28251 (grub_arch_memdisk_size): Remove.
28252
28253 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
28254 field (was only used to transfer a constant). Add `type' field to
28255 support multiple module types.
28256 (grub_module_iterate): New function.
28257
28258 * kern/device.c (grub_device_open): Do not hide error messages
28259 when grub_disk_open() fails. Use grub_print_error() instead.
28260
28261 * kern/i386/pc/init.c (grub_arch_modules_addr)
28262 (grub_arch_memdisk_size): Remove functions.
28263 (grub_arch_modules_addr): Return the module address in high memory
28264 (now that it isn't copied anymore).
28265
28266 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
28267 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
28268 decompression routine (grub_total_module_size already includes that
28269 now). Don't copy modules back to low memory.
28270
28271 * kern/main.c: Include `<grub/mm.h>'.
28272 (grub_load_modules): Split out (and use) ...
28273 (grub_module_iterate): ... this function, which iterates through
28274 module objects and runs a hook.
28275 Comment out grub_mm_init_region() call, as it would cause non-ELF
28276 modules to be overwritten.
28277
28278 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
28279 the memdisk image in its own region, make it part of the module list.
28280 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
28281 (main): Parse --memdisk|-m option, and pass user-provided path as
28282 parameter to generate_image().
28283 (add_segments): Pass `memdisk_path' down to load_modules().
28284 (load_modules): Embed memdisk image in module section when requested.
28285 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
28286 `header.type' instead of `header.offset'.
28287
28288 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
28289 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
28290 (memdisk_mod_LDFLAGS): New variables.
28291 * conf/i386-coreboot.rmk: Likewise.
28292 * conf/i386-ieee1275.rmk: Likewise.
28293
a927cc73 282942008-08-02 Robert Millan <rmh@aybabtu.com>
28295
28296 * loader/i386/pc/multiboot.c (playground, forward_relocator)
28297 (backward_relocator): New variables. Used to allocate and relocate
28298 the payload, respectively.
28299 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 28300 address, install the appropriate relocator code in each bound of
a927cc73 28301 the payload, and set the entry point such that
28302 grub_multiboot_real_boot() will jump to one of them.
28303
28304 * kern/i386/loader.S (grub_multiboot_payload_size)
28305 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28306 (grub_multiboot_payload_entry_offset): New variables.
28307 (grub_multiboot_real_boot): Set cpu context to what the relocator
28308 expects, and jump to the relocator instead of the payload.
28309
28310 * include/grub/i386/loader.h (grub_multiboot_payload_size)
28311 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
28312 (grub_multiboot_payload_entry_offset): Export.
28313
b15d8a0c 283142008-08-01 Bean <bean123ch@gmail.com>
28315
28316 * normal/menu_entry.c (editor_getline): Don't return the original
28317 string as result, as it will be released by lexer once it has done
28318 using it.
28319
cdfb3d22 283202008-08-01 Robert Millan <rmh@aybabtu.com>
28321
28322 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
28323 within menuentries, not before them.
28324 util/grub.d/10_hurd.in: Likewise.
28325
9175e93d 283262008-08-01 Bean <bean123ch@gmail.com>
28327
28328 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
28329 (bufio_mod_SOURCES): New macro.
28330 (bufio_mod_CFLAGS): Likewise.
28331 (bufio_mod_LDFLAGS): Likewise.
28332
28333 * include/grub/bufio.h: New file.
28334
28335 * io/bufio.c: Likewise.
28336
28337 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
28338 (grub_video_reader_png): Use grub_buffile_open to open file.
28339
28340 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
28341 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
28342
28343 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
28344 (grub_video_reader_tga): Use grub_buffile_open to open file.
28345
28346 * font/manager.c: Include <grub/bufio.h>.
28347 (add_font): Use grub_buffile_open to open file.
28348
3d8383e7 283492008-07-31 Robert Millan <rmh@aybabtu.com>
28350
28351 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
28352 ELF segments, use a macro for arbitrarily accessing any of them instead
28353 of preparing a pointer that allows access to one at a time.
28354 (grub_multiboot_load_elf64): Likewise.
28355
16e641b6 283562008-07-31 Bean <bean123ch@gmail.com>
28357
28358 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
28359 GRUB_KERNEL_MACHINE_DATA_END.
28360
59198b72 283612008-07-30 Robert Millan <rmh@aybabtu.com>
28362
28363 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
28364 Increase from 0x50 to 0x60.
28365 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
28366 use UUIDs to identify the root drive for them. If that's not
28367 possible, abort.
28368 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
28369 check, for cross-disk installs.
28370
ae88bca3 283712008-07-30 Robert Millan <rmh@aybabtu.com>
28372
28373 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
28374 is non-empty, use it to set the `prefix' environment variable instead
28375 of the usual approach.
28376 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
28377 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
28378 environment variable instead of dummy make_install_device().
28379
28380 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
28381 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 28382 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 28383
28384 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
28385 New variable reference.
28386 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
28387 New macro. Defines offset of `grub_prefix' within startup.S (relative
28388 to `start').
28389 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
28390 section within startup.S (relative to `start').
28391 * include/grub/i386/coreboot/kernel.h: Likewise.
28392
28393 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
28394 Overwrite grub_prefix with its contents, at the beginning of the
28395 first segment.
28396 (main): Understand -p|--prefix.
28397
14f41dd1 283982008-07-30 Robert Millan <rmh@aybabtu.com>
28399
28400 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
28401
4ca049a3 284022008-07-30 Robert Millan <rmh@aybabtu.com>
28403
28404 * term/i386/pc/vga_text.c (grub_console_cls): Use
28405 grub_console_gotoxy() to go back to beginning of the screen.
28406 Found by Patrick Georgi <patrick.georgi@coresystems.de>
28407
2921d337 284082008-07-29 Christian Franke <franke@computer.org>
28409
28410 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
28411 Add conversion of emulated mount points on Cygwin.
28412
b609876d 284132008-07-29 Christian Franke <franke@computer.org>
28414
28415 * util/update-grub.in: Add a check for admin
28416 group on Cygwin.
28417 Remove old `grub.cfg.new' before creation.
28418 Add `-f' to `mv' to handle the different filesystem
28419 semantics of Windows.
28420
e93e4679 284212008-07-29 Bean <bean123ch@gmail.com>
28422
28423 * normal/main.c (get_line): Fix buffer overflow bug.
28424
41694fd0 284252008-07-28 Robert Millan <rmh@aybabtu.com>
28426
28427 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
28428 (struct grub_apple_header): New struct. Describes the layout of
28429 the partmap header.
28430 (apple_partition_map_iterate): Check the header magic as well as the
28431 partition magic (which was already being checked).
28432
cfd0b4e6 284332008-07-28 Pavel Roskin <proski@gnu.org>
28434
28435 * genmk.rb: Add a warning to the beginning of the output that
28436 it's a generated file and should not be edited.
28437
93cce016 284382008-07-28 Robert Millan <rmh@aybabtu.com>
28439
28440 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
28441 with the same number are found, just use issue a warning with
28442 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 28443
cd1df915 284442008-07-27 Robert Millan <rmh@aybabtu.com>
28445
28446 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
28447 information.
28448
b70a8427 284492008-07-27 Bean <bean123ch@gmail.com>
28450
28451 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
28452 (grub_fat_find_dir): Ignore case when comparing filename.
28453
8f5e379f 284542008-07-27 Bean <bean123ch@gmail.com>
28455
28456 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
28457 smallino, as it's more descriptive, and i8count can be confused with
28458 the other field count.
28459 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
28460 inode type.
28461
a85cd5a0 284622008-07-27 Bean <bean123ch@gmail.com>
28463
28464 * commands/crc.c: New file.
28465
28466 * lib/crc.c: Likewise.
28467
28468 * include/grub/lib/crc.h: Likewise.
28469
28470 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
28471
28472 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
28473 (hexdump): Move this function to ...
28474
28475 * lib/hexdump.c: ... here.
28476
28477 * include/grub/hexdump.h: Renamed to ...
28478
28479 * include/grub/lib/hexdump.h: ... this.
28480
28481 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
28482
28483 * util/grub-editenv.c: Likewise.
28484
28485 * include/envblk.h: Renamed to ...
28486
28487 * include/lib/envblk.h: ... this.
28488
28489 * util/envblk.c: Renamed to ...
28490
28491 * lib/envblk.c: ... this.
28492
28493 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
28494 lib/hexdump.c.
28495 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
28496 (pkglib_MODULES): Add crc.mod.
28497 (hexdump_mod_SOURCES): Add lib/hexdump.c.
28498 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
28499 (crc_mod_SOURCES): New macro.
28500 (crc_mod_CFLAGS): Likewise.
28501 (crc_mod_LDFLAGS): Likewise.
28502
28503 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
28504
28505 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28506
28507 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28508
28509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28510
28511 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
28512
c298def0 285132008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 28514
28515 * commands/help.c: Include <grub/term.h>.
28516 (TERM_WIDTH): Removed. Updated all users.
28517
cc349fb3 285182008-07-27 Pavel Roskin <proski@gnu.org>
28519
28520 * util/getroot.c (find_root_device): Rephrase a comment to avoid
28521 spurious warnings about a comment within a comment.
28522
9051607e 285232008-07-25 Robert Millan <rmh@aybabtu.com>
28524
28525 * util/getroot.c (find_root_device): Skip devices that match
28526 /dev/dm-[0-9]. This lets the real device be found for any type of
28527 abstraction (LVM, EVMS, RAID..).
28528 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
28529 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
28530 device is found first, find_root_device() will now skip it.
28531
01453bfc 285322008-07-24 Pavel Roskin <proski@gnu.org>
28533
28534 * include/grub/types.h: Use __builtin_bswap32() and
28535 __builtin_bswap64() with gcc 4.3 and newer.
28536
6af9849f 285372008-07-24 Christian Franke <franke@computer.org>
28538
3a0fa256 28539 * util/i386/pc/grub-install.in: If `--debug' is specified,
28540 pass `--verbose' to grub-setup.
28541 Abort script if make_system_path_relative_to_its_root() fails.
28542
7810e747 285432008-07-24 Bean <bean123ch@gmail.com>
28544
28545 * configure.ac: Fixed a bug caused by the previous cygwin patch,
28546 variable `target_platform' should be `platform'.
28547
42290e17 285482008-07-24 Bean <bean123ch@gmail.com>
28549
51cc5193 28550 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 28551 (grub_png_init_fixed_block): New function.
28552 (grub_png_decode_image_data): Handle fixed huffman code compression.
28553
2a8a80e4 285542008-07-24 Bean <bean123ch@gmail.com>
28555
28556 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
28557 (grub_pe2elf_SOURCES): New macro.
28558 (CLEANFILES): Add grub-pe2elf.
28559
28560 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
28561 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
28562 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
28563 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
28564 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
28565 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
28566 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
28567 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
28568 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
28569 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
28570 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
28571 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
28572 (GRUB_PE32_DT_FUNCTION): Likewise.
28573 (GRUB_PE32_REL_I386_DIR32): Likewise.
28574 (GRUB_PE32_REL_I386_REL32): Likewise.
28575 (grub_pe32_symbol): New structure.
28576 (grub_pe32_reloc): Likewise.
28577
28578 * util/grub-pe2elf.c: New file.
28579
28580 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
28581 start symbol in non pc platform.
28582
28583 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
28584
28585 The following patches are from Christian Franke.
28586
28587 * include/grub/dl.h: Remove .previous, gas supports this only
28588 for ELF format.
28589
28590 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
28591 Remove .type, gas supports this only for ELF format.
28592
28593 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
28594 nullbytes in symbol table. This fixes an infinite loop if table is
28595 zero filled.
28596
28597 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
28598 TARGET_IMG_LDFLAGS and EXEEXT.
28599
28600 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
28601 TARGET_IMG_LDFLAGS_AC.
28602 (grub_CHECK_STACK_ARG_PROBE): New function.
28603
28604 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
28605
28606 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
28607
28608 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
28609 to set TARGET_IMG_LD* accordingly.
28610 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
28611 Add call to grub_CHECK_STACK_ARG_PROBE.
28612 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
28613
28614 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
28615
28616 * genmk.rb: Add EXEEXT to CLEANFILES.
28617
12ccdb75 286182008-07-23 Robert Millan <rmh@aybabtu.com>
28619
28620 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
28621 define the codes for arrows and lines used for the menu).
28622 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
28623 as well.
28624
28625 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
28626 fonts, because the latter are too slow.
28627
18eeaf04 286282008-07-21 Bean <bean123ch@gmail.com>
28629
28630 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
28631 a20. Run keyboard test last, as it will cause macbook to halt.
28632
b095e2ad 286332008-07-18 Pavel Roskin <proski@gnu.org>
28634
28635 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
28636 load foreign architecture modules correctly anyway. Keep
28637 support for loading host architecture modules, whether we
28638 compile them or not.
28639
737feb35 286402008-07-17 Pavel Roskin <proski@gnu.org>
28641
3f4ce737 28642 * configure.ac: Use -m32 or -m64 regardless of whether we had to
28643 change target_cpu. The compiler default can mismatch target_cpu
28644 in any case.
28645
4ad2d049 28646 * disk/efi/efidisk.c: Fix format warnings on x86_64.
28647 * kern/efi/efi.c: Likewise.
28648
f6130a12 28649 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
28650 target compiler is functional.
28651 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
28652 are set up.
28653
58393a2d 28654 * configure.ac: Default to efi platform for x86_64-apple. Allow
28655 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
28656 adjustments from the rest, only do them if target is not
28657 explicitly given. Merge other adjustments with the final sanity
28658 check. Remove an extraneous check for supported CPU. Be
28659 specific which CPU and which platform is not supported.
28660
737feb35 28661 * configure.ac: Default to pc platform for x86_64.
28662
546f966a 286632008-07-17 Robert Millan <rmh@aybabtu.com>
28664
28665 Partial LinuxBIOS -> Coreboot rename.
28666
28667 * conf/i386-linuxbios.rmk: Renamed to ...
28668 * conf/i386-coreboot.rmk: ... this.
28669 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
28670 * configure.ac: Accept "coreboot" as input platform (but maintain
28671 compatibility with "linuxbios").
28672 * include/grub/i386/linuxbios: Renamed to ...
28673 * include/grub/i386/coreboot: ... this.
28674
20011694 286752008-07-17 Bean <bean123ch@gmail.com>
28676
28677 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 28678 (appleldr_mod_SOURCE): New variable.
20011694 28679 (appleldr_mod_CFLAGS): Likewise.
28680 (appleldr_mod_LDFLAGS): Likewise.
28681 (pci_mod_SOURCES): Likewise.
28682 (pci_mod_CFLAGS): Likewise.
28683 (pci_mod_LDFLAGS): Likewise.
28684 (lspci_mod_SOURCES): Likewise.
28685 (lspci_mod_CFLAGS): Likewise.
28686 (lspci_mod_LDFLAGS): Likewise.
28687
28688 * conf/x86_64-efi.rmk: New file.
28689
28690 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
28691 macro.
28692 (grub_efidisk_write): Likewise.
28693
28694 * include/efi/api.h (efi_call_0): New macro.
28695 (efi_call_1): Likewise.
28696 (efi_call_2): Likewise.
28697 (efi_call_3): Likewise.
28698 (efi_call_4): Likewise.
28699 (efi_call_5): Likewise.
28700 (efi_call_6): Likewise.
28701
28702 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
28703 grub_rescue_cmd_chainloader.
28704
28705 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
28706 (grub_pe32_optional_header): Change some fields based on i386 or
28707 x86_64 platform.
28708 (GRUB_PE32_PE32_MAGIC): Likewise.
28709
28710 * include/grub/efi/uga_draw.h: New file.
28711
28712 * include/grub/elf.h (STN_ABS): New constant.
28713 (R_X86_64_NONE): Relocation constant for x86_64.
28714 (R_X86_64_64): Likewise.
28715 (R_X86_64_PC32): Likewise.
28716 (R_X86_64_GOT32): Likewise.
28717 (R_X86_64_PLT32): Likewise.
28718 (R_X86_64_COPY): Likewise.
28719 (R_X86_64_GLOB_DAT): Likewise.
28720 (R_X86_64_JUMP_SLOT): Likewise.
28721 (R_X86_64_RELATIVE): Likewise.
28722 (R_X86_64_GOTPCREL): Likewise.
28723 (R_X86_64_32): Likewise.
28724 (R_X86_64_32S): Likewise.
28725 (R_X86_64_16): Likewise.
28726 (R_X86_64_PC16): Likewise.
28727 (R_X86_64_8): Likewise.
28728 (R_X86_64_PC8): Likewise.
28729
28730 * include/grub/i386/efi/pci.h: New file.
28731
28732 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
28733 Change it value based on platform.
28734 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
28735 (GRUB_E820_RAM): Likewise.
28736 (GRUB_E820_RESERVED): Likewise.
28737 (GRUB_E820_ACPI): Likewise.
28738 (GRUB_E820_NVS): Likewise.
28739 (GRUB_E820_EXEC_CODE): Likewise.
28740 (GRUB_E820_MAX_ENTRY): Likewise.
28741 (grub_e820_mmap): New structure.
28742 (linux_kernel_header): Change the efi field according to different
28743 kernel version, also field from linux_kernel_header.
28744
28745 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
28746
28747 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
28748 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
28749 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
28750 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
28751 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
28752 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
28753 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
28754 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
28755 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
28756 (GRUB_PCI_ADDR_IO_MASK): Likewise.
28757
28758 * include/grub/x86_64/efi/kernel.h: New file.
28759
28760 * include/grub/x86_64/efi/loader.h: Likewise.
28761
28762 * include/grub/x86_64/efi/machine.h: Likewise.
28763
28764 * include/grub/x86_64/efi/pci.h: Likewise.
28765
28766 * include/grub/x86_64/efi/time.h: Likewise.
28767
28768 * include/grub/x86_64/linux.h: Likewise.
28769
28770 * include/grub/x86_64/setjmp.h: Likewise.
28771
28772 * include/grub/x86_64/time.h: Likewise.
28773
28774 * include/grub/x86_64/types.h: Likewise.
28775
28776 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
28777 GRUB_TARGET_SIZEOF_VOID_P.
28778
28779 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
28780 (grub_efi_locate_handle): Likewise.
28781 (grub_efi_open_protocol): Likewise.
28782 (grub_efi_set_text_mode): Likewise.
28783 (grub_efi_stall): Likewise.
28784 (grub_exit): Likewise.
28785 (grub_reboot): Likewise.
28786 (grub_halt): Likewise.
28787 (grub_efi_exit_boot_services): Likewise.
28788 (grub_get_rtc): Likewise.
28789
28790 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
28791 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
28792 (grub_efi_allocate_pages): Wrap efi calls.
28793 (grub_efi_free_pages): Wrap efi calls.
28794 (grub_efi_get_memory_map): Wrap efi calls.
28795
28796 * kern/x86_64/dl.c: New file.
28797
28798 * kern/x86_64/efi/callwrap.S: Likewise.
28799
28800 * kern/x86_64/efi/startup.S: Likewise.
28801
28802 * loader/efi/appleloader.c: Likewise.
28803
28804 * loader/efi/chainloader.c (cmdline): New variable.
28805 (grub_chainloader_unload): Wrap efi calls.
28806 (grub_chainloader_boot): Likewise.
28807 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
28808 command line.
28809
28810 * loader/efi/chainloader_normal.c (chainloader_command):
28811 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
28812 command line.
28813
28814 * loader/i386/efi/linux.c (allocate_pages): Change allocation
28815 method.
28816 (grub_e820_add_region): New function.
28817 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
28818 booting.
28819 (grub_find_video_card): New function.
28820 (grub_linux_setup_video): New function.
28821 (grub_rescue_cmd_linux): Probe for video information.
28822
28823 * normal/x86_64/setjmp.S: New file.
28824
28825 * term/efi/console.c (map_char): New function.
28826 (grub_console_putchar): Map unicode char.
28827 (grub_console_checkkey): Wrap efi calls.
28828 (grub_console_getkey): Likewise.
28829 (grub_console_getwh): Likewise.
28830 (grub_console_gotoxy): Likewise.
28831 (grub_console_cls): Likewise.
28832 (grub_console_setcolorstate): Likewise.
28833 (grub_console_setcursor): Likewise.
28834
28835 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
28836
59652a20 288372008-07-16 Pavel Roskin <proski@gnu.org>
28838
ef294055 28839 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
28840 format strings.
28841
59652a20 28842 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
28843 pointer, not an integer. This fixes a warning and prevents
28844 precision loss on 64-bit systems.
28845 (relocate_addresses): Remove unneeded cast.
28846
afc3b5d7 288472008-07-15 Pavel Roskin <proski@gnu.org>
28848
506b2b3e 28849 * kern/i386/ieee1275/init.c: Include grub/cache.h.
28850
62ead89c 28851 * term/ieee1275/ofconsole.c: Disable code unused on i386.
28852
c4cd51d7 28853 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
28854 Fix comparison between signed and unsigned.
28855
0d3d8f28 28856 * include/grub/i386/ieee1275/console.h: Declare
28857 grub_console_init() and grub_console_fini().
28858
8804b286 28859 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
28860 It's empty and unused.
28861
ee01cf35 28862 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
28863 beginning to avoid warnings with some compilers.
28864
afc3b5d7 28865 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
28866 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
28867
e4e8eaa5 288682008-07-14 Pavel Roskin <proski@gnu.org>
28869
407aceb4 28870 * kern/env.c (grub_register_variable_hook): Don't copy empty
28871 string, it leaks memory. Pass "" to grub_env_set(), it should
28872 handle constant strings.
28873
e4e8eaa5 28874 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
28875 * commands/cmp.c (grub_cmd_cmp): Likewise.
28876 * kern/dl.c (grub_dl_flush_cache): Likewise.
28877 (grub_dl_load_core): Likewise.
28878 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
28879 (grub_elf64_load_phdrs): Likewise.
28880
d4e2dad3 288812008-07-13 Pavel Roskin <proski@gnu.org>
28882
28883 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
28884 between signed and unsigned.
28885 (LzmaEnc_Finish): Fix warning about an unused parameter.
28886
aa24b516 288872008-07-13 Bean <bean123ch@gmail.com>
28888
28889 * Makefile.in (enable_lzo): New rule.
28890
28891 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
28892
28893 * configure.ac (ENABLE_LZO): New option --enable-lzo.
28894
28895 * boot/i386/pc/lnxboot.S: #include <config.h>.
28896
28897 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 28898 its value according to the compression algorithm used, lzo or lzma.
aa24b516 28899
28900 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
28901 compression algorithm according to configure macro.
28902
28903 * kern/i386/pc/startup.S (codestart): Likewise.
28904
28905 * kern/i386/pc/lzma_decode.S: New file.
28906
28907 * include/grub/lib/LzFind.h: Likewise.
28908
28909 * include/grub/lib/LzHash.h: Likewise.
28910
28911 * include/grub/lib/LzmaDec.h: Likewise.
28912
28913 * include/grub/lib/LzmaEnc.h: Likewise.
28914
28915 * include/grub/lib/LzmaTypes.h: Likewise.
28916
28917 * lib/LzFind.c: Likewise.
28918
28919 * lib/LzmaDec.c: Likewise.
28920
28921 * lib/LzmaEnc.c: Likewise.
28922
4ae821ac 289232008-07-13 Bean <bean123ch@gmail.com>
28924
28925 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
28926 (grub_ext4_extent_header): New structure.
28927 (grub_ext4_extent): Likewise.
28928 (grub_ext4_extent_idx): Likewise.
28929 (grub_ext4_find_leaf): New function.
28930 (grub_ext2_read_block): Handle extents.
28931
9a745147 289322008-07-12 Robert Millan <rmh@aybabtu.com>
28933
28934 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
28935
d49a4cf6 289362008-07-11 Robert Millan <rmh@aybabtu.com>
28937
28938 * util/grub.d/40_custom.in: New file. Example on how to add custom
28939 entries to /etc/grub.d.
28940 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
28941 40_custom (implicitly, by merging all the grub.d rules).
28942
947414b4 289432008-07-11 Pavel Roskin <proski@gnu.org>
28944
0059cf6f 28945 * commands/read.c (grub_getline): Fix invalid memory access.
28946 Don't add newline to the variable value.
28947
947414b4 28948 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
28949 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
28950 (serial_hw_get_port): Check validity of the port number.
28951 (grub_cmd_serial): Check return value of serial_hw_get_port().
28952
62a02d00 289532008-07-07 Pavel Roskin <proski@gnu.org>
28954
28955 * boot/i386/pc/diskboot.S (notification_string): Replace
28956 "Loading kernel" with just "loading". This is shorter, less
28957 confusing and saves a few bytes for possible future changes.
28958
3e5581b0 289592008-07-05 Pavel Roskin <proski@gnu.org>
28960
ea387a48 28961 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
28962 size for ATAPI devices, they are undefined. Output sector
28963 number in decimal form.
28964
3e5581b0 28965 * disk/ata.c: Use named constants for status bits.
28966
fdecb8fd 289672008-07-04 Pavel Roskin <proski@gnu.org>
28968
bcd35b90 28969 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
28970 grub_addr_t before casting it to the void pointer to fix a
28971 warning. Non-addressable regions are discarded earlier.
28972 (grub_arch_modules_addr): Cast _end to grub_addr_t.
28973 * kern/i386/linuxbios/table.c: Include grub/misc.h.
28974 (check_signature): Don't shadow table_header.
28975 (grub_linuxbios_table_iterate): Cast numeric constants to
28976 grub_linuxbios_table_header_t.
28977 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
28978 grub_stop().
28979
af58ab3d 28980 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
28981 prevent warnings.
28982
1759aa57 28983 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
28984 pointer, which can cause warnings. Support 64-bit addresses.
28985
fdecb8fd 28986 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
28987 of sizeof(long). This fixes PowerPC image generation on x86_64.
28988
8516d2a8 289892008-07-04 Robert Millan <rmh@aybabtu.com>
28990
28991 This fixes a performance issue when pc & gpt partmap iterators
28992 didn't abort iteration even after our hook found what it was
fe987087 28993 looking for (often causing expensive probes of non-existent drives).
8516d2a8 28994
28995 Some callers relied on previous buggy behaviour, since they would
34c44600 28996 raise an error when their own hooks caused early abortion of its
8516d2a8 28997 iteration.
28998
28999 * kern/device.c (grub_device_open): Improve error message.
29000 * disk/lvm.c (grub_lvm_open): Likewise.
29001 * disk/raid.c (grub_raid_open): Likewise.
29002
29003 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
29004 when hook requests it, independently of grub_errno.
29005 (pc_partition_map_probe): Do not fail when find_func() caused
29006 early abortion of pc_partition_map_iterate().
29007
29008 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
29009 when hook requests it, independently of grub_errno.
29010 (gpt_partition_map_probe): Do not fail when find_func() caused
29011 early abortion of gpt_partition_map_iterate().
29012
29013 * kern/partition.c (grub_partition_iterate): Abort parent iteration
29014 when hook requests it, independently of grub_errno. Do not fail when
29015 part_map_iterate_hook() caused early abortion of p->iterate().
29016
29017 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
29018 when grub_partition_iterate() returned with non-zero.
29019
277d0de9 290202008-07-03 Pavel Roskin <proski@gnu.org>
29021
29022 * disk/ata.c (grub_ata_pio_write): Check status before writing,
29023 like we do in grub_ata_pio_read().
29024 (grub_ata_readwrite): Always write individual sectors. Fix the
29025 sector count for the remainder.
29026 (grub_ata_write): Enable writing to ATA devices. Correctly
29027 report error for ATAPI devices.
29028
d4c9b428 290292008-07-02 Pavel Roskin <proski@gnu.org>
29030
e43fc690 29031 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
29032 warning.
29033
f707af42 29034 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
29035 for every read sector, we already increment it for the whole
29036 batch. This fixes reading more than 256 sectors at once.
29037
11e16b15 29038 * util/grub-editenv.c (cmd_info): Cast argument to long
29039 explicitly. ptrdiff_t reduces to int on i386.
29040
cbabfdd4 29041 * util/grub-editenv.c (main): Be specific which parameter is
29042 missing.
29043
b8fbce0a 29044 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
29045 (memdisk): Make memdisk_orig_addr a pointer.
29046
c9c8e606 29047 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
29048 for file offsets, use grub_off_t instead. Fix printf format
29049 warnings.
29050
ca62e598 29051 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
29052 there. Real unexpected warnings should not drown in the noise
29053 about known problems.
29054
ce8d1766 29055 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
29056 grub_disk_addr_t for memory addresses.
29057
00c7a56a 29058 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
29059 explicitly to fix a warning.
29060
08d3ef09 29061 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
29062
cb71ba20 29063 * Makefile.in (MODULE_LDFLAGS): New variable.
29064 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
29065 the linker accepts --build-id=none.
29066 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
29067 MODULE_LDFLAGS.
29068 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
29069
d4c9b428 29070 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
29071 those in Linux XFS code. Provide a way to access 64-bit parent
29072 inode.
29073 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
29074 the end of struct grub_xfs_dir_header.
29075
d4156eee 290762008-07-02 Bean <bean123ch@gmail.com>
29077
29078 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
29079 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29080 and GRUB_IEEE1275_FLAG_NO_ANSI.
29081
29082 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
29083 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
29084 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
29085
29086 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
29087 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
29088
29089 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
29090 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
29091
29092 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
29093 esc sequence on non ANSI terminal.
29094 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
29095
29096 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
29097 beginning of file.
29098
2270f77b 290992008-07-02 Bean <bean123ch@gmail.com>
29100
29101 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
29102 (grub_editenv_SOURCES): New variable.
29103 (pkglib_MODULES): Add loadenv.mod.
29104 (loadenv_mod_SOURCES): New variable.
29105 (loadenv_mod_CFLAGS): Likewise.
29106 (loadenv_mod_LDFLAGS): Likewise.
29107
29108 * include/grub/envblk.h: New file.
29109
29110 * util/envblk.c: New file.
29111
29112 * util/grub-editenv.c: New file.
29113
29114 * commands/loadenv.c: New file.
29115
0e9e51ec 291162008-07-01 Pavel Roskin <proski@gnu.org>
29117
d89b7634 29118 * include/multiboot2.h (struct multiboot_tag_module): Use char,
29119 not unsigned char. This fixes warnings and is consistent with
29120 other tags.
29121
bf1835b1 29122 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
29123
8222a04b 29124 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
29125
6a42d99d 29126 * term/tparm.c (analyze): Always set *popcount.
29127
10b159d1 29128 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
29129 cast to fix a warning.
29130
b8789f6c 29131 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
29132 cast to suppress a warning.
29133
29d7e38a 29134 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
29135 grub_fshelp_read_file() expects.
29136
f341f669 29137 * fs/fat.c: Fix UUID calculation on big-endian systems. We
29138 write uuid as a 32-bit value in CPU byte order, so declare and
29139 use it as such.
29140
0e9e51ec 29141 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
29142 long if the format specifier expects it.
29143 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
29144 * partmap/pc.c (pc_partition_map_iterate): Likewise.
29145 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
29146 long to fix a warning.
29147 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
29148 grub_dprintf() arguments to fix warnings.
29149
3aefa857 291502008-06-30 Pavel Roskin <proski@gnu.org>
29151
56c7668b 29152 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
29153 install_bsd_part immediately before core.img is embedded or
29154 modified on disk. This fixes core.img verification if core.img
29155 cannot be embedded.
29156
3aefa857 29157 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
29158 core_path to calculate the blocklist.
29159 Patch from Javier Martín <lordhabbit@gmail.com>
29160
5444088d 291612008-06-29 Robert Millan <rmh@aybabtu.com>
29162
29163 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
29164 block to disk block.
29165 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
29166 Patch from Niels Böhm <bitbucket@arcor.de>
29167
674835c8 291682008-06-29 Robert Millan <rmh@aybabtu.com>
29169
29170 * util/update-grub_lib.in (font_path): Search for fonts in
29171 /boot/grub first, which is more likely to be readable (we aren't
29172 deciding where fonts live, just looking for them).
29173
f527dbc8 291742008-06-26 Pavel Roskin <proski@gnu.org>
29175
6c2d8df6 29176 * util/biosdisk.c (read_device_map): Don't leave dead map
29177 entries for devices failing stat() check.
29178
f527dbc8 29179 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
29180 core_path_dev for the core.img path on the target device.
29181
aebe3d13 291822008-06-26 Robert Millan <rmh@aybabtu.com>
29183
29184 * disk/fs_uuid.c: New file.
29185 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
29186 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
29187 (fs_uuid_mod_LDFLAGS): New variables.
29188 * include/grub/disk.h (grub_disk_dev_id): Add
29189 `GRUB_DISK_DEVICE_UUID_ID'.
29190 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
29191 implement iterate().
29192
37aaf354 291932008-06-26 Robert Millan <rmh@aybabtu.com>
29194
29195 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
29196 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
29197 Linux image includes no initrd.
29198
25ff262a 291992008-06-21 Javier Martín <lordhabbit@gmail.com>
29200
29201 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
29202 call to resolve the core image location that effectively appended the
29203 name twice.
29204
76a2bd44 292052008-06-21 Robert Millan <rmh@aybabtu.com>
29206
29207 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
29208 call from here ...
29209
29210 * util/grub.d/10_hurd.in: ... to here ...
29211 * util/grub.d/10_linux.in: ... and here.
29212
650e1c79 292132008-06-19 Robert Millan <rmh@aybabtu.com>
29214
fe987087 29215 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 29216 after it has been set by grub_machine_set_prefix().
29217
6ce63911 292182008-06-19 Robert Millan <rmh@aybabtu.com>
29219
29220 * commands/search.c (search_label, search_fs_uuid, search_file): Print
29221 search result when not saving to variable, not the other way around.
29222 When saving to variable, abort iteration as soon as a match is found.
29223
73940cec 292242008-06-19 Robert Millan <rmh@aybabtu.com>
29225
29226 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
29227 check for partition that provides /boot/grub. Its logic is flawed,
29228 as it prevents prepare_grub_to_access_device() from being called
29229 multiple times.
29230
3c62a39d 292312008-06-19 Robert Millan <rmh@aybabtu.com>
29232
29233 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
29234 "insmod" command directly when abstraction modules are needed,
fe987087 29235 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 29236 since it had already been processed).
29237
47395a42 292382008-06-19 Pavel Roskin <proski@gnu.org>
29239
29240 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
29241 changed. This is needed in case GRUB_LIBDIR changes.
29242 * conf/i386-ieee1275.rmk: Likewise.
29243 * conf/i386-linuxbios.rmk: Likewise.
29244 * conf/i386-pc.rmk: Likewise.
29245 * conf/powerpc-ieee1275.rmk: Likewise.
29246
a145ac2d 292472008-06-18 Pavel Roskin <proski@gnu.org>
29248
29249 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
29250 kernel_elf_symlist.c to symlist.c for consistency with other
29251 architectures. Update all users.
29252 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
29253
7847c51e 292542008-06-18 Robert Millan <rmh@aybabtu.com>
29255
29256 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
29257 it in prefix.
29258
29259 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
29260 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
29261 a RAID device, run setup() for all members independently on whether
29262 LVM abstraction is being used.
29263 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
29264 If grub-mkimage has set `*install_dos_part == -2', don't override this
29265 value.
29266 Perform *install_dos_part adjustments independently on whether
29267 we're embedding or not.
29268 Clarify error message when image is too big for embedding.
29269 Remove duplicate *install_dos_part stanza.
29270
b23e5644 292712008-06-17 Robert Millan <rmh@aybabtu.com>
29272
29273 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
29274 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
29275 variables.
29276 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
29277 values in grub_ofconsole_normal_color and
29278 grub_ofconsole_highlight_color (they're not directly related to
29279 background and foreground).
29280 (grub_ofconsole_setcolorstate): Extract background and foreground
29281 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
29282
0aac2f79 292832008-06-17 Robert Millan <rmh@aybabtu.com>
29284
29285 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
29286 /boot/grub for the check in last commit, not /boot (they could be
29287 different partitions).
29288
3cca7ef3 292892008-06-16 Robert Millan <rmh@aybabtu.com>
29290
29291 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
29292 asked to setup access for the same partition that provides /boot,
29293 don't bother using UUIDs since our root already has the value we
29294 want.
29295
347396d8 292962008-06-16 Robert Millan <rmh@aybabtu.com>
29297
29298 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
29299 I2O devices.
29300 Patch from Sven Mueller <sven@debian.org>.
29301
991477f8 293022008-06-16 Robert Millan <rmh@aybabtu.com>
29303
29304 * util/update-grub.in: Check for $EUID instead of $UID.
29305 Reported by Vincent Zweije.
29306
d31a32a1 293072008-06-16 Bean <bean123ch@gmail.com>
29308
fe987087 29309 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 29310 (grub_ext2_read_block): Likewise.
29311 (grub_ext2_read_inode): Likewise.
29312 (grub_ext2_mount): Likewise.
29313 (grub_ext2_close): Likewise.
29314 (grub_ext3_get_journal): Removed.
29315
fe987087 29316 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 29317 (grub_reiserfs_read_symlink): Likewise.
29318 (grub_reiserfs_mount): Likewise.
29319 (grub_reiserfs_open): Likewise.
29320 (grub_reiserfs_read): Likewise.
29321 (grub_reiserfs_close): Likewise.
29322 (grub_reiserfs_get_journal): Removed.
29323
29324 * fs/fshelp.c (grub_fshelp_read): Removed.
29325 (grub_fshelp_map_block): Likewise.
29326
29327 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
29328 (grub_fshelp_journal): Likewise.
29329 (grub_fshelp_read): Likewise.
29330 (grub_fshelp_map_block): Likewise.
29331
3540a760 293322008-06-16 Pavel Roskin <proski@gnu.org>
29333
29334 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
29335 floating point anymore.
29336 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
29337
95614c84 293382008-06-15 Pavel Roskin <proski@gnu.org>
29339
29340 * commands/ls.c (grub_ls_list_files): Use integer calculations
29341 for human readable format, avoid floating point use.
29342 * kern/misc.c (grub_ftoa): Remove.
29343 (grub_vsprintf): Remove floating point support.
29344
50465dd6 293452008-06-15 Robert Millan <rmh@aybabtu.com>
29346
fe6b695a 29347 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 29348 devices.
29349 Reported by Max Vozeler.
29350
a9207284 293512008-06-15 Robert Millan <rmh@aybabtu.com>
29352
29353 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
29354 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
29355 skipped later.
29356 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
29357 the beginning of the prefix.
29358
29359 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
29360 It is assumed that if we have a memdisk, grub-mkimage has set
29361 grub_prefix to include the "(memdisk)" drive in it.
29362
a7cbd45a 293632008-06-15 Robert Millan <rmh@aybabtu.com>
29364
29365 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
29366 Initialize keyboard controller after registering the terminal, so that
29367 grub_printf() can be called from grub_keyboard_controller_init().
29368
21cf716a 293692008-06-15 Robert Millan <rmh@aybabtu.com>
29370
29371 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
29372 extent-btree which is written as big endian on disk.
29373 Reported by Alain Greppin <al@chilibi.org>.
29374
23a64d8e 293752008-06-14 Robert Millan <rmh@aybabtu.com>
29376
29377 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
29378 * util/i386/pc/grub-install.in (modules): Likewise.
29379
d687651c 293802008-06-13 Pavel Roskin <proski@gnu.org>
29381
29382 * commands/ls.c (grub_ls_list_files): Fix format warnings.
29383
dfe9ddd4 293842008-06-13 Bean <bean123ch@gmail.com>
29385
29386 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
29387
29388 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
29389
29390 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
29391 to indicate sparse block.
29392
16ae7781 293932008-06-12 Pavel Roskin <proski@gnu.org>
29394
e6d1a308 29395 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
29396 number, grub_fshelp_read() does it for us.
29397
16ae7781 29398 * fs/fshelp.c (grub_fshelp_read): New function. Implement
29399 linear disk read with journal translation.
29400 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
29401 * include/grub/fshelp.h: Declare grub_fshelp_read().
29402
40fd3a2b 294032008-06-09 Pavel Roskin <proski@gnu.org>
29404
29405 * fs/minix.c (grub_minix_mount): Handle error reading
29406 superblock.
29407
f5679726 294082008-06-08 Robert Millan <rmh@aybabtu.com>
29409
29410 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
29411 don't append the RAID prefix afterwards.
29412 Reported by Clint Adams.
29413
ce525529 294142008-06-08 Robert Millan <rmh@aybabtu.com>
29415
29416 Based on description from Pavel:
29417 * kern/disk.c (grub_disk_check_range): Rename to ...
29418 (grub_disk_adjust_range): ... this. Add a comment explaining the
29419 tasks performed by this function.
29420
ad4936a0 294212008-06-08 Robert Millan <rmh@aybabtu.com>
29422
29423 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
29424 `num_serial' (for consistency with other variables).
29425 (struct grub_ntfs_data): Add `uuid' member.
29426 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
29427 (grub_ntfs_uuid): New function.
29428 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
29429
dc20b0f9 294302008-06-07 Pavel Roskin <proski@gnu.org>
29431
29432 * util/biosdisk.c (open_device): Revert last change to the
29433 function, it broke installation. The sector needs to be
29434 different dependent on which device is opened.
29435
c5e3cfba 294362008-06-06 Robert Millan <rmh@aybabtu.com>
29437
29438 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
29439 rest of GRUB, and breakage doesn't happen if its value were modified.
29440
29441 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
29442 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
29443 a constant (same value).
29444 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
29445 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
29446
26a1f8c4 294472008-06-06 Robert Millan <rmh@aybabtu.com>
29448
29449 * util/biosdisk.c (open_device): Do not modify sector offset when
29450 accessing a partition. kern/disk.c already handles this for us.
29451
25d6b327 294522008-06-06 Robert Millan <rmh@aybabtu.com>
29453
29454 * util/grub-emu.c (grub_machine_init): Move code in this function from
29455 here ...
29456 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
29457 segfault in case grub_printf() is called).
29458
29459 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
29460 grub_probe. Update all users not to explicitly add it again.
29461 (grub_device): New variable; contains corresponding device for grubdir.
29462 (fs_module, partmap_module, devabstraction_module): Pass
29463 `--device ${grub_device}' to grub_probe to avoid traversing /dev
29464 every time.
29465
9ece62fb 294662008-06-05 Robert Millan <rmh@aybabtu.com>
29467
29468 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
29469 is found, print it (same layout as with labels).
29470
1ad36d37 294712008-06-04 Robert Millan <rmh@aybabtu.com>
29472
29473 * util/biosdisk.c (get_drive): Rename to ...
29474 (find_grub_drive): ... this. Update all users.
29475
29476 (get_os_disk): Rename to ...
29477 (convert_system_partition_to_system_disk): ... this. Update all users.
29478
29479 (find_drive): Rename to ...
29480 (find_system_device): ... this. Update all users.
29481
e6a30859 294822008-06-04 Robert Millan <rmh@aybabtu.com>
29483
29484 * util/biosdisk.c (get_os_disk): Handle IDA devices.
29485 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29486 (make_device_map): Likewise.
29487
00c108a4 294882008-06-01 Robert Millan <rmh@aybabtu.com>
29489
29490 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
29491 before dereferencing it.
29492
29493 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
29494 union with fat12/fat16-specific ones. Add some new fields, including
29495 `num_serial' for both versions.
29496 (struct grub_fat_data): Add `uuid' member.
29497 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
29498 names. Initialize `data->uuid' using `num_serial'.
29499 (grub_fat_uuid): New function.
29500 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
29501
29502 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
29503 (grub_reiserfs_uuid): New function.
29504 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
29505 member.
29506
29507 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
29508 (grub_xfs_uuid): New function.
29509 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
29510
1385c5bb 295112008-06-01 Robert Millan <rmh@aybabtu.com>
29512
29513 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
29514 code that is backward compatible with pre-uuid search command.
29515
c682dfd7 295162008-05-31 Robert Millan <rmh@aybabtu.com>
29517
29518 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
29519 floppies after everything else, to ensure floppy drive isn't accessed
29520 unnecessarily (patch from Bean).
29521
b7db5d47 295222008-05-31 Robert Millan <rmh@aybabtu.com>
29523
29524 * commands/search.c (search_label, search_fs_uuid, search_file): Do
29525 not print device names when we were asked to set a variable.
29526
6e037aa9 295272008-05-31 Robert Millan <rmh@aybabtu.com>
29528
29529 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
29530 using "cursor-on" and "cursor-off" commands (understood at least by
29531 the Open Firmware flavour on OLPC).
29532
41305bc8 295332008-05-31 Michael Gorven <michael@gorven.za.net>
29534
29535 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
29536 on and off sequences.
29537
69ba137e 295382008-05-31 Robert Millan <rmh@aybabtu.com>
29539
29540 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
29541 * util/update-grub.in: Likewise.
29542
520ae21b 295432008-05-30 Pavel Roskin <proski@gnu.org>
29544
29545 * util/biosdisk.c (linux_find_partition): Simplify logic and
29546 make the code more universal. Keep special processing for
29547 devfs, but use a simple rule for all other devices. If the
29548 device ends with a number, append 'p' and the partition number.
29549 Otherwise, append only the partition number.
29550
5786569b 295512008-05-30 Robert Millan <rmh@aybabtu.com>
29552
29553 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
29554 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
29555 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
29556 the `root' parameter to Linux.
29557
51500452 295582008-05-30 Robert Millan <rmh@aybabtu.com>
29559
29560 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
29561 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
29562 --fs_uuid with --fs-uuid.
29563 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
29564 all filesystems support them).
29565
811d3878 295662008-05-30 Robert Millan <rmh@aybabtu.com>
29567
29568 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 29569 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 29570
cab63c95 295712008-05-30 Robert Millan <rmh@aybabtu.com>
29572
29573 * util/grub.d/00_header.in: Remove obsolete comment referencing
29574 convert_system_path_to_grub_path().
29575 * util/update-grub.in: Likewise.
29576 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
29577 (convert_system_path_to_grub_path): Add a warning message explaining
29578 that this function is deprecated. Rely on is_path_readable_by_grub()
29579 for the readability checks.
29580 (font_path): Use is_path_readable_by_grub() for the readability
29581 check rather than convert_system_path_to_grub_path().
29582
972e2f7a 295832008-05-30 Robert Millan <rmh@aybabtu.com>
29584
29585 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
29586 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
29587 converting it first.
29588 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
29589 grub.cfg for access to font file, and afterwards call it again to set
29590 the root device.
29591
62191274 295922008-05-30 Robert Millan <rmh@aybabtu.com>
29593
29594 * commands/search.c (options): Add --fs_uuid option.
29595 (search_fs_uuid): New function.
29596 (grub_cmd_search): Fix --set argument passing.
29597 Use search_fs_uuid() when requested via --fs_uuid.
29598 (grub_search_init): Update help message.
29599 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
29600 and redeclare it as an array of 16-bit words.
29601 (grub_ext2_uuid): New function.
29602 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
29603 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
29604 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
29605 (GRUB_DEVICE_BOOT_UUID): New variables.
29606 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
29607 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
29608 whenever possible.
29609 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
29610 just assume `root' variable has the right value.
29611 * util/grub.d/10_linux.in: Likewise.
29612 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
29613 via PRINT_FS_UUID.
29614 (main): Recognise `-t fs_uuid' argument.
29615
01b73ec8 296162008-05-30 Robert Millan <rmh@aybabtu.com>
29617
29618 * util/biosdisk.c (map): Redefine structure to hold information
29619 about GRUB drive name.
fe6b695a 29620 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 29621 drive names.
29622 (call_hook): Remove.
29623 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
29624 member. Assume drive has partitions.
29625 (grub_util_biosdisk_open): Access device names via `.device' struct
29626 member.
29627 (open_device): Likewise.
29628 (find_drive): Likewise.
29629 (read_device_map): Adjust map[] usage to match the new struct
29630 definition. Don't check for duplicates (still possible, but not cheap
29631 anymore).
29632 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
29633 (make_device_name): Remove assumption of BIOS-like drive names.
29634
22f16596 296352008-05-30 Pavel Roskin <proski@gnu.org>
29636
29637 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
29638 compiling execute.c doesn't need grub_script.tab.h anymore.
29639 (normal/command.c_DEPENDENCIES): Likewise.
29640 (normal/function.c_DEPENDENCIES): Likewise.
29641 * conf/i386-ieee1275.rmk: Likewise.
29642 * conf/i386-linuxbios.rmk: Likewise.
29643 * conf/i386-pc.rmk: Likewise.
29644 * conf/powerpc-ieee1275.rmk: Likewise.
29645 * conf/sparc64-ieee1275.rmk: Likewise.
29646
528ad8f2 296472008-05-29 Pavel Roskin <proski@gnu.org>
29648
d1dff95d 29649 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
29650 when scanning metadata for volume group name.
29651
528ad8f2 29652 * include/grub/script.h: Don't include grub_script.tab.h. It's
29653 a generated file, which may only be included from the files with
29654 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
29655 use union YYSTYPE, as the later allows forward declaration.
29656 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
29657
47248e08 296582008-05-29 Robert Millan <rmh@aybabtu.com>
29659
29660 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
29661 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
29662 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
29663 (grub_console_checkkey): Add grub_dprintf() call to report unknown
29664 scan codes.
29665
ee632529 296662008-05-29 Robert Millan <rmh@aybabtu.com>
29667
29668 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
29669 control key combinations.
29670
eee96e08 296712008-05-29 Robert Millan <rmh@aybabtu.com>
29672
29673 * util/powerpc/ieee1275/grub-install.in: Move from here ...
29674 * util/ieee1275/grub-install.in: ... to here.
29675 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
29676 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
29677 (grub_install_SOURCES): Likewise.
29678
da9a6a94 296792008-05-29 Robert Millan <rmh@aybabtu.com>
29680
29681 * fs/affs.c: Update copyright year.
29682 * fs/ext2.c: Likewise.
29683 * fs/fshelp.c: Likewise.
29684 * fs/hfsplus.c: Likewise.
29685 * fs/ntfs.c: Likewise.
29686 * fs/xfs.c: Likewise.
29687 * include/grub/fshelp.h: Likewise.
29688 * util/grub-mkdevicemap.c: Likewise.
29689
12e65f3a 296902008-05-28 Robert Millan <rmh@aybabtu.com>
29691
29692 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
29693 might need to be fatfs to support some firmware implementations
29694 (e.g. OFW or EFI).
29695
23023641 296962008-05-28 Robert Millan <rmh@aybabtu.com>
29697
29698 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
29699 devices.
29700 * util/grub-mkdevicemap.c (get_mmc_disk_name)
29701 (make_device_map): Likewise.
29702
887d2619 297032008-05-20 Bean <bean123ch@gmail.com>
29704
29705 * fs/fshelp.c (grub_fshelp_map_block): New function.
29706 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
29707 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
29708
29709 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
29710 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
29711 (grub_fshelp_journal): New structure.
29712 (grub_fshelp_map_block): New function prototype.
29713 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
29714 (grub_fshelp_map_block): Likewise.
29715
29716 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
29717 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
29718 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
29719 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
29720 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
29721 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
29722 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
29723 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
29724 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
29725 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
29726 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
29727 (grub_ext2_sblock): New members for journal support.
29728 (grub_ext3_journal_header): New structure.
29729 (grub_ext3_journal_revoke_header): Likewise.
29730 (grub_ext3_journal_block_tag): Likewise.
29731 (grub_ext3_journal_sblock): Likewise.
29732 (grub_fshelp_node): New members logfile and journal.
29733 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
29734 grub_fshelp_map_block to get real block number.
29735 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
29736 number.
29737 (grub_ext2_read_inode): Likewise.
29738 (grub_ext3_get_journal): New function.
29739 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
29740 (grub_ext2_close): Release memory used by journal.
29741
29742 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
29743 (REISERFS_MAGIC_DESC_BLOCK): New macro.
29744 (grub_reiserfs_transaction_header): Renamed to
29745 grub_reiserfs_description_block, replace field data with real_blocks.
29746 (grub_reiserfs_commit_block): New structure.
29747 (grub_reiserfs_data): New member journal.
29748 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
29749 number.
29750 (grub_reiserfs_read_symlink): Likewise.
29751 (grub_reiserfs_iterate_dir): Likewise.
29752 (grub_reiserfs_open): Likewise.
29753 (grub_reiserfs_read): Likewise.
29754 (grub_reiserfs_get_journal): New function.
29755 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
29756 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
29757 using grub_reiserfs_get_journal.
29758 (grub_reiserfs_close): Release memory used by journal.
29759
29760 * fs/affs.c (grub_affs_read_block): Change block type to
29761 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
29762
29763 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
29764
29765 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
29766
29767 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
29768
29769 * fs/udf.c (grub_udf_read_block): Change block type to
29770 grub_disk_addr_t. Use type cast to avoid warning.
29771
29772 * fs/xfs.c (grub_xfs_read_block): Likewise.
29773
b7c6bed5 297742008-05-16 Christian Franke <franke@computer.org>
29775
29776 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
29777 to ensure that break with ESC will always work.
29778 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
29779 Remove ESC from keyboard queue.
29780
eedf167f 297812008-05-16 Christian Franke <franke@computer.org>
29782
29783 * util/biosdisk.c: [__CYGWIN__] Add includes.
29784 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
29785 (get_os_disk): Move variable declarations to OS specific
29786 parts to avoid warning.
29787 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
29788 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
29789 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
29790 Cygwin.
29791 * util/getroot.c: [__CYGWIN__] Add includes.
29792 (strip_extra_slashes): Fix "/" case.
29793 [__CYGWIN__] (get_win32_path): New function.
29794 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
29795 [__CYGWIN__] (find_root_device): Disable.
29796 [__CYGWIN__] (get_bootsec_serial): New function.
29797 [__CYGWIN__] (find_cygwin_root_device): Likewise.
29798 [__linux__] (grub_guess_root_device): Add early returns to simplify
29799 structure.
29800 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
29801 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
29802 check for Linux only.
29803
a079699e 298042008-05-15 Bean <bean123ch@gmail.com>
29805
29806 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
29807 keyboard hang problem in apple's intel mac.
29808
1cf4059a 298092008-05-09 Robert Millan <rmh@aybabtu.com>
29810
29811 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
29812 devices.
29813 * util/grub-mkdevicemap.c (get_virtio_disk_name)
29814 (make_device_map): Likewise.
29815 Reported by Aurelien Jarno <aurel32@debian.org>
29816
ed759390 298172008-05-07 Ian Campbell <ijc@hellion.org.uk>
29818
29819 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
29820 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
29821 (make_device_map): Output entries for xvd type disks.
29822
b56c4eaa 298232008-05-07 Robert Millan <rmh@aybabtu.com>
29824
29825 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
29826 devices.
29827 * util/grub-mkdevicemap.c (get_cciss_disk_name)
29828 (make_device_map): Likewise.
29829 Reported by Roland Dreier <rdreier@cisco.com>
29830
7f8866ed 298312008-05-07 Robert Millan <rmh@aybabtu.com>
29832
29833 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
29834 grub_strstr() call. Correct a few mistakes in failure path handling.
29835
b0346e0f 298362008-05-06 Robert Millan <rmh@aybabtu.com>
29837
29838 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
29839 Do not print a trailing slash (therefore, the root directory is an
29840 empty string).
29841 (convert_system_path_to_grub_path): Do not remove trailing slash
29842 from make_system_path_relative_to_its_root() output.
29843
29844 * util/i386/pc/grub-install.in: Add trailing slash to output from
29845 make_system_path_relative_to_its_root().
29846
6cf12cbd 298472008-05-06 Robert Millan <rmh@aybabtu.com>
29848
29849 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
29850 ensures that output lines aren't intermangled with those sent to
29851 stderr (via grub_util_info()).
29852 * util/grub-probe.c (grub_refresh): Likewise.
29853 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
29854
0fbb3117 298552008-05-05 Christian Franke <franke@computer.org>
29856
29857 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
29858 Add Cygwin device names.
29859 (get_ide_disk_name) [__CYGWIN__]: Likewise.
29860 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
29861 (check_device): Return error instead of success on empty name.
29862 (make_device_map): Move label inside linux specific code to
29863 prevent compiler warning.
29864
8124cdb7 298652008-04-30 Robert Millan <rmh@aybabtu.com>
29866
29867 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
29868 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
29869 first boot option.
29870 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
29871
094c01d0 298722008-04-29 Robert Millan <rmh@aybabtu.com>
29873
29874 * docs/grub.cfg: New file (example GRUB configuration).
29875
f4b1fc02 298762008-04-26 Robert Millan <rmh@aybabtu.com>
29877
329ce2a5 29878 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
29879 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
29880 and `disk/ieee1275/nand.c'.
f4b1fc02 29881
25f16ec1 298822008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 29883
25f16ec1 29884 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
29885 i386-linuxbios.
29886
29887 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
29888 change the buffer size to 4096 for cdrom device.
29889
29890 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
29891 and nand.mod.
29892 (_linux_mod_SOURCES): New variable.
29893 (_linux_mod_CFLAGS): Likewise.
29894 (_linux_mod_LDFLAGS): Likewise.
29895 (linux_mod_SOURCES): Likewise.
29896 (linux_mod_CFLAGS): Likewise.
29897 (linux_mod_LDFLAGS): Likewise.
29898 (nand_mod_SOURCES): Likewise.
29899 (nand_mod_CFLAGS): Likewise.
29900 (nand_mod_LDFLAGS): Likewise.
29901
29902 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
29903 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
29904 type property. (nand device in olpc don't have this property)
29905
29906 * include/grub/disk.h (grub_disk_dev_id): New macro
29907 GRUB_DISK_DEVICE_NAND_ID.
29908
29909 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
29910 function prototype.
29911 (grub_rescue_cmd_initrd): Likewise.
29912
29913 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
29914 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
29915 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 29916
25f16ec1 29917 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
29918 GRUB_MACHINE_IEEE1275 is defined.
29919
29920 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
29921 Use NESTED_FUNC_ATTR attribute on the hook parameter.
29922
29923 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
29924 on nested function heap_init.
29925 (grub_upper_mem): New variable for i386-ieee1275.
29926 (grub_get_extended_memory): New function for i386-ieee1275.
29927 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
29928
29929 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
29930 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
29931 property.
f19dbdb7 29932
25f16ec1 29933 * loader/i386/ieee1275/linux.c: New file.
29934
29935 * loader/i386/ieee1275/linux_normal.c: New file.
29936
29937 * disk/ieee1275/nand.c: New file.
29938
e89d61e9 299392008-04-18 Thomas Schwinge <tschwinge@gnu.org>
29940
29941 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
29942 value.
29943 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
29944
602566f6 299452008-04-18 Robert Millan <rmh@aybabtu.com>
29946
29947 Restructures early code path on ieee1275 to unify grub_main() as
29948 the first C function that is executed in every platform.
29949
29950 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
29951 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
29952 cmain().
29953 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
29954 * kern/ieee1275/cmain.c (cmain): Rename to ...
29955 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
29956 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
29957 at the beginning.
29958
57490c2b 299592008-04-18 Robert Millan <rmh@aybabtu.com>
29960
29961 * util/update-grub.in: Fix syntax error when setting
29962 `GRUB_PRELOAD_MODULES'.
29963 Reported by Stephane Chazelas <stephane@artesyncp.com>
29964
1977517d 299652008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
29966
29967 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
29968 section into account, newer toolchains generate unique build ids
29969 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 29970 we want build ids to be preserved
1977517d 29971 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
29972 far from other sections don't cause the raw binary images grow
29973 size
29974
bfb1f1a2 299752008-04-15 Robert Millan <rmh@aybabtu.com>
29976
29977 * disk/lvm.c: Update copyright year.
29978 * kern/misc.c: Likewise.
29979
01979850 299802008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
29981
29982 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 29983 there is no memory left for physical volume name.
01979850 29984
0a1150e2 299852008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
29986
29987 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
29988 volume name mapping to support bigger than 9 character names properly.
29989
82ead3fe 299902008-04-13 Robert Millan <rmh@aybabtu.com>
29991
29992 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
29993 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
29994
e54a72f5 299952008-04-13 Christian Franke <franke@computer.org>
29996
29997 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
29998 to create a floppy emulation boot CD when non emulation mode
29999 does not work.
30000 Enable Joliet CD filesystem extension.
30001
9fe86034 300022008-04-13 Robert Millan <rmh@aybabtu.com>
30003
30004 * kern/misc.c (grub_strncat): Fix off-by-one error.
30005 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
30006
30007 * kern/env.c (grub_env_context_close): Clear current context, not
30008 previous one.
30009 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
30010
30011 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
30012
7ceeee39 300132008-04-13 Robert Millan <rmh@aybabtu.com>
30014
30015 Improve robustness when handling LVM.
30016
30017 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 30018 (and leave `*p' unmodified).
7ceeee39 30019 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
30020 through it.
30021 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
30022 iterating through it.
30023 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
30024 through it.
fe6b695a 30025 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 30026 when due) on each grub_lvm_getvalue() or grub_strstr() call.
30027 Don't assume `vg->pvs != NULL' when iterating through it.
30028
58cd3d85 300292008-04-13 Robert Millan <rmh@aybabtu.com>
30030
30031 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
30032 * genmk.rb (partmap): New variable.
30033 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
30034 (#{partmap}): New target rule.
30035 * genpartmaplist.sh: New file.
30036 * Makefile.in (pkglib_DATA): Add partmap.lst.
30037 (partmap.lst): New target rule.
30038 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
30039 modules (including all partition maps), instead of preloading them.
30040
78b51059 300412007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
30042
30043 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
30044 `linux-boot-prober' (if installed) to detect other operating
30045 systems which are installed on the computer and add them to
30046 the boot menu.
30047 * conf/common.rmk: Build and install 30_os-prober.
30048
a91627b4 300492008-04-12 Robert Millan <rmh@aybabtu.com>
30050
30051 * kern/powerpc/ieee1275/init.c: Move from here ...
30052 * kern/ieee1275/init.c: ... to here. Update all users.
30053
30054 * kern/powerpc/ieee1275/cmain.c: Move from here ...
30055 * kern/ieee1275/cmain.c: ... to here. Update all users.
30056
30057 * kern/powerpc/ieee1275/openfw.c: Move from here ...
30058 * kern/ieee1275/openfw.c: ... to here. Update all users.
30059
30060 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
30061 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
30062
322562ea 300632008-04-10 Pavel Roskin <proski@gnu.org>
30064
30065 * configure.ac: Always use "_cv_" in cache variables for
30066 compatibility with Autoconf 2.62.
30067
a02a73c5 300682008-04-07 Robert Millan <rmh@aybabtu.com>
30069
30070 Revert grub/machine/init.h addition by Pavel (since it breaks on
30071 i386-ieee1275 and others):
30072 * util/i386/pc/misc.c: Remove grub/machine/init.h.
30073 * util/powerpc/ieee1275/misc.c: Likewise.
30074
25c024b1 300752008-04-07 Robert Millan <rmh@aybabtu.com>
30076
30077 * util/grub-probe.c (probe): Improve error message.
30078
3cbd2f98 300792008-04-07 Robert Millan <rmh@aybabtu.com>
30080
30081 * util/biosdisk.c (read_device_map): Skip devices that don't exist
30082 (this prevents the presence of a bogus entry from ruining the whole
30083 thing).
30084
87a297bf 300852008-04-06 Pavel Roskin <proski@gnu.org>
30086
36747a62 30087 * util/biosdisk.c: Include grub/util/biosdisk.h.
30088 * util/grub-fstest.c (execute_command): Make static.
30089 * util/grub-mkdevicemap.c (check_device): Likewise.
30090 * util/i386/pc/misc.c: Include grub/machine/init.h.
30091 * util/powerpc/ieee1275/misc.c: Likewise.
30092 * util/lvm.c: Include grub/util/lvm.h.
30093 * util/misc.c: Include grub/kernel.h, grub/misc.h and
30094 grub/cache.h.
30095 * util/raid.c: Include grub/util/raid.h.
30096 (grub_util_getdiskname): Make static.
30097
87a297bf 30098 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
30099 grub_hostfs_fini(), as they are called from grub_init_all() and
30100 grub_fini_all() respectively. This fixes an infinite loop in
30101 grub-fstest due to double registration of hostfs.
30102 Reported by Christian Franke <Christian.Franke@t-online.de>
30103
f6ce7629 301042008-04-05 Pavel Roskin <proski@gnu.org>
30105
30106 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
30107 all 8 functions. Otherwise, probe function 0 only.
30108
070e49e4 301092008-04-04 Pavel Roskin <proski@gnu.org>
30110
8b088a4c 30111 * commands/lspci.c (grub_lspci_iter): Print the bus number
30112 correctly.
30113
4f657021 30114 * commands/lspci.c (grub_pci_classes): Fix typos.
30115 (grub_lspci_iter): Don't print func twice. Print vendor ID
30116 before device ID, as it's normally done.
30117
070e49e4 30118 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
30119 Fix signedness warnings.
30120 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
30121 Likewise.
30122 * util/ieee1275/get_disk_name.c: Include config.h so that
30123 _GNU_SOURCE is defined and getline() is declared. Mark an
30124 unused argument as such. Fix a signedness warning.
30125
ba7328dc 301262008-04-02 Pavel Roskin <proski@gnu.org>
30127
26887f22 30128 * genkernsyms.sh.in: Use more robust assignments for CC and
30129 srcdir. Quote srcdir.
30130 * gensymlist.sh.in: Likewise. Assert at the compile time that
30131 the symbol table is not empty.
30132
ba7328dc 30133 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
30134 * fs/cpio.c (grub_cpio_read): Likewise.
30135
0f582c6b 301362008-04-01 Pavel Roskin <proski@gnu.org>
30137
4b6e1995 30138 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
30139 * disk/host.c (grub_host_open): Likewise.
30140 * disk/loopback.c (grub_loopback_open): Likewise.
30141 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
30142 disk->id as in disk/host.c, not a multi-character constant.
30143
828a2768 30144 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
30145 later is obsolete, potentially dangerous and sets a bad example.
30146 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
30147 * util/misc.c (grub_util_get_image_size): Likewise.
30148
2bb4fb47 30149 * disk/loopback.c (options): Improve help for "--partitions".
30150
0f582c6b 30151 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
30152 options to align them with the short options, e.g. "echo -e".
30153
a33224e0 301542008-03-31 Bean <bean123ch@gmail.com>
30155
30156 * video/reader/png.c (grub_png_data): New member is_16bit and
30157 image_data.
30158 (grub_png_decode_image_header): Detect 16 bit png image.
30159 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
30160 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
30161 (grub_video_reader_png): Release memory occupied by image_data.
30162
30163 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
30164 4096 bytes.
30165 (grub_nfs_mount): Skip the test for sector per cluster.
30166
30167 * include/grub/ntfs.h (MAX_SPC): Removed.
30168
86cb4f54 301692008-03-31 Bean <bean123ch@gmail.com>
30170
30171 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
30172 (grub_probe_SOURCES): Add fs/afs.c.
30173 (grub_fstest_SOURCES): Likewise.
30174 (afs_mod_SOURCES): New variable.
30175 (afs_mod_CFLAGS): Likewise.
30176 (afs_mod_LDFLAGS): Likewise.
30177
30178 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
30179 (grub_emu_SOURCES): Likewise.
30180
30181 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30182
30183 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30184
30185 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30186
30187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30188
30189 * fs/afs.c: New file.
30190
17c74c21 301912008-03-30 Pavel Roskin <proski@gnu.org>
30192
4cb68e89 30193 * disk/host.c: Include grub/misc.h to fix a warning.
30194 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
30195 warnings about implicit declarations.
30196
8790bb04 30197 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
30198 variable.
30199 * include/grub/i386/loader.h: Change declaration of
30200 grub_linux_boot() to match what grub_loader_set() expects.
30201 * util/getroot.c (grub_guess_root_device): Return const char* to
30202 fix a warning.
30203 * util/grub-probe.c (probe): Fix a warning about uninitialized
30204 abstraction_name variable.
30205 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
30206 second argument as unused to fix a warning.
30207
9a3f3296 30208 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
30209 missing grub_error() call.
30210
0ecef90d 30211 * util/update-grub_lib.in: Define datarootdir, since Autoconf
30212 2.60 and newer uses it to define datadir.
30213
0bf6d401 30214 * commands/sleep.c: Fix warning about implicit declaration.
30215 * disk/memdisk.c: Likewise.
30216 * loader/aout.c: Likewise.
30217 * loader/i386/bsd_normal.c: Likewise.
30218 * util/grub-probe.c: Likewise.
30219
7cdacf97 30220 * commands/i386/cpuid.c (has_longmode): Make static.
30221 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
30222 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
30223
17c74c21 30224 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
30225 GDT. This is more robust, as %ds can change.
30226 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
30227 calling real_to_prot().
30228 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
30229
80a3e68b 302302008-03-28 Pavel Roskin <proski@gnu.org>
30231
30232 * kern/i386/pc/startup.S: Assert that uncompressed functions
30233 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
30234 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
30235 code, as they push parts of the code (error handlers) beyond
30236 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
30237 code as correctness and size.
30238
77bcd272 302392008-03-28 Pavel Roskin <proski@gnu.org>
30240
30241 * kern/i386/pc/startup.S
30242 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
30243 data block address to the real mode, keep offset minimal. This
30244 works around a bug in AWARD BIOS on old Athlon systems, which
30245 makes CD detection hang.
30246
c5dfd43b 302472008-03-26 Pavel Roskin <proski@gnu.org>
30248
30249 * normal/color.c (grub_parse_color_name_pair): Make `name' a
30250 const.
30251 * include/grub/normal.h: Add grub_parse_color_name_pair()
30252 declaration.
30253
bf962df2 302542008-03-24 Bean <bean123ch@gmail.com>
30255
30256 * disk/i386/pc/biosdisk.c (cd_start): Removed.
30257 (cd_count): Removed.
30258 (cd_drive): New variable.
30259 (grub_biosdisk_get_drive): Don't check for (cdN) device.
30260 (grub_biosdisk_call_hook): Likewise.
30261 (grub_biosdisk_iterate): Change cdrom detection method.
30262 (grub_biosdisk_open): Replace cd_start with cd_drive.
30263 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
30264 detect cdrom device.
30265
30266 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
30267 Removed.
30268 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
30269 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
30270 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
30271 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
30272 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
30273 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
30274 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
30275 (grub_biosdisk_cdrp): New structure.
30276 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
30277
30278 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
30279
30280 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
30281 device.
30282
30283 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
30284 New function.
30285
68e7fc7a 302862008-03-20 Robert Millan <rmh@aybabtu.com>
30287
30288 Remove 2 TiB limit in ata.mod.
30289 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
30290 (grub_ata_dumpinfo): Print sector count with 0x%llx.
30291 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
30292 grub_uint64_t instead of grub_uint32_t.
30293
38ad2cf5 302942008-03-05 Bean <bean123ch@gmail.com>
30295
30296 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
30297 (grub_multiboot): Set boot device.
30298
30299 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
30300
2b89344e 303012008-03-02 Bean <bean123ch@gmail.com>
30302
30303 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
30304 symlink_buffer.
30305
87a95d1f 303062008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
30307
30308 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
30309 texinfo.tex.
30310
30311 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
30312 modified.
30313
30314 * docs/fdl.texi: New file.
f19dbdb7 30315
87a95d1f 30316 * docs/mdate-sh: New file. Copied from gnulib.
30317 * docs/texinfo.tex: Likewise.
30318
30319 * config.guess: Updated from gnulib.
30320 * install-sh: Likewise.
30321
7dc15d8e 303222008-02-28 Robert Millan <rmh@aybabtu.com>
30323
30324 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
30325 (aout_mod_SOURCES): New variable.
30326 (aout_mod_CFLAGS): Likewise.
30327 (aout_mod_LDFLAGS): Likewise.
30328
30329 * conf/i386-ieee1275.rmk: Likewise.
30330
b00ab696 303312008-02-28 Robert Millan <rmh@aybabtu.com>
30332
30333 * util/update-grub.in: Reorganise terminal validity check. Accept
30334 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
30335 Based on suggestion by Franklin PIAT.
30336
79ca2d78 303372008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
30338
30339 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
30340 function.
30341 * util/getroot.c (grub_util_check_block_device): New function that
30342 returns the given argument if it is a block device and returns NULL else.
30343 * util/grub-probe.c (argument_is_device): New variable.
30344 (probe): Promote device_name from a variable to an argument. Receive
30345 device_name from grub_util_check_block_device() if path is NULL and from
30346 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 30347 (options): Introduce new parameter '-d, --device'.
79ca2d78 30348 (main): Add description of the new parameter to the help screen.
30349 Rename path variable to argument. Set argument_is_device if the '-d'
30350 option is given. Pass argument to probe() depending on
30351 argument_is_device.
30352
0d16e571 303532008-02-24 Bean <bean123ch@gmail.com>
30354
30355 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
30356 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
30357 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
30358 (GRUB_ISO9660_VOLDESC_PART): Likewise.
30359 (GRUB_ISO9660_VOLDESC_END): Likewise.
30360 (grub_iso9660_primary_voldesc): New member escape.
30361 (grub_iso9660_data): New member joliet.
30362 (grub_iso9660_convert_string): New function.
30363 (grub_iso9660_mount): Detect joliet extension.
30364 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
30365 (grub_iso9660_iso9660_label): Likewise.
30366
30367 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
30368 (grub_setup_SOURCES): Add fs/udf.c.
30369 (grub_fstest_SOURCES): Likewise.
30370 (udf_mod_SOURCES): New variable.
30371 (udf_mod_CFLAGS): Likewise.
30372 (udf_mod_LDFLAGS): Likewise.
30373
30374 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
30375 (grub_emu_SOURCES): Likewise.
30376
30377 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
30378
30379 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30380
30381 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30382
30383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30384
30385 * fs/udf.c: New file.
30386
8a594a17 303872008-02-24 Robert Millan <rmh@aybabtu.com>
30388
30389 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
30390 (normal/lexer.c_DEPENDENCIES): New variables.
30391 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30392 (normal/lexer.c_DEPENDENCIES): Likewise.
30393 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
30394 (normal/lexer.c_DEPENDENCIES): Likewise.
30395 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
30396 (normal/lexer.c_DEPENDENCIES): Likewise.
30397 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30398 (normal/lexer.c_DEPENDENCIES): Likewise.
30399 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
30400 (normal/lexer.c_DEPENDENCIES): Likewise.
30401
2dc33c03 304022008-02-23 Robert Millan <rmh@aybabtu.com>
30403
30404 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
30405 since they were intended to be in hex. This didn't break previously
30406 because of a bug in gpt_partition_map_iterate() (see below).
30407
30408 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
30409 when checking the validity of GPT header.
30410 Remove `partno', since it always provides the same information as `i'.
30411
f6f4cfb0 304122008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
30413
30414 * include/grub/efi/time.h: Fix a wrong comment.
30415
79ff665f 304162008-02-19 Pavel Roskin <proski@gnu.org>
30417
30418 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
30419 message.
30420
d38e24c2 304212008-02-19 Bean <bean123ch@gmail.com>
30422
30423 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
30424 (aout_mod_SOURCES): New variable.
30425 (aout_mod_CFLAGS): Likewise.
30426 (aout_mod_LDFLAGS): Likewise.
30427 (_bsd_mod_SOURCES): New variable.
30428 (_bsd_mod_CFLAGS): Likewise.
30429 (_bsd_mod_LDFLAGS): Likewise.
30430 (bsd_mod_SOURCES): New variable.
30431 (bsd_mod_CFLAGS): Likewise.
30432 (bsd_mod_LDFLAGS): Likewise.
30433
30434 * include/grub/aout.h: New file.
30435
30436 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
30437
30438 * include/grub/i386/bsd.h: New file.
30439
30440 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
30441 to make it public.
30442
30443 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
30444 function is called, so that it's possible to change it inside the hook.
30445 (grub_elf64_load): Likewise.
30446 (grub_elf_file): Don't close the file if elf header is not found.
30447 (grub_elf_close): Close the file if grub_elf_file fails (The new
30448 grub_elf_file won't close it).
30449 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
30450 (grub_elf64_size): Likewise.
30451
30452 * kern/i386/loader.S (grub_unix_real_boot): New function.
30453
30454 * loader/aout.c: New file.
30455
30456 * loader/i386/bsd.c: New file.
30457
30458 * loader/i386/bsd_normal.c: New file.
30459
30460 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
30461
30462 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 30463 can test other formats.
d38e24c2 30464
b93bdb0f 304652008-02-19 Robert Millan <rmh@aybabtu.com>
30466
30467 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
30468 (grub_gpt_partition_type_empty): Redefine with macro from
30469 `<grub/gpt_partition.h>'.
30470 (gpt_partition_map_iterate): Adjust partition type comparison.
30471
30472 Export `entry' as partmap-specific `part.data' struct.
30473 (grub_gpt_header, grub_gpt_partentry): Move from here ...
30474
30475 * include/grub/gpt_partition.h (grub_gpt_header)
30476 (grub_gpt_partentry): ... to here (new file).
30477
30478 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
30479
30480 (grub_gpt_partition_type_bios_boot): New const variable, defined
30481 with macro from `<grub/gpt_partition.h>'.
30482
30483 (setup): Replace `first_start' with `embed_region', which keeps
30484 track of the embed region (and is partmap-agnostic).
30485
30486 Replace find_first_partition_start() with find_usable_region(),
30487 which finds a usable region for embedding using partmap-specific
30488 knowledge (supports PC/MSDOS and GPT).
30489
30490 Fix all assumptions that the embed region start at sector 1, using
30491 `embed_region.start' from now on. Similarly, use `embed_region.end'
30492 rather than `first_start' to calculate available size.
30493
30494 In grub_util_info() message, replace "into after the MBR" with an
30495 indication of the specific sector our embed region starts at.
30496
66cb40f6 304972008-02-19 Robert Millan <rmh@aybabtu.com>
30498
30499 * DISTLIST: Replace `commands/ieee1275/halt.c' and
30500 `commands/ieee1275/reboot.c' with `commands/halt.c' and
30501 `commands/reboot.c'.
30502 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30503 (halt_mod_SOURCES): Likewise.
30504 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
30505 (halt_mod_SOURCES): Likewise.
30506
b7202015 305072008-02-17 Christian Franke <franke@computer.org>
30508
30509 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
30510
32b0fc49 305112008-02-17 Robert Millan <rmh@aybabtu.com>
30512
30513 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30514 set `first_start' to 0 for non-PC/MSDOS partition maps.
30515
aca63502 305162008-02-16 Robert Millan <rmh@aybabtu.com>
30517
30518 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
30519 do not assume partition map is PC/MSDOS before performing checks that
30520 are specific to that layout.
30521
0de8be86 305222008-02-13 Robert Millan <rmh@aybabtu.com>
30523
30524 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
30525 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
30526 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
30527
c3db8364 305282008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
30529
30530 * configure.ac: Only a cosmetic change on the handling of
30531 -fno-stack-protector.
30532
f714229e 305332008-02-12 Alexandre Boeglin <alex@boeglin.org>
30534
c3db8364 30535 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
30536 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
30537 reboot.c.
f714229e 30538 (grub_install_SOURCES): Add halt.mod and reboot.mod.
30539 (halt_mod_SOURCES): New variable.
30540 (halt_mod_CFLAGS): Likewise.
30541 (halt_mod_LDFLAGS): Likewise.
30542 (reboot_mod_SOURCES): Likewise.
30543 (reboot_mod_CFLAGS): Likewise.
30544 (reboot_mod_LDFLAGS): Likewise.
30545
c3db8364 30546 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
30547 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
30548 reboot.c.
f714229e 30549 (halt_mod_SOURCES): Likewise.
30550 (reboot_mod_SOURCES): Likewise.
30551
c3db8364 30552 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
30553 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 30554 (reboot_mod_SOURCES): Likewise.
30555
30556 * commands/i386/pc/reboot.c: merge this file ...
30557
30558 * commands/ieee1275/reboot.c: ... and this file ...
30559
30560 * commands/reboot.c: ... to this file.
c3db8364 30561 Add some precompiler directive to include the correct header for
30562 each machine.
f714229e 30563
30564 * commands/ieee1275/halt.c: move this file ...
30565
30566 * commands/halt.c: ... to here.
c3db8364 30567 Add some precompiler directive to include the correct header for
30568 each machine.
f714229e 30569
30570 * include/grub/efi/efi.h (grub_reboot): New function declaration.
30571 (grub_halt): Likewise.
30572
30573 * kern/efi/efi.c (grub_reboot): New function.
30574 (grub_halt): Likewise.
30575
c74493e0 305762008-02-12 Robert Millan <rmh@aybabtu.com>
30577
30578 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
30579 /dev (like it is done for /dev/mapper). This doesn't provide support
30580 for EVMS, but at least it is now easy to identify the problem when it
30581 arises.
30582
d0db4b04 305832008-02-11 Robert Millan <rmh@aybabtu.com>
30584
30585 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
30586 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
30587 comparing it with -1, not 0.
30588
bf748642 305892008-02-10 Robert Millan <rmh@aybabtu.com>
30590
30591 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
30592 `disk/lvm.c'.
30593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30594 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
30595
30596 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
30597 `disk/lvm.c' to the end of the list.
30598 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
30599 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
30600
b5db202a 306012008-02-10 Robert Millan <rmh@aybabtu.com>
30602
30603 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
30604 grub_print_error() instead. This will let user know why we're entering
30605 rescue mode.
30606 Based on suggestions from Sam Morris.
30607
83abee31 306082008-02-10 Alexandre Boeglin <alex@boeglin.org>
30609
30610 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
30611 on remaining N args, instead of "--" arg N times.
30612
78d5a08b 306132008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
30614
30615 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
30616 (fill_with_default_glyph): Changed to use unknown_glyph for fill
30617 pattern for unknown glyphs.
30618
68807e5f 306192008-02-09 Robert Millan <rmh@aybabtu.com>
30620
30621 * configure.ac: Probe for `help2man'.
30622 * Makefile.in (builddir): New variable.
30623 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
30624 or otherwise add a few flags/options to it.
30625 (install-local): For every executable utility or script that is
30626 installed, invoke $(HELP2MAN) to install a manpage based on --help
30627 output.
30628
30629 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
30630 that it doesn't prevent --help from working in build tree.
30631
30632 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
30633 with `bug-grub@gnu.org'.
30634 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
30635 * util/update-grub.in (usage): New function.
30636 Implement proper argument check, with support for --help and --version
30637 (as well as existing -y).
30638
306392008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 30640
30641 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
30642 avoid overwriting previous output.
30643 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
30644
c1962162 306452008-02-09 Robert Millan <rmh@aybabtu.com>
30646
30647 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
30648 drawing the menu.
30649
3dac2e3f 306502008-02-09 Robert Millan <rmh@aybabtu.com>
30651
30652 * commands/sleep.c: New file.
30653 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
30654 (sleep_mod_SOURCES): New variable.
30655 (sleep_mod_CFLAGS): Likewise.
30656 (sleep_mod_LDFLAGS): Likewise.
30657
7a634e08 306582008-02-09 Robert Millan <rmh@aybabtu.com>
30659
30660 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
30661 situations in which we can deduce the RAID size and the superblock
30662 doesn't match it.
30663
b92f0c18 306642008-02-09 Robert Millan <rmh@aybabtu.com>
30665
30666 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
30667 and return a grub_diskmemberlist_t composed of LVM physical volumes.
30668 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
30669
30670 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
30671 and return a grub_diskmemberlist_t composed of physical array members.
30672 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
30673
30674 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
30675 prototype.
30676 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
30677 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
30678 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
30679
30680 * util/grub-probe.c (probe): Move partmap probing code from here ...
30681 (probe_partmap): ... to here.
30682 (probe): Use probe_partmap() once for the disk we're probing, and
30683 additionally, when such disk contains a memberlist() struct member,
30684 once for each disk that is contained in the structure returned by
30685 memberlist().
30686
91a4bf68 306872008-02-09 Robert Millan <rmh@aybabtu.com>
30688
30689 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
30690 environment variable to 'all' in order to obtain debug output from
30691 non-util/ code.
30692 * util/i386/pc/grub-setup.c (main): Likewise.
30693
a96f9caa 306942008-02-08 Robert Millan <rmh@aybabtu.com>
30695
30696 * disk/raid.c (grub_raid_scan_device): Check for
30697 `array->device[sb.this_disk.number]' rather than for
30698 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 30699 guaranteed to be accessible.
a96f9caa 30700
b37a9222 307012008-02-08 Robert Millan <rmh@aybabtu.com>
30702
30703 * disk/raid.c: Update copyright.
30704 * fs/cpio.c: Likewise.
30705 * include/grub/raid.h: Likewise.
30706 * loader/i386/pc/multiboot.c: Likewise.
30707 * util/hostfs.c: Likewise.
30708
5626aee1 307092008-02-08 Robert Millan <rmh@aybabtu.com>
30710
30711 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
30712 to a grub_disk_t array.
30713 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
30714 `device[x]'.
30715 (grub_raid_scan_device): Replace `device[x].name' accesses with
30716 `device[x]->name'. Simplify initialization of `array->device[x]'.
30717
554f0187 307182008-02-08 Robert Millan <rmh@aybabtu.com>
30719
30720 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
30721 grub_dprintf() calls.
30722 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
30723 error message.
30724
1ec8425d 307252008-02-07 Christian Franke <franke@computer.org>
30726
30727 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
30728 instead of fseek and ftell to support large files.
30729 (grub_hostfs_read): Likewise.
30730
f2156fda 307312008-02-07 Robert Millan <rmh@aybabtu.com>
30732
30733 Patch from Jeroen Dekkers.
30734 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 30735 failure, since successfully reading all array members might not be
f2156fda 30736 required.
30737
9216e0e7 307382008-02-06 Robert Millan <rmh@aybabtu.com>
30739
30740 * util/grub-probe.c (probe): Simplify partmap probing (with the
30741 assumption that the first word up to the underscore equals to
30742 the module name).
30743
b0dfd29a 307442008-02-06 Christian Franke <franke@computer.org>
30745
30746 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
30747 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
30748 last block of a cpio or tar stream.
30749 Check for "TRAILER!!!" instead of any empty data
30750 block to detect last block of a cpio stream.
30751 (grub_cpio_dir): Fix constness of variable np.
30752 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
30753 cpio or tar trailer is detected. This fixes a crash
30754 on open of a non existing file.
30755
c32865bf 307562008-02-05 Bean <bean123ch@gmail.com>
30757
30758 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
30759 address of entry.
30760 (grub_multiboot_load_elf64): Likewise.
30761 (grub_multiboot): Initialize mbi structure.
30762
30763 * util/grub-fstest.c: Don't include unused header file script.h.
30764
fe6b695a 30765 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 30766 of file.
30767 (grub_fstest_SOURCES): Likewise.
30768
409480b7 307692008-02-05 Robert Millan <rmh@aybabtu.com>
30770
30771 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
30772 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
30773 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
30774 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
30775
30776 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
30777 (translation_table): Replace hardcoded values with macros
30778 provided by `<grub/term.h>'.
30779
30780 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
30781 (keyboard_map): Correct/add a few values, with macros provided
30782 by `<grub/term.h>'.
30783 (keyboard_map_shift): Zero values that don't differ from their
30784 `keyboard_map' equivalents.
30785 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
30786 Discard the second scan code that is always sent by Caps lock.
30787 Only use `keyboard_map_shift' when it provides a non-zero value,
30788 otherwise fallback to `keyboard_map'.
30789
99fadbaa 307902008-02-04 Bean <bean123ch@gmail.com>
30791
30792 * Makefile.in (enable_grub_fstest): New variable.
30793
30794 * conf/common.rmk (grub_fstest_init.lst): New rule.
30795 (grub_fstest_init.h): Likewise.
30796 (grub_fstest_init.c): Likewise.
30797 (util/grub-fstest.c_DEPENDENCIES): New variable.
30798 (grub_fstest_SOURCES): Likewise.
30799
30800 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
30801
30802 * util/grub-fstest.c: New file.
30803
bf567c50 308042008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30805
30806 Make grub-setup handle a separate root device.
f19dbdb7 30807
bf567c50 30808 * util/i386/pc/grub-setup.c (setup): Always open the root device,
30809 so that the root device can be compared with the destination
30810 device.
30811 When embedding the core image, if the root and destination devices
30812 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
30813 0xFF.
30814 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 30815
9be6b98b 308162008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30817
30818 Add support for having a grub directory in a different drive. This
30819 is still only the data handling part.
f19dbdb7 30820
9be6b98b 30821 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
30822 (codestart): Save %dh in GRUB_ROOT_DRIVE.
30823 (grub_root_drive): New variable.
30824
30825 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
30826 instead of GRUB_BOOT_DRIVE to construct a device name. Set
30827 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
30828 as it was.
30829
30830 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
30831
30832 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
30833 macro.
30834 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
30835
30836 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
30837 is bogus, because PXE booting does not specify any drive
30838 correctly.
30839
30840 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
30841 am not sure if this is really correct.
30842
30843 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
30844 is always identical to the boot drive when booting from a CD.
30845
30846 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
30847 longer.
30848 (root_drive): New variable.
30849 (real_start): Unconditionally set %dh to ROOT_DRIVE.
30850 (setup_sectors): Push %dx right after popping it, because %dh will
30851 be modified later.
30852 (copy_buffer): Restore %dx.
30853
e0ca0677 308542008-02-03 Robert Millan <rmh@aybabtu.com>
30855
30856 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
30857 use `cdboot.img' for cdrom images.
30858
3b3f6629 308592008-02-03 Robert Millan <rmh@aybabtu.com>
30860
30861 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
30862 only setup gfxterm when `font' command has succeeded.
30863
d42b3672 308642008-02-03 Robert Millan <rmh@aybabtu.com>
30865
30866 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
30867 (grub_rescue_cmd_multiboot_loader)
30868 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
30869
fa370ea6 308702008-02-03 Pavel Roskin <proski@gnu.org>
30871
e0c5dacb 30872 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 30873 %edx and %esi from stack only after grub_gate_a20() is called.
30874 grub_gate_a20() clobbers %edx.
30875
f2a76e1d 308762008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
30877
30878 * configure.ac (AC_INIT): Bumped to 1.96.
30879
30880 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
30881 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
30882 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
30883 video/readers/png.c.
30884
90fd32d1 308852008-02-03 Bean <bean123ch@gmail.com>
9be665dd 30886
30887 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
30888 (cdboot_img_SOURCES): New variable.
30889 (cdboot_img_ASFLAGS): New variable.
30890 (cdboot_img_LDFLAGS): New variable.
30891
30892 * boot/i386/pc/cdboot.S: New file.
30893
30894 * disk/i386/pc/biosdisk.c (cd_start): New variable.
30895 (cd_count): Likewise.
30896 (grub_biosdisk_get_drive): Add support for cd device.
30897 (grub_biosdisk_call_hook): Likewise.
30898 (grub_biosdisk_iterate): Likewise.
30899 (grub_biosdisk_open): Likewise.
30900 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
30901 (grub_biosdisk_rw): Support reading from cd device.
30902 (GRUB_MOD_INIT): Iterate cd devices.
30903
30904 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
30905 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
30906 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
30907
30908 * kern/i386/pc/init.c (make_install_device): Check for cd device.
30909
4020aa53 309102008-02-02 Robert Millan <rmh@aybabtu.com>
30911
30912 * commands/read.c: New file.
30913 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
30914 (read_mod_SOURCES): New variable.
30915 (read_mod_CFLAGS): Likewise.
30916 (read_mod_LDFLAGS): Likewise.
30917
e03a1132 309182008-02-02 Robert Millan <rmh@aybabtu.com>
30919
30920 * normal/main.c (grub_normal_execute): Check for `menu->size' when
30921 determining whether menu has to be displayed.
30922
58c69220 309232008-02-02 Marco Gerards <marco@gnu.org>
30924
30925 * bus/pci.c: New file.
30926
30927 * include/grub/pci.h: Likewise.
30928
30929 * include/grub/i386/pc/pci.h: Likewise.
30930
30931 * commands/lspci.c: Likewise.
30932
30933 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
30934 `lspci.mod'.
30935 (pci_mod_SOURCES): New variable.
30936 (pci_mod_CFLAGS): Likewise.
30937 (pci_mod_LDFLAGS): Likewise.
30938 (lspci_mod_SOURCES): Likewise.
30939 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 30940 (lspci_mod_LDFLAGS): Likewise.
58c69220 30941
c004e1b4 309422008-02-02 Bean <bean123ch@gmail.com>
30943
30944 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
30945 (grub_ufs_get_file_block): Fix indirect block calculation problem.
30946
30947 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
30948 (grub_xfs_btree_node): New structure.
30949 (grub_xfs_btree_root): New structure.
30950 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
30951 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
30952 (GRUB_XFS_EXTENT_BLOCK): Likewise.
30953 (GRUB_XFS_EXTENT_SIZE): Likewise.
30954 (grub_xfs_read_block): Support btree format type.
30955 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
30956 Use directory block as basic unit.
30957
30958 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
30959
30960 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
30961 __attribute__ ((__regparm__ (1))).
30962
f95562bf 309632008-02-01 Robert Millan <rmh@aybabtu.com>
30964
30965 Correct a mistake in previous commit.
30966
30967 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
30968 top.
30969 (normal/command.c_DEPENDENCIES): New variable.
30970
7d31f41f 309712008-02-01 Robert Millan <rmh@aybabtu.com>
30972
30973 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
30974 top.
30975 (normal/command.c_DEPENDENCIES): New variable.
30976 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
30977 * conf/i386-ieee1275.rmk: Likewise.
30978 * conf/i386-linuxbios.rmk: Likewise.
30979 * conf/i386-pc.rmk: Likewise.
30980 * conf/sparc64-ieee1275.rmk: Likewise.
30981 * conf/powerpc-ieee1275.rmk: Likewise.
30982 (grub_emu_SOURCES): Add `fs/fshelp.c'.
30983
30984 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
30985
60b6be74 309862008-02-01 Robert Millan <rmh@aybabtu.com>
30987
30988 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
30989 call at beginning of function.
30990
078522ab 309912008-01-31 Pavel Roskin <proski@gnu.org>
30992
30993 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 30994 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
30995 (grub_mkrescue_SOURCES): Likewise.
078522ab 30996 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
30997
ccaa8a5f 309982008-01-30 Robert Millan <rmh@aybabtu.com>
30999
31000 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
31001 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
31002 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
31003 (grub_probe_SOURCES): ... to here.
31004
31005 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
31006 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
31007 * conf/i386-ieee1275.rmk: Likewise.
31008 * conf/i386-linuxbios.rmk: Likewise.
31009 * conf/powerpc-ieee1275.rmk: Likewise.
31010
ae5a9cd7 310112008-01-30 Tristan Gingold <gingold@free.fr>
31012
31013 * kern/rescue.c: Silently accept empty lines.
31014
70bc2ef2 310152008-01-29 Bean <bean123ch@gmail.com>
31016
31017 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
31018 (real_code_2): Code cleanup and change comment style.
31019 (move_memory): Avoid using 32-bit address mode.
31020
6a4d50ea 310212008-01-29 Bean <bean123ch@gmail.com>
31022
31023 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
31024 (png_mod_SOURCES): New variable.
31025 (png_mod_CFLAGS): Likewise.
31026 (png_mod_LDFLAGS): Likewise.
31027
31028 * video/readers/png.c: New file.
31029
11cc30ac 310302008-01-28 Robert Millan <rmh@aybabtu.com>
31031
31032 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
31033 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
31034 `ifndef GRUB_MOD_GAP' hack.
31035 * util/elf/grub-mkimage.c (add_segments): Likewise.
31036
3abc589f 310372008-01-27 Robert Millan <rmh@aybabtu.com>
31038
31039 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
31040 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 31041 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 31042
e1907778 310432008-01-27 Robert Millan <rmh@aybabtu.com>
31044
31045 Get grub-emu to build again (including parallel builds).
31046
31047 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
31048 Split into ...
31049 (util/grub-emu.c_DEPENDENCIES): ... this, ...
31050 (normal/execute.c_DEPENDENCIES): ... this, ...
31051 (grub-emu_DEPENDENCIES): ... and this.
31052
31053 * conf/i386-efi.rmk: Likewise.
31054 * conf/i386-linuxbios.rmk: Likewise.
31055 * conf/i386-ieee1275.rmk: Likewise.
31056 * conf/powerpc-ieee1275.rmk: Likewise.
31057 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
31058
2216b101 310592008-01-27 Robert Millan <rmh@aybabtu.com>
31060
31061 * NEWS: Add a few items.
31062
f75172d9 310632008-01-27 Robert Millan <rmh@aybabtu.com>
31064
31065 Fix parallel builds with grub-emu. Based on earlier commit for
31066 grub-probe and grub-setup.
31067
31068 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31069 (util/grub-emu.c_DEPENDENCIES): ... this.
31070 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31071 (util/grub-emu.c_DEPENDENCIES): ... this.
31072 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31073 (util/grub-emu.c_DEPENDENCIES): ... this.
31074 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31075 (util/grub-emu.c_DEPENDENCIES): ... this.
31076 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
31077 (util/grub-emu.c_DEPENDENCIES): ... this.
31078
3f51de77 310792008-01-27 Pavel Roskin <proski@gnu.org>
31080
31081 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
31082 to create a gap between _end and the modules added to the image
31083 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
31084 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
31085 * util/elf/grub-mkimage.c (add_segments): Likewise.
31086
2033f53e 310872008-01-26 Pavel Roskin <proski@gnu.org>
31088
31089 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
31090 just return an error.
31091
22da1f6f 310922008-01-26 Bean <bean123ch@gmail.com>
31093
31094 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
31095 (grub_reiserfs_get_item): Save offset of the next item.
31096 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
31097
2a9525e6 310982008-01-25 Robert Millan <rmh@aybabtu.com>
31099
31100 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
31101 make all filesystem sources appear together (possibly fixing omissions
31102 while at it).
31103 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31104 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31105 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31107
31108 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
31109 add `kern/file.c'.
31110 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
31111 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31112 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
31113 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
31114
31115 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
31116 (probe): Add a sanity check to make sure of our ability to read
31117 requested files when probing for filesystem type.
31118
31119 * genmk.rb: Update copyright year (2007).
31120
31121 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
31122 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
31123 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
31124 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
31125 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
31126 : Remove function prototypes.
31127
b95f71b5 311282008-01-25 Robert Millan <rmh@aybabtu.com>
31129
31130 Revert my previous commits (based on wrong assumption of how grub_errno
31131 works).
31132
fe6b695a 31133 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 31134 * kern/file.c (grub_file_open): Likewise.
31135
d08bbb49 311362008-01-24 Pavel Roskin <proski@gnu.org>
31137
31138 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
31139 that hang if GRUB tries to setup colors.
31140 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
31141 colors for firmwares that don't support it.
31142 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
31143 Recognize Open Hack'Ware, set flags to work around its
31144 limitations.
31145
605e36ed 311462008-01-24 Robert Millan <rmh@aybabtu.com>
31147
31148 * kern/file.c (grub_file_open): Do not account previous failures of
31149 unrelated functions when grub_errno is checked for.
31150 Reported by Oleg Strikov.
31151
bac332a1 311522008-01-24 Bean <bean123ch@gmail.com>
31153
31154 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
31155 (grub_ufs_sblock): New member volume name.
31156 (grub_ufs_find_file): Fix string copy bug.
31157 (grub_ufs_label): Implement this function properly.
31158
31159 * fs/hfs.c (grub_hfs_cnid_type): New enum.
31160 (grub_hfs_iterate_records): Use the correct file number for extents
31161 and catalog file. Fix problem in next index calculation.
31162 (grub_hfs_find_node): Replace recursive function call with loop.
31163 (grub_hfs_iterate_dir): Replace recursive function call with loop.
31164
15c80c09 311652008-01-23 Robert Millan <rmh@aybabtu.com>
31166
31167 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
31168 `<grub/symbol.h>' and `<grub/multiboot.h>'.
31169 (grub_multiboot2_real_boot): New function prototype.
31170
31171 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
31172 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
31173
31174 * kern/i386/ieee1275/init.c (grub_os_area_addr)
31175 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
31176
305338fd 311772008-01-23 Robert Millan <rmh@aybabtu.com>
31178
31179 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
31180 #ifdef'ed out grub_printf().
31181
3ea52685 311822008-01-23 Robert Millan <rmh@aybabtu.com>
31183
31184 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
31185 grub_dprintf calls, since they make "debug=all" mode unusable.
31186 (grub_console_checkkey): Likewise.
31187
5882ae4b 311882008-01-23 Robert Millan <rmh@aybabtu.com>
31189
31190 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
31191 `term/i386/pc/at_keyboard.c'.
31192 (pkglib_MODULES): Add `serial.mod'.
31193 (serial_mod_SOURCES): New variable.
31194 (serial_mod_CFLAGS): Likewise.
31195 (serial_mod_LDFLAGS): Likewise.
31196
31197 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
31198 `<grub/powerpc/ieee1275/console.h>'.
31199 (grub_keyboard_controller_init): New function prototype.
31200 (grub_console_checkkey): Likewise.
31201 (grub_console_getkey): Likewise.
31202
31203 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
31204 keyboard on i386.
31205
31206 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
31207 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
31208
06ab5303 312092008-01-23 Robert Millan <rmh@aybabtu.com>
31210
31211 * kern/i386/pc/init.c (make_install_device): When memdisk image is
31212 present, "(memdisk)/boot/grub" becomes the default prefix.
31213
31214 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
31215 a memdisk tarball with all the modules. Add --overlay=DIR option that
31216 allows users to overlay additional files into the image.
31217
dbb475a4 312182008-01-23 Robert Millan <rmh@aybabtu.com>
31219
31220 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
31221 and `machine/memory.h'.
31222 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
31223 (_multiboot_mod_SOURCES): New variable.
31224 (_multiboot_mod_CFLAGS): Likewise.
31225 (_multiboot_mod_LDFLAGS): Likewise.
31226 (multiboot_mod_SOURCES): Likewise.
31227 (multiboot_mod_CFLAGS): Likewise.
31228 (multiboot_mod_LDFLAGS): Likewise.
31229
31230 * include/grub/i386/ieee1275/loader.h: New file.
31231
31232 * include/grub/i386/ieee1275/machine.h: Likewise.
31233
31234 * include/grub/i386/ieee1275/memory.h: Likewise.
31235
31236 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
31237 variable declaration.
31238 (grub_os_area_size): Likewise.
31239
31240 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
31241 (grub_lower_mem, grub_upper_mem): New variables.
31242 (grub_stop_floppy): New function (just to make
31243 grub_multiboot2_real_boot() happy).
31244
31245 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
31246 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
31247 (grub_stop): New function.
31248 Include `"../realmode.S"' and `"../loader.S"'.
31249
31250 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
31251 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
31252
31253 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
31254 rely on grub_multiboot2_real_boot() for final boot.
31255
25638629 312562008-01-22 Robert Millan <rmh@aybabtu.com>
31257
31258 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
31259 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
31260 device that doesn't look like an SD card.
31261 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
31262 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
31263 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
31264 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
31265 found.
31266
9dad816d 312672008-01-22 Robert Millan <rmh@aybabtu.com>
31268
31269 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
31270 avoid claiming over our own code.
31271
34842f2d 312722008-01-22 Bean <bean123ch@gmail.com>
31273
31274 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
31275 (jpeg_mod_SOURCES): New variable.
31276 (jpeg_mod_CFLAGS): Likewise.
31277 (jpeg_mod_LDFLAGS): Likewise.
31278
31279 * video/readers/jpeg.c : New file.
31280
44023a28 312812008-01-22 Bean <bean123ch@gmail.com>
31282
31283 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
31284 there are no more items.
31285
bc2d8ac6 312862008-01-21 Robert Millan <rmh@aybabtu.com>
31287
31288 * kern/mm.c (grub_mm_init_region): Improve debug message.
31289
261bd4bc 312902008-01-21 Robert Millan <rmh@aybabtu.com>
31291
31292 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
31293 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
31294 address.
31295 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
31296 a C macro.
31297 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
31298 Indicates start of upper memory.
31299 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
31300 (generate_image): Abort when image size is big enough to corrupt
31301 upper memory.
31302
31303 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
31304 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
31305 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31306 instead of hardcoding 0xA0000.
31307 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
31308 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
31309 instead of hardcoding 0xA0000.
31310
f970b55e 313112008-01-21 Robert Millan <rmh@aybabtu.com>
31312
31313 * disk/memdisk.c (memdisk_size): New variable.
31314 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
31315 `memdisk_size'.
31316 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
31317 image to dynamic memory.
31318 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
31319 `memdisk_size'. Free memdisk block.
31320
1a8b0526 313212008-01-21 Robert Millan <rmh@aybabtu.com>
31322
31323 Fix detection of very small filesystems (like tar).
31324
31325 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
31326 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
31327 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
31328 a problem with this disk).
31329
6e9b4aab 313302008-01-21 Robert Millan <rmh@aybabtu.com>
31331
31332 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
31333 on grub_biosdisk_rw_standard() error.
31334
0d8837b2 313352008-01-21 Robert Millan <rmh@aybabtu.com>
31336
31337 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
31338 recent changes.
31339 * kern/elf.c: Likewise.
31340 * kern/ieee1275/ieee1275.c: Likewise.
31341 * kern/powerpc/ieee1275/openfw.c: Likewise.
31342 * term/ieee1275/ofconsole.c: Likewise.
31343
ffd36e34 313442008-01-21 Robert Millan <rmh@aybabtu.com>
31345
31346 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
31347
3f0093d0 31348 * include/grub/kernel.h (grub_arch_memdisk_addr)
31349 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 31350
3f0093d0 31351 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
31352 (grub_arch_memdisk_size): ... to here.
ffd36e34 31353
6c391b21 313542008-01-21 Robert Millan <rmh@aybabtu.com>
31355
31356 Mostly based on bugfix from Bean.
31357
31358 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
31359 attribute with hook() parameter.
31360 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
31361 declaration.
31362 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
31363 attribute with hook() parameter.
31364 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
31365 declaration.
31366
55a581dc 313672008-01-21 Robert Millan <rmh@aybabtu.com>
31368
31369 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
31370 (pkglib_MODULES): Add `memdisk.mod'.
31371 (memdisk_mod_SOURCES): New variable.
31372 (memdisk_mod_CFLAGS): Likewise.
31373 (memdisk_mod_LDFLAGS): Likewise.
31374
31375 * disk/memdisk.c: New file.
31376
31377 * include/grub/disk.h (grub_disk_dev_id): Add
31378 `GRUB_DISK_DEVICE_MEMDISK_ID'.
31379
31380 * include/grub/i386/pc/kernel.h
31381 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
31382 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
31383 (grub_kernel_image_size): New variable declaration.
31384 (grub_total_module_size): Likewise.
31385 (grub_memdisk_image_size): Likewise.
31386
31387 * include/grub/i386/pc/memory.h
31388 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
31389
31390 * include/grub/kernel.h: Include `<grub/symbol.h>'.
31391 (grub_arch_memdisk_addr): New variable declaration.
31392 (grub_arch_memdisk_size): Likewise.
31393
31394 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
31395 (grub_arch_memdisk_size): Likewise.
31396
31397 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
31398 (codestart): Replace hardcoded `0x100000' with
31399 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
31400
31401 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
31402 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
31403 not NULL, append the contents of the file it refers to, at the end of
31404 the compressed kernel image. Initialize `grub_memdisk_image_size'
31405 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
31406 (options): Add "memdisk"|'m' option.
31407 (main): Parse --memdisk|-m option, and pass user-provided path as
31408 parameter to generate_image().
31409
3d7f54c9 314102008-01-20 Robert Millan <rmh@aybabtu.com>
31411
31412 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
31413 grub_dprintf() calls from here ...
31414 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
31415
0bf74728 314162008-01-20 Robert Millan <rmh@aybabtu.com>
31417
31418 Fix detection of "real mode" when /options/real-mode? doesn't exist.
31419
31420 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
31421 declaration.
31422 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
31423 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
31424 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 31425 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 31426 property).
31427 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
31428 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
31429
33bf70a7 314302008-01-19 Robert Millan <rmh@aybabtu.com>
31431
fe6b695a 31432 Get rid of confusing function (superseded by
33bf70a7 31433 `grub_ieee1275_get_integer_property')
31434 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
31435 prototype.
31436 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
31437 function.
31438 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
31439 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 31440 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 31441
e2da7d26 314422008-01-19 Robert Millan <rmh@aybabtu.com>
31443
31444 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
31445 command after "shut-down", since implementations differ on which
31446 the command for halt is.
31447
59f1fd8d 314482008-01-19 Robert Millan <rmh@aybabtu.com>
31449
31450 * include/grub/i386/linuxbios/console.h: Add header protection.
31451 (grub_keyboard_controller_init): New function prototype.
31452 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
31453 (KEYBOARD_COMMAND_READ): Likewise.
31454 (KEYBOARD_COMMAND_WRITE): Likewise.
31455 (KEYBOARD_SCANCODE_SET1): Likewise.
31456 (grub_keyboard_controller_write): New function.
31457 (grub_keyboard_controller_read): Likewise.
31458 (grub_keyboard_controller_init): Likewise.
31459
31460 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
31461 (grub_console_init): On coreboot/LinuxBIOS, call
31462 grub_keyboard_controller_init().
31463
5f5a7c15 314642008-01-19 Robert Millan <rmh@aybabtu.com>
31465
31466 PowerPC changes provided by Pavel Roskin.
31467
31468 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
31469 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
31470 don't rely on cmain() doing it.
31471 * kern/i386/ieee1275/startup.S (_start): Store %eax in
31472 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
31473
1210e168 314742008-01-16 Robert Millan <rmh@aybabtu.com>
31475
31476 * include/grub/i386/linuxbios/memory.h
31477 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
31478 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
31479 receive `table_header' as argument. Instead, probe for it in the
31480 known memory ranges where it can be present.
31481 (grub_available_iterate): Do not pass a fixed `table_header' address
31482 to grub_linuxbios_table_iterate().
31483
3d04eab8 314842008-01-15 Robert Millan <rmh@aybabtu.com>
31485
31486 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
31487 * conf/i386-ieee1275.rmk: New file.
31488 * include/grub/i386/ieee1275/console.h: Likewise.
31489 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
31490 * include/grub/i386/ieee1275/kernel.h: Likewise.
31491 * include/grub/i386/ieee1275/time.h: Likewise.
31492 * kern/i386/ieee1275/init.c: Likewise.
31493 * kern/i386/ieee1275/startup.S: Likewise.
31494
d1bc1b73 314952008-01-15 Robert Millan <rmh@aybabtu.com>
31496
31497 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
31498 when pointers are 32-bit (but still do set it to one when they are
31499 64-bit).
31500
66a65807 315012008-01-15 Robert Millan <rmh@aybabtu.com>
31502
31503 * include/grub/ieee1275/ieee1275.h
31504 (grub_ieee1275_get_integer_property): New function prototype.
31505
31506 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
31507 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 31508 grub_ieee1275_get_property() to handle endianness.
66a65807 31509
31510 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
31511 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 31512 where appropriate.
66a65807 31513 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
31514 (grub_map): Likewise.
31515 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
31516
a83ccafd 315172008-01-15 Bean <bean123ch@gmail.com>
31518
31519 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
31520 (grub_script_execute_cmdline): Reset grub_errno.
31521
31522 * normal/main.c (read_config_file): Reset grub_errno.
31523
31524 * normal/parse.y (script_init): New.
31525 (script): Move function and menuentry here.
31526 (delimiter): New.
31527 (command): Add delimiter at the end of command.
31528 (commands): Adjust to match the new command.
31529 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 31530 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 31531 (if): Use the new commands.
31532
31533 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
31534
df6ecfc6 315352008-01-15 Robert Millan <rmh@aybabtu.com>
31536
31537 * normal/menu.c (run_menu): Move timeout message from here ...
31538 (print_timeout): ... to here.
31539 (run_menu): Use print_timeout() once during initial draw to print
31540 the whole message, and again in every clock tick to update only
31541 the number of seconds.
31542
87ae25eb 315432008-01-15 Robert Millan <rmh@aybabtu.com>
31544
31545 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
31546 actual size of `available' from grub_ieee1275_get_property(), and
31547 restrict parsing to that bound.
31548
47bf09a4 315492008-01-15 Christian Franke <franke@computer.org>
31550
31551 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
31552 (argp_program_version): Remove variable.
31553 (argp_program_bug_address): Likewise.
31554 (options): Convert from struct argp_option to struct option.
31555 (struct arguments): Remove.
31556 (parse_opt): Remove.
31557 (usage): New function.
31558 (main): Replace struct args members by simple variables.
31559 Replace argp_parse() by getopt_long().
31560 Add switch to evaluate options.
31561 Add missing "(...)" around root_dev in prefix string.
31562
c86f1469 315632008-01-14 Robert Millan <rmh@aybabtu.com>
31564
31565 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
31566 for grub_ieee1275_exit(), in order to improve portability.
31567
e622c559 315682008-01-14 Robert Millan <rmh@aybabtu.com>
31569
31570 * util/grub.d/10_linux.in (prefix): Define.
31571 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
31572
44cb1ec8 315732008-01-13 Pavel Roskin <proski@gnu.org>
31574
31575 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
31576 grub_errno if no errors have been detected.
31577
1eb8c802 315782008-01-12 Robert Millan <rmh@aybabtu.com>
31579
31580 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
31581 (grub_util_get_dev_abstraction): New function prototype.
31582
31583 * util/getroot.c: Include `<grub/util/getroot.h>'
31584 (grub_util_get_grub_dev): Move detection of abstraction type to ...
31585 (grub_util_get_dev_abstraction): ... here (new function).
31586
31587 * util/grub-probe.c: Convert PRINT_* to an enum. Add
31588 `PRINT_ABSTRACTION'.
31589 (probe): Probe for abstraction type when requested.
31590 (main): Understand `--target=abstraction'.
31591
31592 * util/i386/efi/grub-install.in: Add abstraction module to core
31593 image when it is found to be necessary.
31594 * util/i386/pc/grub-install.in: Likewise.
31595 * util/powerpc/ieee1275/grub-install.in: Likewise.
31596
31597 * util/update-grub_lib.in (font_path): Return system path without
31598 converting to GRUB path.
31599 * util/update-grub.in: Convert system path returned by font_path()
31600 to a GRUB path. Use `grub-probe -t abstraction' to determine what
31601 abstraction module is needed for loading fonts (if any). Export
31602 that as `GRUB_PRELOAD_MODULES'.
31603 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
31604 insmod commands).
31605
52bd3de9 316062008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
31607
31608 Remove some unused code from reiserfs.
f19dbdb7 31609
52bd3de9 31610 * fs/reiserfs.c (struct grub_reiserfs_key)
31611 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
31612 (struct grub_reiserfs_node_body): Removed.
31613 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31614 Likewise.
31615 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31616 Likewise.
31617 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31618 Likewise.
31619 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
31620 Likewise.
31621 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
31622 Likewise.
31623 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
31624 Likewise.
31625 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31626 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31627 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
31628
2f80039d 316292008-01-10 Robert Millan <rmh@aybabtu.com>
31630
31631 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
31632 Determines if a file is garbage left by packaging systems, etc.
31633 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
31634 for processing /etc/grub.d scripts.
31635 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
31636 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
31637 as a condition for processing Linux images.
31638
87888032 316392008-01-10 Pavel Roskin <proski@gnu.org>
31640
31641 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
31642 to compile reiserfs.c on PowerPC.
31643
7e54fced 316442008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 31645
31646 * kern/device.c (grub_device_iterate): Do not abort device iteration
31647 when one of the devices cannot be opened.
31648 * kern/disk.c (grub_disk_open): Do not account previous failures of
31649 unrelated functions when grub_errno is checked for.
31650
5aa541e6 316512008-01-08 Robert Millan <rmh@aybabtu.com>
31652
31653 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
31654 `! grub_linux_is_bzimage', change order of address comparison to make
31655 it more intuitive, and improve "too big zImage" error message.
31656
7076340d 316572008-01-08 Robert Millan <rmh@aybabtu.com>
31658
31659 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
31660 `$(update-grub_DATA)'.
31661 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
31662 targets.
31663
9ca70333 316642008-01-07 Robert Millan <rmh@aybabtu.com>
31665
31666 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
31667 which instruction is modified by grub-setup during installation
31668 (since it wasn't obvious by only looking at this file).
31669
38ccf575 316702008-01-07 Robert Millan <rmh@aybabtu.com>
31671
31672 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
31673 listing actual TODO items.
31674
f5db4291 316752008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31676
868967cf 31677 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
31678 correctly.
31679 (grub_reiserfs_get_key_offset): Likewise.
31680 (grub_reiserfs_set_key_offset): Likewise.
31681 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 31682 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 31683
31684 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
31685 better to remove the bitfield version completely.
f19dbdb7 31686
868967cf 316872008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 31688
f5db4291 31689 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
31690 allocated from the heap, due to the fshelp implementation.
31691 (grub_reiserfs_dir): Free NODE, due to the same reason.
31692
492e6d9d 316932008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
31694
31695 Mostly from Vincent Pelletier:
f19dbdb7 31696
492e6d9d 31697 * fs/reiserfs.c: New file.
f19dbdb7 31698
492e6d9d 31699 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
31700 (reiserfs_mod_SOURCES): New variable.
31701 (reiserfs_mod_CFLAGS): Likewise.
31702 (reiserfs_mod_LDFLAGS): Likewise.
31703
31704 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
31705 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
31706 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
31707 normal/color.c.
31708
9ce3e7c1 317092008-01-06 Robert Millan <rmh@aybabtu.com>
31710
31711 * normal/color.c: Remove `<grub/env.h>'.
31712
f3b58148 317132008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
31714
31715 * include/grub/normal.h: Include <grub/env.h>.
31716
7ac3bcfa 317172008-01-05 Robert Millan <rmh@aybabtu.com>
31718
31719 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
31720 usage example with `(hd0,1)'.
fb358190 31721 Reported by Samuel Thibault.
7ac3bcfa 31722
c8ee99d7 317232008-01-05 Robert Millan <rmh@aybabtu.com>
31724
31725 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
31726 (grub_linux_boot_zimage): Rename to ...
31727 (grub_linux_boot): ... this.
31728 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
31729 (grub_linux_boot_zimage): Conditionalize zImage copy.
31730
31731 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
31732 (grub_linux_boot_bzimage): Remove prototype.
31733 (grub_linux_boot_zimage): Rename to ...
31734 (grub_linux_boot): ... this.
31735
31736 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
31737 (grub_linux_boot): Remove function.
31738
0ece25b1 317392008-01-05 Robert Millan <rmh@aybabtu.com>
31740
31741 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
31742 (grub_env_write_color_highlight): Likewise.
31743 (grub_wait_after_message): Likewise.
31744
31745 * normal/color.c: New file.
31746
31747 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31748 (normal_mod_DEPENDENCIES): Likewise.
31749
31750 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31751 (normal_mod_DEPENDENCIES): Likewise.
31752
31753 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31754 (normal_mod_DEPENDENCIES): Likewise.
31755
31756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
31757 (normal_mod_DEPENDENCIES): Likewise.
31758
31759 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
31760 for waiting after a message is printed.
31761 * normal/main.c (read_config_file): Likewise.
31762 (grub_normal_init): Register grub_env_write_color_normal() and
31763 grub_env_write_color_highlight() hooks. Mark `color_normal' and
31764 `color_highlight' variables as global.
31765
31766 * normal/menu.c (grub_wait_after_message): New function.
31767 (grub_color_menu_normal): New variable. Replaces ...
31768 (GRUB_COLOR_MENU_NORMAL): ... this macro.
31769 (grub_color_menu_highlight): New variable. Replaces ...
31770 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
31771 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
31772 `GRUB_TERM_COLOR_STANDARD'.
31773 (print_message): Use `grub_setcolorstate' to reload colors. Rename
31774 `normal_code' and `highlight_code' to `old_color_normal' and
31775 `old_color_highlight', respectively.
31776 (grub_menu_init_page): Update colors when drawing the menu, based on
31777 `menu_color_normal' and `menu_color_highlight' variables.
31778 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
31779 a message is printed.
31780
182dd4e5 317812008-01-05 Robert Millan <rmh@aybabtu.com>
31782
31783 * kern/env.c (grub_env_context_open): Propagate hooks for global
31784 variables to new context.
31785
31786 * kern/main.c (grub_set_root_dev): Export `root' variable.
31787
ddf8f6ad 317882008-01-05 Robert Millan <rmh@aybabtu.com>
31789
31790 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 31791 discs unconditionally, since udev and others have options to provide
ddf8f6ad 31792 them.
31793
d8b43d9b 317942008-01-05 Robert Millan <rmh@aybabtu.com>
31795
31796 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
31797
2bff2de3 317982008-01-04 Christian Franke <franke@computer.org>
31799
31800 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
31801 of eisa_mmap.
31802
97eab917 318032008-01-03 Pavel Roskin <proski@gnu.org>
31804
31805 * kern/i386/linuxbios/init.c: Put "void" to all function
31806 declarations with no arguments.
31807 * kern/powerpc/ieee1275/init.c: Likewise.
31808 * term/i386/pc/at_keyboard.c: Likewise.
31809 * term/i386/pc/vga_text.c: Likewise.
31810 * util/grub-mkdevicemap.c: Likewise.
31811
b9416d00 318122008-01-02 Robert Millan <rmh@aybabtu.com>
31813
31814 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
31815 message when loaded image is out of bounds.
31816 (grub_multiboot_load_elf64): Likewise.
31817
92695df9 318182008-01-02 Pavel Roskin <proski@gnu.org>
31819
31820 * util/grub.d/10_linux.in: Try version without ".old" when
31821 looking for initrd. It's better to use initrd from the newer
31822 kernel of the same version than no initrd at all.
31823
d98d9cad 318242008-01-01 Robert Millan <rmh@aybabtu.com>
31825
31826 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
31827
dbfdce36 318282008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
31829
f19dbdb7 31830 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 31831 grub_video_get_active_render_target.
31832 (grub_video_adapter): Added unmap_color and get_active_render_target.
31833
f19dbdb7 31834 * video/video.c: Added grub_video_unmap_color and
dbfdce36 31835 grub_video_get_active_render_target.
31836 (grub_video_get_info): Changed method to accept NULL pointer as an
31837 argument to allow detection of active video adapter.
31838
31839 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
31840 grub_video_vbe_unmap_color_int.
31841 Added grub_video_vbe_unmap_color and
31842 grub_video_vbe_get_active_render_target.
31843 (grub_video_vbe_adapter): Added unmap_color and
31844 get_active_render_target.
31845
f19dbdb7 31846 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 31847 with grub_video_vbe_unmap_color_int.
31848
31849 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
31850 (DEFAULT_NORMAL_COLOR): Likewise.
31851 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
31852 (DEFAULT_FG_COLOR): Removed.
31853 (DEFAULT_BG_COLOR): Likewise.
31854 (DEFAULT_CURSOR_COLOR): Changed value.
31855 (grub_virtual_screen): Added standard_color_setting,
31856 normal_color_setting, highlight_color_setting and term_color.
31857 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
31858 (bitmap_width): Added.
31859 (bitmap_height): Likewise.
31860 (bitmap): Likewise.
31861 (set_term_color): Likewise.
31862 (grub_virtual_screen_setup): Changed to use new terminal coloring
31863 settings.
31864 (grub_gfxterm_init): Added init for bitmap.
31865 (grub_gfxterm_fini): Added destroy for bitmap.
31866 (redraw_screen_rect): Updated to use background bitmap and new
31867 terminal coloring.
31868 (scroll_up): Added optimization for case when there is no bitmap.
31869 (grub_gfxterm_cls): Fixed to use correct background color.
31870 (grub_virtual_screen_setcolorstate): Changed to use new terminal
31871 coloring.
31872 (grub_virtual_screen_setcolor): Likewise.
31873 (grub_virtual_screen_getcolor): Added.
31874 (grub_gfxterm_background_image_cmd): Likewise.
31875 (grub_video_term): Added setcolor and getcolor.
31876 (MOD_INIT): Added registration of background_image command.
31877 (MOD_TERM): Added unregistration for background_image command.
31878
c3c20931 318792007-12-30 Pavel Roskin <proski@gnu.org>
31880
31881 * loader/multiboot_loader.c: Fix multiboot command
31882 unregistration. Fix all typos in the word "multiboot".
31883
df266716 318842007-12-29 Pavel Roskin <proski@gnu.org>
94239199 31885
31886 * util/grub.d/10_linux.in: Refactor search for initrd. Add
31887 support for initrd names used in Fedora.
31888
fc6e896c 318892007-12-26 Bean <bean123ch@gmail.com>
31890
31891 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
31892 (cpio_mod_SOURCES): New variable.
31893 (cpio_mod_CFLAGS): Likewise.
31894 (cpio_mod_LDFLAGS): Likewise.
31895
31896 * fs/cpio.c: New file.
31897
31898 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
31899
31900 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
31901
31902 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
31903
31904 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
31905
533110ad 319062007-12-25 Robert Millan <rmh@aybabtu.com>
31907
31908 * include/grub/term.h (struct grub_term): Add `getcolor' function.
31909 (grub_getcolor): New function.
31910
31911 * kern/term.c (grub_getcolor): New function.
31912 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
31913 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
31914 (print_entry): Set normal and highlight colors to
31915 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
31916 respectively, before printing and restore them to old
31917 values afterwards.
31918 (grub_menu_init_page): Likewise. Fill an additional colored space
31919 that would otherwise be left blank.
31920
31921 * term/efi/console.c (grub_console_getcolor): New function.
31922 (struct grub_console_term.getcolor): New variable.
31923 * term/i386/pc/console.c (grub_console_getcolor): New function.
31924 (struct grub_console_term.getcolor): New variable.
31925 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
31926 (struct grub_console_term.getcolor): New variable.
31927
31928 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
31929 (struct grub_console_term.setcolor): Remove variable.
31930 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
31931 (struct grub_console_term.setcolor): Remove variable.
31932 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
31933 (struct grub_console_term.setcolor): Remove variable.
31934 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
31935 (struct grub_console_term.setcolor): Remove variable.
31936
4931827f 319372007-12-25 Robert Millan <rmh@aybabtu.com>
31938
31939 * configure.ac: Search for possible unifont.hex locations, and
31940 define UNIFONT_HEX if found.
31941
31942 * Makefile.in (UNIFONT_HEX): Define variable.
31943 (DATA): Rename to ...
31944 (PKGLIB): ... this. Update all users.
31945 (PKGDATA): New variable.
31946 (pkgdata_IMAGES): Rename to ...
31947 (pkglib_IMAGES): ... this. Update all users.
31948 (pkgdata_MODULES): Rename to ...
31949 (pkglib_MODULES): ... this. Update all users.
31950 (pkgdata_PROGRAMS): Rename to ...
31951 (pkglib_PROGRAMS): ... this. Update all users.
31952 (pkgdata_DATA): Rename to ...
31953 (pkglib_DATA): ... this. Update all users.
31954 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
31955 (unicode.pff, ascii.pff): New rules.
31956 (all-local): Add `$(PKGDATA)' dependency.
31957 (install-local): Process `$(PKGDATA)'.
31958
31959 * util/update-grub_lib.in (font_path): Search for *.pff files in
31960 a few more locations, including `${pkgdata}'.
31961
57e57e31 319622007-12-23 Robert Millan <rmh@aybabtu.com>
31963
31964 Patch from Bean <bean123ch@gmail.com>:
31965 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
31966 `size'.
31967
4bc72aa9 319682007-12-21 Bean <bean123ch@gmail.com>
31969
31970 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
31971 (ntfscomp_mod_SOURCES): New variable.
31972 (ntfscomp_mod_CFLAGS): Likewise.
31973 (ntfscomp_mod_LDFLAGS): Likewise.
31974
31975 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
31976 (grub_probe_SOURCES): Likewise.
31977 (grub_emu_SOURCES): Likewise.
31978
31979 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31980 (grub_emu_SOURCES): Likewise.
31981
31982 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31983 (grub_emu_SOURCES): Likewise.
31984
31985 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
31986 (grub_emu_SOURCES): Likewise.
31987
31988 * fs/ntfs.c (grub_ntfscomp_func): New variable.
31989 (read_run_list): Renamed to grub_ntfs_read_run_list.
31990 (decomp_nextvcn): Moved to ntfscomp.c.
31991 (decomp_getch): Likewise.
31992 (decomp_get16): Likewise.
31993 (decomp_block): Likewise.
31994 (read_block): Likewise.
31995 (read_data): Partially moved to ntfscomp.c.
31996 (fixup): Change unsigned to grub_uint16_t.
31997 (read_mft): Change unsigned long to grub_uint32_t.
31998 (read_attr): Likewise.
31999 (read_data): Likewise.
32000 (read_run_data): Likewise.
32001 (read_run_list): Likewise.
32002 (read_mft): Likewise.
32003
32004 * fs/ntfscomp.c: New file.
32005
32006 * include/grub/ntfs.h: New file.
32007
af680a87 320082007-12-16 Robert Millan <rmh@aybabtu.com>
32009
32010 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
32011 IDE disk check, since Linux is known to support 20 IDE disks.
32012 Reported by Colin Watson.
32013
84be7599 320142007-12-15 Bean <bean123ch@gmail.com>
32015
32016 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
32017 (lnxboot_img_SOURCES): New variable.
32018 (lnxboot_img_ASFLAGS): Likewise.
32019 (lnxboot_img_LDFLAGS): Likewise.
32020
32021 * boot/i386/pc/lnxboot.S: New file.
32022
6af9db01 320232007-11-24 Pavel Roskin <proski@gnu.org>
32024
32025 * configure.ac: Test if '--build-id=none' is supported by the
32026 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
32027 objcopy to generate incorrect binary files (binutils
32028 2.17.50.0.18-1 as shipped by Fedora 8).
32029 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
32030 linking, so that build ID doesn't break the test.
32031
7361cfe6 320322007-11-24 Pavel Roskin <proski@gnu.org>
32033
32034 * include/grub/i386/time.h: use "void" in the argument list
32035 of grub_cpu_idle().
32036 * include/grub/powerpc/time.h: Likewise.
32037 * include/grub/sparc64/time.h: Likewise.
32038
1593e10c 320392007-11-18 Christian Franke <franke@computer.org>
32040
32041 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
32042 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
32043 This fixes the problem that function keys did not work in grub-emu.
32044
3b8db1a8 320452007-11-18 Christian Franke <franke@computer.org>
32046
32047 * disk/host.c (grub_host_open): Remove attribute unused from
32048 name parameter. Add check for "host". This fixes the problem
32049 that grub-emu does not find partitions.
32050
2e29408d 320512007-11-18 Christian Franke <franke@computer.org>
32052
32053 * util/hostfs.c (is_dir): New function.
32054 (grub_hostfs_dir): Handle missing dirent.d_type case.
32055 (grub_hostfs_read): Add missing fseek().
32056 (grub_hostfs_label): Clear label pointer. This fixes a crash
32057 of grub-emu on "ls (host)".
32058
398cd047 320592007-11-18 Christian Franke <franke@computer.org>
32060
32061 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
32062 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
32063 to 64 bit boundary by default.
32064
c405c391 320652007-11-18 Bean <bean123ch@gmail.com>
32066
32067 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
32068 (hexdump_mod_SOURCES): New variable.
32069 (hexdump_mod_CFLAGS): Likewise.
32070 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 32071
c405c391 32072 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32073
32074 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32075
32076 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32077
32078 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
32079
32080 * include/grub/hexdump.h: New file.
32081
32082 * commands/hexdump.c: New file.
32083
5cced7fd 320842007-11-10 Robert Millan <rmh@aybabtu.com>
32085
32086 * commands/i386/pc/play.c (beep_off): Switch order of arguments
32087 in grub_outb() calls.
32088 (beep_on): Likewise.
32089
8b714eb0 320902007-11-10 Christian Franke <franke@computer.org>
32091
32092 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
32093 (grub_menu_run): Likewise.
32094
ce0f1839 320952007-11-10 Robert Millan <rmh@aybabtu.com>
32096
32097 * include/grub/i386/efi/machine.h: New file.
32098 * include/grub/i386/linuxbios/machine.h: Likewise.
32099 * include/grub/i386/pc/machine.h: Likewise.
32100 * include/grub/powerpc/ieee1275/machine.h: Likewise.
32101 * include/grub/sparc64/ieee1275/machine.h: Likewise.
32102
32103 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
32104 (serial_hw_io_addr): New variable.
32105 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
32106 instead of `(unsigned short *) 0x400'.
32107
270c237d 321082007-11-10 Bean <bean123ch@gmail.com>
32109
32110 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
32111
a87783bf 321122007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32113
32114 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
32115 (vga_mod_SOURCES): Added.
32116 (vga_mod_CFLAGS): Likewise.
32117 (vga_mod_LDFLAGS): Likewise.
32118
32119 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
32120 grub_outb() calls.
32121 (set_map_mask): Likewise.
32122 (set_read_map): Likewise.
32123 (set_read_address): Likewise.
32124 (vga_font): Removed variable.
32125 (get_vga_glyph): Removed function.
32126 (invalidate_char): Likewise.
32127 (write_char): Changed to use grub_font_get_glyph() for font
32128 information.
32129 (grub_vga_putchar): Likewise.
32130 (grub_vga_getcharwidth): Likewise.
32131
6433b448 321322007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
32133
32134 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
32135 flags.
32136 (pxeboot_img_LDFLAGS): Likewise.
32137 (diskboot_img_LDFLAGS): Likewise.
32138 (kernel_img_LDFLAGS): Likewise.
32139
49178511 321402007-11-06 Robert Millan <rmh@aybabtu.com>
32141
32142 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
32143 in grub_outb() calls.
32144 (serial_hw_init): Likewise.
32145
53b052de 321462007-11-05 Robert Millan <rmh@aybabtu.com>
32147
32148 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
32149 spaces. Skip non-regular files.
32150
5ab33bba 321512007-11-05 Robert Millan <rmh@aybabtu.com>
32152
32153 * kern/disk.c (grub_disk_firmware_fini)
32154 (grub_disk_firmware_is_tainted): New variables.
32155
32156 * include/grub/disk.h (grub_disk_firmware_fini)
32157 (grub_disk_firmware_is_tainted): Likewise.
32158
32159 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
32160 (grub_disk_biosdisk_fini): ... to here.
32161 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
32162 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
32163 is set. Register grub_disk_biosdisk_fini() in
32164 `grub_disk_firmware_fini'.
32165
32166 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
32167 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
32168 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
32169 to finish existing firmware disk interface.
32170
32171 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
32172 (ata_mod_SOURCES): New variable.
32173 (ata_mod_CFLAGS): Likewise.
32174 (ata_mod_LDFLAGS): Likewise.
32175
0149ab7c 321762007-11-05 Robert Millan <rmh@aybabtu.com>
32177
32178 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
32179 (grub_ata_wait): Reimplement using grub_millisleep().
32180
32181 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
32182 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
32183
be7ac41e 321842007-11-03 Marco Gerards <marco@gnu.org>
32185
32186 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
32187 (CRTC_ADDR_PORT): New macro.
32188 (CRTC_DATA_PORT): Likewise.
32189 (CRTC_CURSOR): Likewise.
32190 (CRTC_CURSOR_ADDR_HIGH): Likewise.
32191 (CRTC_CURSOR_ADDR_LOW): Likewise.
32192 (update_cursor): New function.
32193 (grub_console_real_putchar): Call `update_cursor'.
32194 (grub_console_gotoxy): Likewise.
32195 (grub_console_cls): Set the default color when clearing the
32196 screen.
32197 (grub_console_setcursor): Implemented.
32198
bb06ab2e 321992007-11-03 Marco Gerards <marco@gnu.org>
32200
32201 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
32202 become activate.
32203 (grub_ata_pio_write): Likewise.
32204
32205 (grub_atapi_identify): Wait after issuing an ATA command.
32206 (grub_atapi_packet): Likewise.
32207 (grub_ata_identify): Likewise.
32208 (grub_ata_readwrite): Likewise.
32209
cf8f780b 322102007-11-03 Marco Gerards <marco@gnu.org>
32211
32212 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
32213 (grub_ata_pio_write): Likewise.
32214 (grub_ata_readwrite): Use `grub_error', instead of
32215 returning `grub_errno'.
32216
ed649e54 322172007-11-03 Marco Gerards <marco@gnu.org>
32218
32219 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
32220 grub_ata_pio_write once for every single sector, instead of for
32221 multiple sectors.
32222
ca25d8f0 322232007-10-31 Robert Millan <rmh@aybabtu.com>
32224
32225 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
32226
32227 * conf/i386-linuxbios.rmk: New file.
32228
32229 * kern/i386/pc/hardware.c: Likewise.
32230 * term/i386/pc/at_keyboard.c: Likewise.
32231 * term/i386/pc/vga_text.c: Likewise.
32232
32233 * include/grub/i386/linuxbios/boot.h: Likewise.
32234 * include/grub/i386/linuxbios/console.h: Likewise.
32235 * include/grub/i386/linuxbios/init.h: Likewise.
32236 * include/grub/i386/linuxbios/kernel.h: Likewise.
32237 * include/grub/i386/linuxbios/loader.h: Likewise.
32238 * include/grub/i386/linuxbios/memory.h: Likewise.
32239 * include/grub/i386/linuxbios/serial.h: Likewise.
32240 * include/grub/i386/linuxbios/time.h: Likewise.
32241
32242 * kern/i386/linuxbios/init.c: Likewise.
32243 * kern/i386/linuxbios/startup.S: Likewise.
32244 * kern/i386/linuxbios/table.c: Likewise.
32245
e911ecc1 322462007-10-31 Marco Gerards <marco@gnu.org>
32247
32248 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
32249 (ata_mod_SOURCES): New variable.
32250 (ata_mod_CFLAGS): Likewise.
32251 (ata_mod_LDFLAGS): Likewise.
32252
32253 * disk/ata.c: New file.
32254
32255 * include/grub/disk.h (grub_disk_dev_id): Add
32256 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 32257
7f66d0e0 322582007-10-31 Robert Millan <rmh@aybabtu.com>
32259
32260 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
32261 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
32262
32263 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
32264 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
32265
32266 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
32267 `<grub/types.h>'.
32268
32269 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
32270
5cd7dd46 322712007-10-27 Robert Millan <rmh@aybabtu.com>
32272
3236ca65 32273 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 32274
2ebfc90f 322752007-10-22 Robert Millan <rmh@aybabtu.com>
32276
32277 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
32278 `"../realmode.S"'.
32279 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
32280
73fcb0f3 322812007-10-22 Robert Millan <rmh@aybabtu.com>
32282
32283 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
32284 (pkgdata_MODULES): Add `biosdisk.mod'.
32285 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
32286 variables.
32287
32288 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
32289 (grub_biosdisk_init): Replace with ...
32290 (GRUB_MOD_INIT(biosdisk)): ... this.
32291 (grub_biosdisk_fini): Replace with ...
32292 (GRUB_MOD_FINI(biosdisk)): ... this.
32293
32294 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
32295 (grub_machine_init): Remove call to grub_biosdisk_init().
32296 (grub_machine_fini): Remove call to grub_machine_fini().
32297
32298 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
32299
3381d274 323002007-10-22 Robert Millan <rmh@aybabtu.com>
32301
32302 * include/grub/time.h: New file.
32303 * include/grub/i386/time.h: Likewise.
32304 * include/grub/powerpc/time.h: Likewise.
32305 * include/grub/sparc64/time.h: Likewise.
32306
32307 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
32308 instances to ...
32309 (KERNEL_MACHINE_TIME_HEADER): ... this.
32310 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32311 instances to ...
32312 (KERNEL_MACHINE_TIME_HEADER): ... this.
32313 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
32314 instances to ...
32315 (KERNEL_MACHINE_TIME_HEADER): ... this.
32316
32317 * kern/i386/efi/init.c: Include `<grub/time.h>'.
32318 (grub_millisleep): New function.
32319 * kern/i386/pc/init.c: Include `<grub/time.h>'.
32320 (grub_millisleep): New function.
32321 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
32322 Remove `grub/machine/time.h' include.
32323 (grub_millisleep): New function.
32324 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
32325 Remove `grub/machine/time.h' include.
32326 (grub_millisleep): New function.
32327
32328 * include/grub/misc.h (grub_div_roundup): New function.
32329
32330 * kern/misc.c: Include `<grub/time.h>'.
32331 (grub_millisleep_generic): New function.
32332
32333 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
32334 Add `time.h'.
32335 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
32336 Add `time.h'.
32337 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
32338 `machine/time.h'. Add `time.h'.
32339 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
32340
a39a0312 323412007-10-21 Robert Millan <rmh@aybabtu.com>
32342
32343 * include/grub/misc.h (grub_max): New function.
32344
2aad70e2 323452007-10-21 Robert Millan <rmh@aybabtu.com>
32346
32347 * util/misc.c (grub_util_info): Call fflush() before returning.
32348
54b71c4b 323492007-10-20 Robert Millan <rmh@aybabtu.com>
32350
32351 * genmk.rb (Image): Copy `extra_flags' from here ...
32352 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
32353
32354 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
32355 to `argc' and `args' arguments.
32356
a979f513 323572007-10-17 Robert Millan <rmh@aybabtu.com>
32358
32359 * kern/i386/loader.S: New file.
32360
32361 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
32362 * kern/i386/loader.S (grub_linux_prot_size)... to here.
32363 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
32364 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
32365 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
32366 * kern/i386/loader.S (grub_linux_real_addr)... to here.
32367 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
32368 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
32369 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
32370 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
32371 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
32372 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
32373 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
32374 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
32375
32376 * kern/i386/realmode.S: New file.
32377
32378 * kern/i386/pc/startup.S (protstack): Moved from here ...
32379 * kern/i386/realmode.S (protstack)... to here.
32380 * kern/i386/pc/startup.S (gdt): Moved from here ...
32381 * kern/i386/realmode.S (gdt)... to here.
32382 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
32383 * kern/i386/realmode.S (prot_to_real)... to here.
32384
32385 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
32386 `kern/i386/realmode.S'.
32387
825fc8fd 323882007-10-17 Robert Millan <rmh@aybabtu.com>
32389
32390 * include/grub/i386/loader.h: New file.
32391
32392 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
32393 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32394 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32395 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32396 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
32397 * include/grub/i386/loader.h (grub_linux_prot_size)
32398 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
32399 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
32400 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
32401 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
32402
32403 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
32404
e179b2f4 324052007-10-15 Robert Millan <rmh@aybabtu.com>
32406
32407 * normal/misc.c (grub_normal_print_device_info): Do not probe for
32408 filesystem when dev->disk is unset.
32409 Do probe for filesystem even when dev->disk->has_partitions is set.
32410 In case a filesystem is found, always report it.
32411 In case it isn't, if dev->disk->has_partitions is set, report that
32412 a partition table was found instead of reporting that no filesystem
32413 could be identified.
32414
5db82af6 324152007-10-12 Robert Millan <rmh@aybabtu.com>
32416
32417 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
32418 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
32419
68f6ac74 32420 * include/grub/types.h (grub_host_to_target16): New macro.
32421 (grub_host_to_target32): Likewise.
32422 (grub_host_to_target64): Likewise.
32423 (grub_target_to_host16): Likewise.
32424 (grub_target_to_host32): Likewise.
32425 (grub_target_to_host64): Likewise.
5db82af6 32426
32427 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
32428 Renamed from to ...
32429 (GRUB_MOD_ALIGN): ...this. Update all users.
32430
68f6ac74 32431 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
32432 grub_host_to_target32.
32433 Replace grub_be_to_cpu32 with grub_target_to_host32.
32434 (load_modules): Likewise.
32435 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
32436 Replace grub_be_to_cpu32 with grub_target_to_host32.
32437 Replace grub_cpu_to_be16 with grub_host_to_target16.
32438 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 32439
3cf497cc 324402007-10-12 Robert Millan <rmh@aybabtu.com>
32441
32442 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
32443 * util/elf/grub-mkimage.c: ... here.
32444
32445 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
32446 `util/powerpc/ieee1275/grub-mkimage.c'.
32447
c8cc3692 324482007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 32449
c8cc3692 32450 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
32451 and make it easier to figure out.
32452 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
32453 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
32454 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
32455 leave us with less than HEAP_MIN_SIZE total heap.
32456 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 32457
5c58b791 324582007-10-03 Robert Millan <rmh@aybabtu.com>
32459
32460 * include/grub/i386/io.h: New file.
32461 * commands/i386/pc/play.c (inb): Removed.
32462 (outb): Removed.
32463 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32464 with grub_outb().
afcd2ef8 32465 * term/i386/pc/serial.c (inb): Removed.
32466 (outb): Removed.
32467 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32468 with grub_outb().
32469 * term/i386/pc/vga.c (inb): Removed.
32470 (outb): Removed.
32471 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
32472 with grub_outb().
5c58b791 32473
1a477ed6 324742007-10-02 Robert Millan <rmh@aybabtu.com>
32475
32476 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
32477 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32478 Reported by Marcin Kurek.
32479
6b5d80fa 324802007-09-07 Robert Millan <rmh@aybabtu.com>
32481
32482 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
32483 SmartFirmware version updates (as released by Sven Luther), and avoid
32484 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
32485 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
32486 known broken.
32487
5618afbf 324882007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32489
32490 From Hitoshi Ozeki:
32491 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
32492 when merging two regions.
32493
6139dcd9 324942007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
32495
508e39ee 32496 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
32497 * normal/completion.c (grub_normal_do_completion): Likewise.
32498 Reported by Hitoshi Ozeki.
32499
325002007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 32501
6139dcd9 32502 Do not use devices at boot in chainloading.
f19dbdb7 32503
6139dcd9 32504 * loader/i386/pc/chainloader.c (boot_drive): New variable.
32505 (boot_part_addr): Likewise.
32506 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
32507 with BOOT_DRIVE and BOOT_PART_ADDR.
32508 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
32509 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
32510
38da6516 325112007-08-29 Robert Millan <rmh@aybabtu.com>
32512
32513 Patch from Simon Peter <dn.tlp@gmx.net>:
32514 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
32515 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
32516 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
32517 util/i386/pc/grub-setup.c_DEPENDENCIES.
32518 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
32519 util/grub-probe.c_DEPENDENCIES.
32520 * conf/powerpc-ieee1275.rmk: Likewise.
32521
29d0928c 325222007-08-28 Robert Millan <rmh@aybabtu.com>
32523
32524 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
32525 to tell grub-mkdevicemap how to name devices.
32526 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
32527 feature).
32528
32529 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
32530 util/i386/get_disk_name.c.
32531 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
32532 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
32533 util/ieee1275/get_disk_name.c.
32534
32535 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
32536
32537 * DISTLIST: Add util/i386/get_disk_name.c and
32538 util/ieee1275/get_disk_name.c.
32539
32540 * util/grub-mkdevicemap.c: Replace device naming logic with
32541 grub_util_get_disk_name() calls.
32542
5a0d3cca 325432007-08-20 Robert Millan <rmh@aybabtu.com>
32544
32545 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
32546 (so that it works for both plural and singular quantities).
32547
8b72db2f 325482007-08-05 Robert Millan <rmh@aybabtu.com>
32549
32550 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
32551 so that [xz] isn't taken into account when determining order.
32552
352466bf 325532007-08-02 Marco Gerards <marco@gnu.org>
32554
32555 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
32556 `include/multiboot2.h', `include/grub/elfload.h',
32557 `include/multiboot.h', `include/grub/multiboot.h',
32558 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
32559 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
32560 `kern/elf.c', `loader/multiboot_loader.c',
32561 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
32562 `loader/i386/pc/multiboot2.c',
32563 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
32564 `util/i386/pc/grub-mkrescue.in'. Remove
32565 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
32566 `include/grub/i386/pc/util/biosdisk.h' and
32567 `include/grub/powerpc/ieee1275/multiboot.h'.
32568
8f096014 325692007-08-02 Bean <bean123ch@gmail.com>
32570
32571 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
32572 (ntfs_mod_SOURCES): New variable.
32573 (ntfs_mod_CFLAGS): Likewise.
32574 (ntfs_mod_LDFLAGS): Likewise.
32575
32576 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
32577 (grub_probe_SOURCES): Likewise.
32578 (grub_emu_SOURCES): Likewise.
32579
32580 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32581 (grub_emu_SOURCES): Likewise.
32582
32583 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
32584 (grub_emu_SOURCES): Likewise.
f19dbdb7 32585
8f096014 32586 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
32587
32588 * fs/ntfs.c: New file.
32589
9959f7db 325902007-08-02 Bean <bean123ch@gmail.com>
32591
32592 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
32593
32594 * file.h (grub_file): Likewise.
32595
32596 * fshelp.h (grub_fshelp_read_file): Likewise.
32597
32598 * util/i386/pc/grub-setup.c (setup): Likewise.
32599 (save_first_sector): Likewise.
32600 (save_blocklists): Likewise.
f19dbdb7 32601
9959f7db 32602 * fs/affs.c (grub_affs_read_file): Likewise.
32603
32604 * fs/ext2.c (grub_ext2_read_file): Likewise.
32605
32606 * fs/fat.c (grub_fat_read_data): Likewise.
32607
32608 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
32609
32610 * fs/hfs.c (grub_hfs_read_file): Likewise.
32611
32612 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
32613
32614 * fs/jfs.c (grub_jfs_read_file): Likewise.
32615
32616 * fs/minix.c (grub_minix_read_file): Likewise.
32617
32618 * fs/sfs.c (grub_sfs_read_file): Likewise.
32619
32620 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 32621
9959f7db 32622 * fs/xfs.c (grub_xfs_read_file): Likewise.
32623
32624 * command/blocklist.c (read_blocklist): Likewise.
32625 (print_blocklist): Likewise.
32626
0a203f83 326272007-08-02 Marco Gerards <marco@gnu.org>
32628
32629 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
32630 `util/hostfs.c'.
32631
32632 * disk/host.c: New file.
32633
32634 * util/hostfs.c: Likewise.
32635
32636 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
32637 return `GRUB_ERR_BAD_FS'.
32638 * fs/sfs.c (grub_sfs_mount): Likewise.
32639 * fs/xfs.c (grub_xfs_mount): Likewise.
32640
32641 * include/grub/disk.h (enum grub_disk_dev_id): Add
32642 `GRUB_DISK_DEVICE_HOST_ID'.
32643
32644 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
32645
e5dfe777 326462007-07-24 Jerone Young <jerone@gmail.com>
32647
f19dbdb7 32648 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 32649 modules for compilation.
32650 * conf/powerpc-ieee1275.rmk: Likewise.
32651
32652 * include/multiboot.h: Move multiboot definitions to one file. Rename
32653 many definitions to not get grub specific.
32654 * include/multiboot2.h: Create header with multiboot 2 definitions.
32655 * include/grub/multiboot.h: Header for grub specific function
32656 prototypes and definitions.
32657 * include/grub/multiboot2.h: Likewise.
32658 * include/grub/multiboot_loader.h: Likewise.
32659 * include/grub/i386/pc/multiboot.h: Removed.
32660 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
32661
32662 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
32663 and 2 to allow for one multiboot and module commands.
32664 * loader/multiboot2.c: Add multiboot2 functionality.
32665 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
32666 and definition names.
32667 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
32668 2 functions.
32669 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
32670 ieee1275 specific multiboot2 code.
32671
32672 * kern/i386/pc/startup.S: Change headers and definition names for
32673 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
32674
daf0f0ba 326752007-07-22 Robert Millan <rmh@aybabtu.com>
32676
32677 * geninitheader.sh: Process file specified in first parameter rather
32678 than hardcoding grub_modules_init.lst.
fe6b695a 32679 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 32680 than hardcoding grub_modules_init.h.
32681
32682 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
32683 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
32684 grub_probe_init.[ch] and grub_setup_init.[ch].
32685
32686 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
32687 grub_modules_init.h with grub_emu_init.h.
32688 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
32689 grub_probe_init.[ch] files.
32690 * conf/i386-efi.rmk: Likewise.
32691 * conf/i386-pc.rmk: Likewise.
32692 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
32693 grub_setup_init.[ch] files.
32694
32695 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
32696 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
32697 to initialize modules rather than a list of hardcoded functions.
32698 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
32699 grub_init_all() to initialize modules rather than a list of hardcoded
32700 functions.
32701
54cdc1cc 327022007-07-22 Robert Millan <rmh@aybabtu.com>
32703
32704 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
32705 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
32706
ad0686cc 327072007-07-22 Robert Millan <rmh@aybabtu.com>
32708
32709 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
32710 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
32711 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
32712 flag when running on SmartFirmware.
32713 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
32714 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
32715 was set.
32716
32717 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
32718 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
32719 rather than decreasing it.
32720
32721 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
32722 there's not enough space to do it, fail in the same way as when it
32723 can't be done because there are no partitions.
32724
32725 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
32726 when nvsetenv failed.
32727
969c02ec 327282007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32729
32730 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
32731 because this rule is automatically generated.
32732 (grub-mkrescue): Removed for the same reason as above.
32733
5a79f472 327342007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
32735
32736 Migrate to GNU General Public License Version 3.
f19dbdb7 32737
5a79f472 32738 * COPYING: Replaced with the plain text version of GPLv3.
32739
32740 * config.guess: Updated from gnulib.
32741 * config.sub: Likewise.
32742
32743 * geninit.sh: Output a GPLv3 copyright notice.
32744 * geninitheader.sh: Likewise.
32745 * genmodsrc.sh: Likewise.
32746 * gensymlist.sh.in: Likewise.
32747
32748 * boot/i386/pc/boot.S: Upgraded to GPLv3.
32749 * boot/i386/pc/diskboot.S: Likewise.
32750 * boot/i386/pc/pxeboot.S: Likewise.
32751 * commands/blocklist.c: Likewise.
32752 * commands/boot.c: Likewise.
32753 * commands/cat.c: Likewise.
32754 * commands/cmp.c: Likewise.
32755 * commands/configfile.c: Likewise.
32756 * commands/echo.c: Likewise.
32757 * commands/help.c: Likewise.
32758 * commands/ls.c: Likewise.
32759 * commands/search.c: Likewise.
32760 * commands/terminal.c: Likewise.
32761 * commands/test.c: Likewise.
32762 * commands/videotest.c: Likewise.
32763 * commands/i386/cpuid.c: Likewise.
32764 * commands/i386/pc/halt.c: Likewise.
32765 * commands/i386/pc/play.c: Likewise.
32766 * commands/i386/pc/reboot.c: Likewise.
32767 * commands/i386/pc/vbeinfo.c: Likewise.
32768 * commands/i386/pc/vbetest.c: Likewise.
32769 * commands/ieee1275/halt.c: Likewise.
32770 * commands/ieee1275/reboot.c: Likewise.
32771 * commands/ieee1275/suspend.c: Likewise.
32772 * disk/loopback.c: Likewise.
32773 * disk/lvm.c: Likewise.
32774 * disk/raid.c: Likewise.
32775 * disk/efi/efidisk.c: Likewise.
32776 * disk/i386/pc/biosdisk.c: Likewise.
32777 * disk/ieee1275/ofdisk.c: Likewise.
32778 * font/manager.c: Likewise.
32779 * fs/affs.c: Likewise.
32780 * fs/ext2.c: Likewise.
32781 * fs/fat.c: Likewise.
32782 * fs/fshelp.c: Likewise.
32783 * fs/hfs.c: Likewise.
32784 * fs/hfsplus.c: Likewise.
32785 * fs/iso9660.c: Likewise.
32786 * fs/jfs.c: Likewise.
32787 * fs/minix.c: Likewise.
32788 * fs/sfs.c: Likewise.
32789 * fs/ufs.c: Likewise.
32790 * fs/xfs.c: Likewise.
32791 * hello/hello.c: Likewise.
32792 * include/grub/acorn_filecore.h: Likewise.
32793 * include/grub/arg.h: Likewise.
32794 * include/grub/bitmap.h: Likewise.
32795 * include/grub/boot.h: Likewise.
32796 * include/grub/cache.h: Likewise.
32797 * include/grub/device.h: Likewise.
32798 * include/grub/disk.h: Likewise.
32799 * include/grub/dl.h: Likewise.
32800 * include/grub/elfload.h: Likewise.
32801 * include/grub/env.h: Likewise.
32802 * include/grub/err.h: Likewise.
32803 * include/grub/file.h: Likewise.
32804 * include/grub/font.h: Likewise.
32805 * include/grub/fs.h: Likewise.
32806 * include/grub/fshelp.h: Likewise.
32807 * include/grub/gzio.h: Likewise.
32808 * include/grub/hfs.h: Likewise.
32809 * include/grub/kernel.h: Likewise.
32810 * include/grub/loader.h: Likewise.
32811 * include/grub/lvm.h: Likewise.
32812 * include/grub/misc.h: Likewise.
32813 * include/grub/mm.h: Likewise.
32814 * include/grub/net.h: Likewise.
32815 * include/grub/normal.h: Likewise.
32816 * include/grub/parser.h: Likewise.
32817 * include/grub/partition.h: Likewise.
32818 * include/grub/pc_partition.h: Likewise.
32819 * include/grub/raid.h: Likewise.
32820 * include/grub/rescue.h: Likewise.
32821 * include/grub/script.h: Likewise.
32822 * include/grub/setjmp.h: Likewise.
32823 * include/grub/symbol.h: Likewise.
32824 * include/grub/term.h: Likewise.
32825 * include/grub/terminfo.h: Likewise.
32826 * include/grub/tparm.h: Likewise.
32827 * include/grub/types.h: Likewise.
32828 * include/grub/video.h: Likewise.
32829 * include/grub/efi/api.h: Likewise.
32830 * include/grub/efi/chainloader.h: Likewise.
32831 * include/grub/efi/console.h: Likewise.
32832 * include/grub/efi/console_control.h: Likewise.
32833 * include/grub/efi/disk.h: Likewise.
32834 * include/grub/efi/efi.h: Likewise.
32835 * include/grub/efi/pe32.h: Likewise.
32836 * include/grub/efi/time.h: Likewise.
32837 * include/grub/i386/linux.h: Likewise.
32838 * include/grub/i386/setjmp.h: Likewise.
32839 * include/grub/i386/types.h: Likewise.
32840 * include/grub/i386/efi/kernel.h: Likewise.
32841 * include/grub/i386/efi/loader.h: Likewise.
32842 * include/grub/i386/efi/time.h: Likewise.
32843 * include/grub/i386/pc/biosdisk.h: Likewise.
32844 * include/grub/i386/pc/boot.h: Likewise.
32845 * include/grub/i386/pc/chainloader.h: Likewise.
32846 * include/grub/i386/pc/console.h: Likewise.
32847 * include/grub/i386/pc/init.h: Likewise.
32848 * include/grub/i386/pc/kernel.h: Likewise.
32849 * include/grub/i386/pc/loader.h: Likewise.
32850 * include/grub/i386/pc/memory.h: Likewise.
32851 * include/grub/i386/pc/multiboot.h: Likewise.
32852 * include/grub/i386/pc/serial.h: Likewise.
32853 * include/grub/i386/pc/time.h: Likewise.
32854 * include/grub/i386/pc/vbe.h: Likewise.
32855 * include/grub/i386/pc/vbeblit.h: Likewise.
32856 * include/grub/i386/pc/vbefill.h: Likewise.
32857 * include/grub/i386/pc/vbeutil.h: Likewise.
32858 * include/grub/i386/pc/vga.h: Likewise.
32859 * include/grub/ieee1275/ieee1275.h: Likewise.
32860 * include/grub/ieee1275/ofdisk.h: Likewise.
32861 * include/grub/powerpc/libgcc.h: Likewise.
32862 * include/grub/powerpc/setjmp.h: Likewise.
32863 * include/grub/powerpc/types.h: Likewise.
32864 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
32865 * include/grub/powerpc/ieee1275/console.h: Likewise.
32866 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
32867 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
32868 * include/grub/powerpc/ieee1275/loader.h: Likewise.
32869 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
32870 * include/grub/powerpc/ieee1275/time.h: Likewise.
32871 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
32872 * include/grub/sparc64/libgcc.h: Likewise.
32873 * include/grub/sparc64/setjmp.h: Likewise.
32874 * include/grub/sparc64/types.h: Likewise.
32875 * include/grub/sparc64/ieee1275/console.h: Likewise.
32876 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
32877 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
32878 * include/grub/sparc64/ieee1275/time.h: Likewise.
32879 * include/grub/util/biosdisk.h: Likewise.
32880 * include/grub/util/getroot.h: Likewise.
32881 * include/grub/util/lvm.h: Likewise.
32882 * include/grub/util/misc.h: Likewise.
32883 * include/grub/util/raid.h: Likewise.
32884 * include/grub/util/resolve.h: Likewise.
32885 * io/gzio.c: Likewise.
32886 * kern/device.c: Likewise.
32887 * kern/disk.c: Likewise.
32888 * kern/dl.c: Likewise.
32889 * kern/elf.c: Likewise.
32890 * kern/env.c: Likewise.
32891 * kern/err.c: Likewise.
32892 * kern/file.c: Likewise.
32893 * kern/fs.c: Likewise.
32894 * kern/loader.c: Likewise.
32895 * kern/main.c: Likewise.
32896 * kern/misc.c: Likewise.
32897 * kern/mm.c: Likewise.
32898 * kern/parser.c: Likewise.
32899 * kern/partition.c: Likewise.
32900 * kern/rescue.c: Likewise.
32901 * kern/term.c: Likewise.
32902 * kern/efi/efi.c: Likewise.
32903 * kern/efi/init.c: Likewise.
32904 * kern/efi/mm.c: Likewise.
32905 * kern/i386/dl.c: Likewise.
32906 * kern/i386/efi/init.c: Likewise.
32907 * kern/i386/efi/startup.S: Likewise.
32908 * kern/i386/pc/init.c: Likewise.
32909 * kern/i386/pc/lzo1x.S: Likewise.
32910 * kern/i386/pc/startup.S: Likewise.
32911 * kern/ieee1275/ieee1275.c: Likewise.
32912 * kern/powerpc/cache.S: Likewise.
32913 * kern/powerpc/dl.c: Likewise.
32914 * kern/powerpc/ieee1275/cmain.c: Likewise.
32915 * kern/powerpc/ieee1275/crt0.S: Likewise.
32916 * kern/powerpc/ieee1275/init.c: Likewise.
32917 * kern/powerpc/ieee1275/openfw.c: Likewise.
32918 * kern/sparc64/cache.S: Likewise.
32919 * kern/sparc64/dl.c: Likewise.
32920 * kern/sparc64/ieee1275/init.c: Likewise.
32921 * kern/sparc64/ieee1275/openfw.c: Likewise.
32922 * loader/efi/chainloader.c: Likewise.
32923 * loader/efi/chainloader_normal.c: Likewise.
32924 * loader/i386/efi/linux.c: Likewise.
32925 * loader/i386/efi/linux_normal.c: Likewise.
32926 * loader/i386/pc/chainloader.c: Likewise.
32927 * loader/i386/pc/chainloader_normal.c: Likewise.
32928 * loader/i386/pc/linux.c: Likewise.
32929 * loader/i386/pc/linux_normal.c: Likewise.
32930 * loader/i386/pc/multiboot.c: Likewise.
32931 * loader/i386/pc/multiboot_normal.c: Likewise.
32932 * loader/powerpc/ieee1275/linux.c: Likewise.
32933 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32934 * normal/arg.c: Likewise.
32935 * normal/cmdline.c: Likewise.
32936 * normal/command.c: Likewise.
32937 * normal/completion.c: Likewise.
32938 * normal/execute.c: Likewise.
32939 * normal/function.c: Likewise.
32940 * normal/lexer.c: Likewise.
32941 * normal/main.c: Likewise.
32942 * normal/menu.c: Likewise.
32943 * normal/menu_entry.c: Likewise.
32944 * normal/misc.c: Likewise.
32945 * normal/parser.y: Likewise.
32946 * normal/script.c: Likewise.
32947 * normal/i386/setjmp.S: Likewise.
32948 * normal/powerpc/setjmp.S: Likewise.
32949 * normal/sparc64/setjmp.S: Likewise.
32950 * partmap/acorn.c: Likewise.
32951 * partmap/amiga.c: Likewise.
32952 * partmap/apple.c: Likewise.
32953 * partmap/gpt.c: Likewise.
32954 * partmap/pc.c: Likewise.
32955 * partmap/sun.c: Likewise.
32956 * term/gfxterm.c: Likewise.
32957 * term/terminfo.c: Likewise.
32958 * term/efi/console.c: Likewise.
32959 * term/i386/pc/console.c: Likewise.
32960 * term/i386/pc/serial.c: Likewise.
32961 * term/i386/pc/vesafb.c: Likewise.
32962 * term/i386/pc/vga.c: Likewise.
32963 * term/ieee1275/ofconsole.c: Likewise.
32964 * util/biosdisk.c: Likewise.
32965 * util/console.c: Likewise.
32966 * util/genmoddep.c: Likewise.
32967 * util/getroot.c: Likewise.
32968 * util/grub-emu.c: Likewise.
32969 * util/grub-mkdevicemap.c: Likewise.
32970 * util/grub-probe.c: Likewise.
32971 * util/lvm.c: Likewise.
32972 * util/misc.c: Likewise.
32973 * util/raid.c: Likewise.
32974 * util/resolve.c: Likewise.
32975 * util/update-grub.in: Likewise.
32976 * util/update-grub_lib.in: Likewise.
32977 * util/grub.d/00_header.in: Likewise.
32978 * util/grub.d/10_hurd.in: Likewise.
32979 * util/grub.d/10_linux.in: Likewise.
32980 * util/i386/efi/grub-install.in: Likewise.
32981 * util/i386/efi/grub-mkimage.c: Likewise.
32982 * util/i386/pc/grub-install.in: Likewise.
32983 * util/i386/pc/grub-mkimage.c: Likewise.
32984 * util/i386/pc/grub-mkrescue.in: Likewise.
32985 * util/i386/pc/grub-setup.c: Likewise.
32986 * util/i386/pc/misc.c: Likewise.
32987 * util/powerpc/ieee1275/grub-install.in: Likewise.
32988 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
32989 * util/powerpc/ieee1275/misc.c: Likewise.
32990 * video/bitmap.c: Likewise.
32991 * video/video.c: Likewise.
32992 * video/i386/pc/vbe.c: Likewise.
32993 * video/i386/pc/vbeblit.c: Likewise.
32994 * video/i386/pc/vbefill.c: Likewise.
32995 * video/i386/pc/vbeutil.c: Likewise.
32996 * video/readers/tga.c: Likewise.
32997
3572d015 329982007-07-02 Robert Millan <rmh@aybabtu.com>
32999
33000 * conf/i386-efi.rmk: Replace obsolete reference to
33001 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
33002 with util/getroot.c.
33003 * conf/powerpc-ieee1275.rmk: Likewise.
33004 * conf/sparc64-ieee1275.rmk: Likewise.
33005
33006 * util/grub-emu.c (main): Fix unchecked pointer handling.
33007
2c2a681b 330082007-07-02 Robert Millan <rmh@aybabtu.com>
33009
33010 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
33011 invocation to fail, in order to support partition-less media.
33012
33013 * util/i386/pc/grub-install.in: Likewise.
33014
33015 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
33016 which fs or partmap modules are needed (akin to its sister scripts).
33017
33018 Also use grub-probe to get rid of unportable /proc/mounts check.
33019
33020 Print the same informational message that the other scripts do, before
fe6b695a 33021 exiting.
2c2a681b 33022
6193defe 330232007-06-23 Robert Millan <rmh@aybabtu.com>
33024
fe6b695a 33025 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 33026 a font file can be found and, if so, echo the GRUB path to it.
33027
33028 * util/update-grub.in: Handle multiple terminals depending on user
33029 input, platform availability and font file presence. Propagate
33030 variables of our findings to /etc/grub.d/ children.
33031
33032 * util/grub.d/00_header.in: Handle multiple terminals, based on
33033 environment setup by update-grub.
33034
eface1dc 330352007-06-23 Robert Millan <rmh@aybabtu.com>
33036
ba50d28f 33037 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 33038
bf697e28 330392007-06-21 Robert Millan <rmh@aybabtu.com>
33040
33041 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
33042 indicate end of data section in kernel image.
33043 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
33044 GRUB_KERNEL_MACHINE_DATA_END.
33045
33046 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
33047 space for it.
33048 * kern/i386/efi/startup.S: Likewise.
33049
33050 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
33051 during image generation. Implement --prefix option to override this
33052 patch.
33053 * util/i386/efi/grub-mkimage.c: Likewise.
33054
33055 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
33056 code to make path relative to its root into a separate function.
33057
33058 * util/i386/pc/grub-install.in: Use newly provided
33059 make_system_path_relative_to_its_root() to convert ${grubdir}, then
33060 pass the result to grub-install --prefix.
33061
baa574b4 330622007-06-13 Robert Millan <rmh@aybabtu.com>
33063
33064 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
33065 DEFAULT_DEVICE_MAP.
33066 * util/grub-emu.c: Use above definitions from misc.h instead of
33067 defining them.
33068 * util/grub-mkdevicemap.c: Likewise.
33069 * util/i386/pc/grub-setup.c: Likewise.
33070 * util/grub-probe.c: Likewise.
33071 (probe): Abort with grub_util_error() when either
33072 grub_guess_root_device or grub_util_get_grub_dev fails.
33073
0215dcbf 330742007-06-12 Robert Millan <rmh@aybabtu.com>
33075
33076 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
33077 "pager" assignment.
33078 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
33079 "pcdata".
33080 * util/grub-probe.c (probe): Likewise for "drive_name".
33081
8af2ab7b 330822007-06-11 Robert Millan <rmh@aybabtu.com>
33083
33084 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
33085 not just the cdrom one.
33086
59d31694 330872007-06-11 Robert Millan <rmh@aybabtu.com>
33088
33089 * util/i386/pc/grub-mkrescue.in: Add "set -e".
33090 Add --pkglibdir=DIR option to override pkglibdir.
33091 Mention --image-type=TYPE in help output.
33092 Fix --grub-mkimage (it was a no-op).
fe6b695a 33093 Abort gracefully when no parameter is given.
59d31694 33094
7ee367e4 330952007-06-11 Robert Millan <rmh@aybabtu.com>
33096
33097 * util/i386/pc/grub-mkrescue.in: New file.
33098 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
33099 * Makefile.in: Handle bin_SCRIPTS.
33100
29b0ed46 331012007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
33102
33103 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
33104 list of video modes.
33105
c0f90770 331062007-06-06 Robert Millan <rmh@aybabtu.com>
33107
33108 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
33109 file doesn't exist, or if it is in a filesystem grub can't read.
33110
33111 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
33112 not abort if GRUB_DRIVE could not be defined. Rearrange generated
33113 header comment to fit in 80 columns when the variables are resolved.
33114
33115 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
33116 could be identified by update-grub. Remove redundant check for
fe6b695a 33117 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 33118 handles that).
33119
fb36dc26 331202007-06-04 Robert Millan <rmh@aybabtu.com>
33121
33122 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
33123
33124 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
33125
33126 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
33127
0c68c93e 331282007-06-04 Robert Millan <rmh@aybabtu.com>
33129
33130 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
33131
33132 * include/grub/partition.h: Declare grub_apple_partition_map_init and
33133 grub_apple_partition_map_fini.
33134
33135 * util/biosdisk.c
33136 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
33137 to access >2 TiB disks).
33138
33139 Print disk->total_sectors with %llu instead of %lu, since this
33140 variable is always 64-bit (prevents wrong disk size from being displayed
33141 on either >2 TiB disk or big-endian CPU).
33142
33143 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
33144 into a generic case that supports all (sane) partition maps.
33145
33146 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
33147 breaks big-endian.
33148
33149 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
33150 and grub_apple_partition_map_fini() after that.
33151
0f23eb74 331522007-06-01 Robert Millan <rmh@aybabtu.com>
33153
33154 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
33155
33156 * util/grub.d/00_header.in: Only enable gfxterm when
33157 convert_system_path_to_grub_path() succeeds.
33158
42c71976 331592007-05-20 Robert Millan <rmh@aybabtu.com>
33160
33161 * util/update-grub_lib.in: New file.
33162 * DISTLIST: Add update-grub_lib.in.
33163 * conf/common.rmk: Generate update-grub_lib and install it in
33164 $(lib_DATA).
33165 * Makefile.in: Add install routine for $(lib_DATA).
33166
33167 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
33168 function provided by update-grub_lib to support arbitrary paths of
33169 unifont.pff.
33170 * util/update-grub.in: Use convert_system_path_to_grub_path() to
33171 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
33172
5beb2291 331732007-05-19 Robert Millan <rmh@aybabtu.com>
33174
33175 * commands/i386/cpuid.c: New module.
33176 * DISTLIST: Add it.
33177 * conf/i386-efi.rmk: Enable cpuid.mod.
33178 * conf/i386-pc.rmk: Likewise.
33179
7262eca1 331802007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33181
33182 * kern/disk.c (grub_disk_read): Check return value of
33183 grub_realloc().
33184
260ba823 331852007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
33186
33187 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
33188 arrays.
33189 * disk/raid.c (grub_raid_open): Likewise.
33190
1ecb6cf2 331912007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33192
33193 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
33194 stack instead of on the heap.
33195
33196 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
33197 before doing a read on it.
33198
33199 * configure.ac: Only use -fno-stack-protector for the target
33200 environment.
f19dbdb7 33201
21c8cbb1 332022007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
33203
33204 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
33205 __attribute_ ((unused)) to mode_type argument.
33206
33207 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 33208
21c8cbb1 33209 * kern/misc.c (memcmp): Fix prototype.
33210
33211 * include/grub/partition.h [GRUB_UTIL]
33212 (grub_gpt_partition_map_init): Add prototype.
33213 (grub_gpt_partition_map_fini): Likewise.
33214
33215 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
33216 at the right place.
33217
33218 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
33219 (grub_fat_read_data): Likewise.
33220 (grub_fat_find_dir): Likewise.
33221
33222 * font/manager.c (find_glyph): Make table a const.
33223 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 33224
849d55d3 332252007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
33226
33227 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
33228 code, first search for device in /dev/mapper, then in /dev.
33229 (grub_util_get_grub_dev): New function.
33230 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
33231 prototype.
33232 * util/grub-probe.c (probe): Remove check for RAID, call
33233 grub_util_get_grub_dev() instead of
33234 grub_util_biosdisk_get_grub_dev().
33235 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
33236 grub_util_biosdisk_get_grub_dev().
33237 * util/i386/pc/grub-setup.c (main): Likewise.
33238
8fff7c2f 332392007-05-16 Robert Millan <rmh@aybabtu.com>
33240
33241 * DISTLIST: Update for the latest changes.
33242 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
33243 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
33244 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
33245 grub/util/biosdisk.h.
33246 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
33247 grub/util/biosdisk.h.
33248
48e12b52 332492007-05-16 Robert Millan <rmh@aybabtu.com>
33250
33251 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
33252
46b9d128 332532007-05-16 Robert Millan <rmh@aybabtu.com>
33254
33255 * util/i386/efi/grub-install.in: New.
33256 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
33257 newly added grub-install.
33258 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
33259 include.
33260 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
33261 grub/util/biosdisk.h.
33262 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
33263 grub/util/biosdisk.h.
33264
2d1a40a9 332652007-05-16 Robert Millan <rmh@aybabtu.com>
33266
33267 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
33268 * include/grub/util/biosdisk.h: ... here.
33269 * util/i386/pc/biosdisk.c: Moved to ...
33270 * util/biosdisk.c: ... here.
33271 * util/i386/pc/getroot.c: Moved to ...
33272 * util/getroot.c: ... here.
33273 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
33274 * util/grub-mkdevicemap.c: ... here.
33275 * util/i386/pc/grub-probe.c: Moved to ...
33276 * util/grub-probe.c: ... here.
33277
9e26e3bc 332782007-05-15 Robert Millan <rmh@aybabtu.com>
33279
33280 * util/update-grub.in: Remove duplicated line in grub.cfg header
33281 message.
33282
57f96397 332832007-05-13 Robert Millan <rmh@aybabtu.com>
33284
33285 * util/update-grub.in: Fix a few assumptions about the devices holding
33286 /, /boot and /boot/grub being the same.
33287 * util/grub.d/00_header.in: Likewise.
33288 * util/grub.d/10_hurd.in: Likewise.
33289 * util/grub.d/10_linux.in: Likewise.
33290
33291 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
33292 patterns. Use that to define the `.old' suffix as older than `'.
33293
33294 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
33295
33296 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
33297 the grub.cfg header message.
33298
2e610d62 332992007-05-11 Robert Millan <rmh@aybabtu.com>
33300
33301 * util/update-grub.in: Create device.map if it doesn't already exist,
33302 before attempting to run grub-probe.
33303 Check for grub-probe and grub-mkdevicemap with the same code
33304 grub-install is using.
33305 Remove test mode.
33306
3f6a10ef 333072007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
33308
33309 * Makefile.in: Add the datarootdir autoconf variable.
33310
02e7b75e 333112007-05-09 Robert Millan <rmh@aybabtu.com>
33312
33313 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 33314 fail gracefully if dev->disk->partition == NULL.
02e7b75e 33315
75f396cc 333162007-05-07 Robert Millan <rmh@aybabtu.com>
33317
33318 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
33319 determine partition map module.
33320 * util/i386/pc/grub-install.in: Use this feature to decide which
33321 partition module to load, instead of hardcoding pc and gpt.
33322
da65cb36 333232007-05-07 Robert Millan <rmh@aybabtu.com>
33324
33325 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
33326 source directory differs from build directory.
33327
b57d6a91 333282007-05-05 Robert Millan <rmh@aybabtu.com>
33329
33330 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
33331 initialisation.
33332
509d00f1 333332007-05-05 Robert Millan <rmh@aybabtu.com>
33334
33335 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
33336
c48f23ef 333372007-05-05 Robert Millan <rmh@aybabtu.com>
33338
33339 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
33340 command-line arguments via ${GRUB_CMDLINE_LINUX}.
33341
20b97658 333422007-05-05 Robert Millan <rmh@aybabtu.com>
33343
33344 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
33345 (grub_probe_SOURCES): Likewise.
33346 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
33347 GPT and initialize dos_part and bsd_part accordingly.
33348 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
33349 install_bsd_part.
33350 (main): Activate gpt module for use during partition identification,
33351 and deactivate it afterwards.
33352 * util/i386/pc/grub-install.in: Add gpt module to core.img.
33353 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
33354 partition identification, and deactivate it afterwards.
33355
99123174 333562007-05-05 Robert Millan <rmh@aybabtu.com>
33357
33358 * term/i386/pc/console.c (grub_console_fini): Call
33359 grub_term_set_current() before grub_term_unregister().
33360
ebd97f6e 333612007-05-04 Robert Millan <rmh@aybabtu.com>
33362
33363 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
33364 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
33365 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
33366 and update-grub_DATA.
33367 * conf/common.rmk: Build and install update-grub components.
33368 * conf/common.mk: Regenerate.
33369 * util/update-grub.in: New. Core of update-grub.
33370 * util/grub.d/00_header.in: New. Generates grub.cfg header.
33371 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
33372 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
33373 * util/grub.d/README: New. Document grub.d directory layout.
33374
b06a264d 333752007-05-01 Robert Millan <rmh@aybabtu.com>
33376
33377 * util/grub-emu.c: Move initialization functions
33378 grub_util_biosdisk_init() and grub_init_all() before
33379 grub_util_biosdisk_get_grub_dev(), which relies on them.
33380
41f0050e 333812007-04-19 Robert Millan <rmh@aybabtu.com>
33382
33383 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
33384 it is used later.
33385
04582bb3 333862007-04-18 Jerone Young <jerone@gmail.com>
33387
f19dbdb7 33388 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 33389 stanza.
33390
08db4632 333912007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 33392
08db4632 33393 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
33394 continue on and look for device node with real device name.
33395
801b76be 333962007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 33397
fe6b695a 33398 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 33399 ability.
33400 * Makefile.in: Add autoconf package transformation code.
33401 * util/i386/pc/grub-install.in: Likewise.
33402 * util/powerpc/ieee1275/grub-install.in: Likewise.
33403
6795c4e1 334042007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
33405
33406 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
33407 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
33408 (EXT2_REVISION): Likewise.
33409 (EXT2_INODE_SIZE): Likewise.
33410 (struct grub_ext2_block_group): Added a missing member
33411 "used_dirs".
33412 (grub_ext2_read_inode): Divide by the inode size in a superblock
33413 instead of 128 to obtain INODES_PER_BLOCK.
33414 Use the macro EXT2_INODE_SIZE instead of directly using
33415 SBLOCK->INODE_SIZE.
33416
d70af616 334172007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
33418
33419 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
33420 superblock instead of the structure size to compute an
33421 offset. This fixes the problem that GRUB could not read a
33422 filesystem when inode size is different from 128-byte.
33423
3b801603 334242007-03-05 Marco Gerards <marco@gnu.org>
33425
33426 * normal/main.c (read_config_file): When "menu" is not set, create
33427 an initial context.
33428
4785bfe4 334292007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33430
33431 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
33432 (HEAP_LIMIT): New macro.
33433 (grub_claim_heap): Claim memory up to `heaplimit'.
33434
a0cbb023 334352007-02-21 Hollis Blanchard <hollis@penguinppc.org>
33436
33437 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
33438 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
33439 (_start): Likewise.
33440 (grub_arch_modules_addr): Return address after `_end'.
33441 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
33442 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
33443 (add_segments): Calculate `_end' from phdr size and location.
33444 (ALIGN_UP): Moved to ...
33445 * include/grub/misc.h: here.
33446 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
33447 New macro.
33448 (GRUB_IEEE1275_MODULE_BASE): Removed.
33449
fd7d8eba 334502007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33451
33452 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
33453 loop boundary.
33454
9b09e6fc 334552007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33456
33457 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
33458 All users updated.
33459 (grub_elf64_load_hook_t): Likewise.
33460 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
33461 debug output.
33462
3ce27299 334632007-02-20 Hollis Blanchard <hollis@penguinppc.org>
33464
33465 * kern/mm.c: Update copyright.
33466 (grub_mm_debug): Correct syntax error.
33467 (grub_mm_dump_free): New function.
33468 (grub_debug_free): Call `grub_free'.
33469 * include/grub/mm.h: Update copyright.
33470 (grub_mm_dump_free): Add declaration.
33471
077d5fee 334722007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33473
33474 * include/grub/ieee1275/ieee1275.h: Update copyright.
33475 * kern/powerpc/ieee1275/init.c: Likewise.
33476 * kern/powerpc/ieee1275/openfw.c: Likewise.
33477
33478 * loader/powerpc/ieee1275/linux.c: Likewise.
33479 * include/grub/elfload.h: Likewise.
33480 * kern/elf.c: Likewise.
33481 (grub_elf32_load): Pass `base' and `size' parameters. Update all
33482 callers.
33483 (grub_elf64_load): Likewise.
33484 (grub_elf32_load_segment): Move to a nested function.
33485 (grub_elf64_load_segment): Likewise.
33486
dc946850 334872007-02-12 Hollis Blanchard <hollis@penguinppc.org>
33488
33489 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
33490 prototype.
33491 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
33492 (grub_heap_len): Likewise.
33493 (HEAP_SIZE): New macro.
33494 (grub_claim_heap): New function.
33495 (grub_machine_init): Don't claim heap directly. Call
33496 `grub_claim_heap'.
33497 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
33498 (grub_available_iterate): New function.
33499
baa2a121 335002007-02-03 Thomas Schwinge <tschwinge@gnu.org>
33501
33502 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
33503 * configure.ac: Use it for testing the HOST and TARGET compilers.
33504
4fe9862e 335052006-12-13 Thomas Schwinge <tschwinge@gnu.org>
33506
33507 * Makefile.in (enable_grub_emu): New variable.
33508 * configure.ac (--enable-grub-emu): New option.
33509 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
33510 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
33511 * conf/i386-pc.rmk: Likewise.
33512 * conf/powerpc-ieee1275.rmk: Likewise.
33513 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
33514
a8aa5762 335152006-12-12 Marco Gerards <marco@gnu.org>
33516
33517 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
33518
33519 * kern/env.c (grub_env_unset): Don't free the member `value' when
33520 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
33521 pointer.
33522
33523 * normal/main.c (current_menu): Removed.
33524 (free_menu): Unset the `menu' environment variable.
33525 (grub_normal_menu_addentry): Make use of the environment variable
33526 `menu', instead of using the global `current_menu'. Allocate
33527 memory for the sourcecode of this entry.
33528 (read_config_file): New argument `nested', changed all callers.
33529 Only in the case of a new context, initialize a new menu. Set the
33530 `menu' environment variable.
33531 (grub_normal_execute): Don't set and unset the environment
33532 variable `menu' here anymore. Only free the menu when leaving the
33533 context.
33534
33535 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
33536 leak.
33537
957b3a3e 335382006-12-11 Marco Gerards <marco@gnu.org>
33539
33540 * normal/menu_entry.c (run): Fix off by one bug so the last line
33541 is executed. Move the loader check to outside the loop.
33542
ef875714 335432006-12-08 Hollis Blanchard <hollis@penguinppc.org>
33544
33545 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
33546
4e739985 335472006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
33548
33549 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
33550 the number of sectors. Reported by Andrey Shuvikov
33551 <mr_hyro@yahoo.com>.
f19dbdb7 33552
790707f2 335532006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
33554
33555 * kern/disk.c (grub_disk_read): When there is a read error, always
33556 try to read only the necessary data.
f19dbdb7 33557
790707f2 33558 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
33559 disk/raid.c.
33560 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
33561 prototype.
33562 [GRUB_UTIL] (grub_raid_fini): Likewise.
33563 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 33564 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 33565 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
33566 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
33567 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
33568 and grub_raid_fini().
f19dbdb7 33569
03e58196 335702006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
33571
33572 * include/grub/types.h (__unused): Rename to UNUSED.
33573 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
33574 (grub_elf64_size): Likewise.
f19dbdb7 33575
ae4f23bf 335762006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33577
33578 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
33579 grub_error_push and grub_error_pop in the error-handling path.
33580 (grub_elf32_load_segment): Only call grub_file_read with non-zero
33581 length.
33582
2166cc83 335832006-11-03 Hollis Blanchard <hollis@penguinppc.org>
33584
33585 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
33586 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
33587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
33588 (kernel_elf_SOURCES): Likewise.
33589 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
33590 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
33591 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33592 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
33593 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
33594 (elf_mod_SOURCES): New variable.
33595 (elf_mod_CFLAGS): Likewise.
33596 (elf_mod_LDFLAGS): Likewise.
33597 * include/grub/types.h (__unused): New macro.
33598 * include/grub/elfload.h: New file.
33599 * kern/elf.c: Likewise.
33600 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
33601 (ELF32_LOADMASK): New macro.
33602 (ELF64_LOADMASK): Likewise.
33603 (vmlinux): Removed.
33604 (grub_linux_load32): New function.
33605 (grub_linux_load64): Likewise.
33606 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
33607 Use grub_elf_t instead of grub_file_t.
33608
a09d5aa5 336092006-11-02 Hollis Blanchard <hollis@penguinppc.org>
33610
33611 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
33612 `catch_result' to struct set_color_args.
33613
d976fc51 336142006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
33615
33616 * normal/menu.c: Include grub/script.h.
33617 * normal/menu_entry.c: Likewise.
33618 * include/grub/normal.h: Do not include grub/script.h.
33619
67507549 336202006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33621
33622 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
33623
69203a99 336242006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33625
33626 * kern/disk.c (grub_disk_open): Print debug messages when opening a
33627 disk.
33628 (grub_disk_close): Print debug messages when closing a disk.
33629 (grub_disk_read): Print debug messages when disk read fails.
33630 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
33631 filesystem type.
33632 * kern/partition.c: Include misc.h.
33633 (grub_partition_iterate): Print debug messages when detecting
33634 partition type.
33635
e2b8278c 336362006-10-27 Hollis Blanchard <hollis@penguinppc.org>
33637
33638 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
33639 is negative.
33640 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
33641
97b2f2ff 336422006-10-26 Hollis Blanchard <hollis@penguinppc.org>
33643
33644 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
33645 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
33646
6555d655 336472006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
33648
33649 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
33650 instead of sizeof(lv). Patch by Michael Guntsche.
33651
4d42b77f 336522006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
33653
33654 * disk/lvm.c: Rename VGS to VG_LIST.
33655 (grub_lvm_iterate): Change VGS->LV to VG-LV.
33656 (grub_lvm_open): Likewise.
33657 Thanks to Michael Guntsche for finding this bug.
33658
5d74d927 336592006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
33660
33661 * configure.ac (AC_INIT): Bumped to 1.95.
33662
a1bb27e4 336632006-10-14 Robert Millan <rmh@aybabtu.com>
33664
33665 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
33666 with "/dev/.static/dev/md".
33667
e0994b8b 336682006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33669
33670 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
33671 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
33672 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
33673 DRIVE_NAME are always freed.
33674
33675 * util/i386/pc/biosdisk.c (make_device_name): Add one into
33676 DOS_PART, as a DOS partition is counted from one instead of zero
33677 now. Reported by Robert Millan.
33678
ddd5cee9 336792006-10-14 Robert Millan <rmh@aybabtu.com>
33680
33681 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
33682 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
33683 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
33684 string returned by grub_guess_root_device.
33685 * util/i386/pc/grub-setup.c: Likewise.
33686 * util/i386/pc/grub-probefs.c: Likewise.
33687
33688 * util/i386/pc/grub-probefs.c: Rename to ...
33689 * util/i386/pc/grub-probe.c: ... this.
33690 * DISTLIST: Remove grub-probefs, add grub-probe.
33691 * conf/i386-efi.rmk: Likewise.
33692 * conf/i386-pc.rmk: Likewise.
33693 * util/i386/pc/grub-install.in: Likewise.
33694
33695 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
33696 choose which information we want to print.
33697
2b002173 336982006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
33699
33700 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
33701 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
33702 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
33703 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
33704 video/readers/tga.c and video/i386/pc/vbeutil.c.
33705
337062006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
33707
33708 Added support for RAID and LVM.
f19dbdb7 33709
2b002173 33710 * disk/lvm.c: New file.
33711 * disk/raid.c: Likewise.
33712 * include/grub/lvm.h: Likewise.
f19dbdb7 33713 * include/grub/raid.h: Likewise.
2b002173 33714 * include/grub/util/lvm.h: Likewise.
33715 * include/grub/util/raid.h: Likewise.
33716 * util/lvm.c: Likewise.
33717 * util/raid.c: Likewise.
33718
33719 * include/grub/disk.h (grub_disk_dev_id): Add
33720 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
33721 (grub_disk_get_size): New prototype.
33722 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
33723 returns a partition.
33724 (grub_disk_get_size): New function.
f19dbdb7 33725
2b002173 33726 * kern/i386/pc/init.c (make_install_device): Copy the prefix
33727 verbatim if grub_install_dos_part is -2.
33728
33729 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
33730 and LVM devices.
33731
33732 * util/i386/pc/grub-setup.c (setup): New argument
33733 MUST_EMBED. Force embedding of GRUB when the argument is
33734 true. Close FILE before returning.
33735 (main): Add support for RAID and LVM.
f19dbdb7 33736
2b002173 33737 * conf/common.rmk: Add RAID and LVM modules.
33738 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
33739 util/lvm.c.
33740 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
33741
33742 * kern/misc.c (grub_strstr): New function.
33743 * include/grub/misc.h (grub_strstr): New prototype.
33744
050548d0 337452006-10-10 Tristan Gingold <tristan.gingold@bull.net>
33746
33747 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
33748
da849d2d 337492006-10-05 Tristan Gingold <tristan.gingold@bull.net>
33750
33751 * kern/misc.c (grub_strtoull): Guess the base only if not
33752 specified.
33753
97b2f2ff 337542006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 33755
33756 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
33757 PowerMac support.
33758
97b2f2ff 337592006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 33760
33761 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
33762
33763 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
33764 Remove `flags' argument. All callers changed.
33765 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
33766 (IEEE1275_IHANDLE_INVALID): New variable.
33767 (IEEE1275_CELL_INVALID): New variable.
33768 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
33769 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
33770 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
33771 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
33772 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
33773 codes from Open Firmware. All callers updated.
33774 (grub_ieee1275_next_property): Directly return Open Firmware return
33775 code.
33776 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
33777 Standardize error checking from `grub_ieee1275_get_property'.
33778 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
33779 `devalias' to `aliases'. Correct comments. Consolidate error paths.
33780
97b2f2ff 337812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 33782
33783 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
33784 `instance_to_package_args' to `instance_to_path_args'.
33785
33786 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
33787 `grub_ieee1275_chosen'.
33788
33789 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
33790 `grub_ieee1275_interpret'.
33791
97b2f2ff 337922006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 33793
33794 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
33795
97b2f2ff 337962006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 33797
33798 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
33799 (__cmpdi): Likewise.
33800
33801 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
33802 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
33803 `grub_ssize_t'.
33804
02bb8acc 33805 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 33806
33807 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
33808 to type `grub_ssize_t'.
33809 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
33810
7f9a8531 338112006-09-22 Marco Gerards <marco@gnu.org>
33812
33813 * normal/script.c (grub_script_create_cmdmenu): Skip leading
33814 newlines.
33815
b5ef1102 338162006-09-22 Marco Gerards <marco@gnu.org>
33817
33818 * commands/echo.c: New file.
33819
33820 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
33821
33822 * conf/common.rmk (echo_mod_SOURCES): New variable.
33823 (echo_mod_CFLAGS): Likewise.
33824 (echo_mod_LDFLAGS): Likewise.
33825
2cff3677 338262006-09-22 Marco Gerards <marco@gnu.org>
33827
33828 * normal/main.c (get_line): Malloc memory instead of using
33829 preallocated memory. Removed the arguments `cmdline' and
33830 `max_len'. Updated all callers.
33831
6ba4688b 338322006-09-22 Marco Gerards <marco@gnu.org>
33833
33834 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
33835 (normal_mod_DEPENDENCIES): Likewise.
33836
33837 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
33838 (normal_mod_DEPENDENCIES): Likewise.
33839
33840 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
33841
e02ac02c 338422006-09-22 Johan Rydberg <jrydberg@gnu.org>
33843
33844 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
33845 programs.
33846 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
33847 (normal_mod_DEPENDENCIES): Likewise.
33848 * conf/i386-pc.mk: Regenerate.
33849 * conf/i386-efi.mk: Likewise
33850 * conf/common.mk: Likewise.
33851 * conf/powerpc-ieee1275.mk: Likewise.
33852 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 33853
8d252e44 338542006-09-22 Robert Millan <rmh@aybabtu.com>
33855
33856 Sync with i386 version.
33857 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
33858 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
33859
209bf7ac 338602006-09-21 Robert Millan <rmh@aybabtu.com>
33861
33862 Import from GRUB Legacy (lib/device.c):
33863 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
33864 (init_device_map) [__linux__]: Add support for I2O devices.
33865
6b146090 338662006-09-14 Marco Gerards <marco@gnu.org>
33867
33868 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
33869 `-melf_i386'.
33870
e38600a8 338712006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 33872
33873 * util/i386/pc/grub-install.in: Skip menu.lst when removing
33874 /boot/grub/*.lst.
78fa1790 33875
2952da5d 33876 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 33877
2952da5d 33878 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
33879 before adding it to device.map.
33880
01b82a64 338812006-08-15 Johan Rydberg <jrydberg@gnu.org>
33882
fe6b695a 33883 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 33884 compiles a file; using the -MD option.
33885 * conf/common.mk: Regenerate.
33886 * conf/i386-pc.mk: Likewise.
33887 * conf/i386-efi.mk: Likewise.
33888 * conf/powerpc-ieee1275.mk: Likewise.
33889 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 33890
1064790d 338912006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
33892
33893 Move the prototypes of grub_setjmp and grub_longjmp to
33894 cpu/setjmp.h, so that each architecture may specify different
33895 attributes.
f19dbdb7 33896
1064790d 33897 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
33898 (grub_longjmp): Likewise.
33899 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
33900 (grub_longjmp): Likewise.
33901 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
33902 (grub_longjmp): Likewise.
33903
33904 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
33905 [!GRUB_UTIL] (grub_longjmp): Removed.
33906
29dda3ed 339072006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
33908
33909 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
33910 "color!" method does not return any value.
33911
ad2a06ed 339122006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
33913
33914 * include/grub/bitmap.h: New file.
33915
33916 * include/grub/i386/pc/vbeutil.h: Likewise.
33917
33918 * video/bitmap.c: Likewise.
33919
33920 * video/readers/tga.c: Likewise.
33921
33922 * video/i386/pc/vbeutil.c: Likewise.
33923
33924 * commands/videotest.c: Code cleanup and updated to reflect to new
33925 video API.
33926
33927 * term/gfxterm.c: Likewise.
33928
33929 * video/video.c: Likewise.
33930
33931 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
33932 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
33933 (bitmap_mod_SOURCES): New entry.
33934 (bitmap_mod_CFLAGS): Likewise.
33935 (bitmap_mod_LDFLAGS): Likewise.
33936 (tga_mod_SOURCES): Likewise.
33937 (tga_mod_CFLAGS): Likewise.
33938 (tga_mod_LDFLAGS): Likewise.
33939
33940 * include/grub/video.h (grub_video_blit_operators): New enum type.
33941 (grub_video_render_target): Changed as forward declaration and moved
33942 actual definition to be video driver specific.
33943 (grub_video_adapter.blit_bitmap): Added blitting operator.
33944 (grub_video_adapter.blit_render_target): Likewise.
33945 (grub_video_blit_bitmap): Likewise.
33946 (grub_video_blit_render_target): Likewise.
33947
33948 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
33949 driver specific render target definition.
33950 (grub_video_vbe_map_rgba): Added driver internal helper.
33951 (grub_video_vbe_unmap_color): Updated to use
33952 grub_video_i386_vbeblit_info.
33953 (grub_video_vbe_get_video_ptr): Likewise.
33954
33955 * include/grub/i386/pc/vbeblit.h
33956 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
33957 grub_video_i386_vbeblit_info.
33958 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33959 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33960 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33961 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33962 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33963 (grub_video_i386_vbeblit_index_index): Likewise.
33964 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
33965 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33966 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33967 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
33968 operator.
33969 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
33970 operator.
33971
33972 * video/i386/pc/vbeblit.c: Updated to reflect changes on
33973 include/grub/i386/pc/vbeblit.h.
33974
33975 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
33976 Updated to use grub_video_i386_vbeblit_info.
33977 (grub_video_i386_vbefill_R8G8B8): Likewise.
33978 (grub_video_i386_vbefill_index): Likewise.
33979 (grub_video_i386_vbefill): Added generic filler.
33980
33981 * video/i386/pc/vbefill.c: Updated to reflect changes on
33982 include/grub/i386/pc/vbefill.h.
33983
33984 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
33985 grub_video_i386_vbeblit_info.
33986 (grub_video_vbe_unmap_color): Likewise.
33987 (grub_video_vbe_blit_glyph): Likewise.
33988 (grub_video_vbe_scroll): Likewise.
33989 (grub_video_vbe_draw_pixel): Removed function.
33990 (grub_video_vbe_get_pixel): Likewise.
33991 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
33992 updated code to use it.
33993 (common_blitter): Added common blitter for render target and bitmap.
33994 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
33995 (grub_video_vbe_blit_render_target): Likewise.
33996
bc8c036d 339972006-07-30 Johan Rydberg <jrydberg@gnu.org>
33998
33999 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
34000 is in text mode if there is no console control protocol instance
34001 available.
34002
684a8eff 340032006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34004
34005 * include/grub/video.h: Code cleanup.
34006
34007 * include/grub/i386/pc/vbe.h: Likewise.
34008
34009 * video/i386/pc/vbe.c: Likewise.
34010
34011 * video/i386/pc/vbeblit.c: Likewise.
34012
34013 * video/i386/pc/vbefill.c: Likewise.
34014
34015 * video/video.c: Likewise. Also added more comments.
34016
5915059b 340172006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
34018
34019 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
34020 (struct grub_biosdisk_dap): Likewise.
34021
34022 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
34023 linkage settings for all functions.
34024
90ce5d56 340252006-07-12 Marco Gerards <marco@gnu.org>
34026
34027 * configure.ac (--enable-mm-debug): Fix typo.
34028
34029 * genkernsyms.sh.in: Use proper quoting for `CC'.
34030
43e7f879 340312006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
34032
34033 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
34034 (normal_mod_ASFLAGS): Remove "-m32".
34035
4889bdec 340362006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
34037
34038 * util/misc.c: Include config.h.
34039 [!HAVE_MEMALIGN]: Do not include malloc.h.
34040 (grub_memalign): Use posix_memalign, if present. Then, use
34041 memalign, if present. Otherwise, emit an error.
34042
34043 * util/grub-emu.c: Do not include malloc.h.
34044
34045 * include/grub/util/misc.h: Include unistd.h. This is required for
34046 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
34047 D. Eades III <hde@foobar-qux.org>.
34048
34049 * configure.ac (AC_GNU_SOURCE): Added.
34050 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
34051 type.
34052
fd39d4da 340532006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
34054
34055 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
34056 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
34057
b786f3b5 340582006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
34059
34060 * include/grub/types.h (grub_host_addr_t): Rename to
34061 grub_target_addr_t.
34062 (grub_host_off_t): Rename to grub_target_off_t.
34063 (grub_host_size_t): Rename to grub_target_size_t.
34064 (grub_host_ssize_t): Rename to grub_target_ssize_t.
34065 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
34066
34067 * include/grub/kernel.h (struct grub_module_header): Change type
34068 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
34069 (grub_module_info): Likewise.
f19dbdb7 34070
051988bb 340712006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34072
34073 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
34074 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
34075 Velazquez <jesus.velazquez@gmail.com>.
34076
deae281b 340772006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
34078
34079 Count partitions from 1 instead of 0 in the string representation
34080 of partitions. Still use 0-based internally.
f19dbdb7 34081
deae281b 34082 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
34083 (sun_partition_map_iterate): Use grub_partition_t instead of
34084 struct grub_partition *. Cast DESC->START_CYLINDER to
34085 grub_uint64_t after converting the endian.
34086 (sun_partition_map_probe): Subtract 1 for PARTNUM.
34087 (sun_partition_map_get_name): Add 1 to P->INDEX.
34088
34089 * partmap/pc.c (grub_partition_parse): Subtract 1 for
34090 PCDATA->DOS_PART.
34091 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
34092
34093 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
34094 zero instead of one.
34095 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
34096 (gpt_partition_map_get_name): Add 1 into P->INDEX.
34097
34098 * partmap/apple.c (apple_partition_map_iterate): Change the type
34099 of POS to unsigned.
34100 (apple_partition_map_probe): Subtract 1 for PARTNUM.
34101 (apple_partition_map_get_name): Add 1 into P->INDEX.
34102
34103 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
34104 of POS to unsigned.
34105 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
34106 calculate the offset of a partition.
34107 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
34108 (amiga_partition_map_get_name): Add 1 into P->INDEX.
34109
34110 * partmap/acorn.c (acorn_partition_map_find): Change the type of
34111 SECTOR to grub_disk_addr_t.
34112 (acorn_partition_map_iterate): Likewise.
34113 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
34114 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
34115 top.
34116 (acorn_partition_map_get_name): Add 1 into P->INDEX.
34117
34118 * kern/i386/pc/init.c (make_install_device): Add 1 into
34119 GRUB_INSTALL_DOS_PART.
34120
34121 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
34122 conditional.
34123
524a1e6a 341242006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34125
34126 Clean up the code to support 64-bit addressing in disks and
34127 files. This change is not enough for filesystems yet.
f19dbdb7 34128
524a1e6a 34129 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
34130 type of "start" to grub_uint64_t.
34131 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
34132 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
34133 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
34134 convert addresses.
34135
34136 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
34137 to grub_disk_addr_t.
34138
34139 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
34140 string.
34141
34142 * partmap/pc.c (pc_partition_map_iterate): Likewise.
34143
34144 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
34145 to char *.
34146
34147 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
34148
34149 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
34150
34151 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
34152
34153 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
34154 to grub_off_t, to detect an error from grub_file_seek.
34155 (grub_multiboot_load_elf32): Likewise.
34156
34157 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
34158 maximum unsigned long value when an overflow is detected.
34159 (grub_strtoull): New function.
34160 (grub_divmod64): Likewise.
34161 (grub_lltoa): use grub_divmod64.
34162
34163 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
34164 grub_disk_addr_t.
34165 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
34166 the pointer to next character. Use grub_strtoull instead of
34167 grub_strtoul.
34168 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
34169 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
34170 respectively.
34171
fe6b695a 34172 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 34173 return value is signed.
34174 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
34175 test if OFFSET is less than zero, as OFFSET is unsigned now.
34176
34177 * kern/disk.c (struct grub_disk_cache): Change the type of
34178 "sector" to grub_disk_addr_t.
34179 (grub_disk_cache_get_index): Change the type of SECTOR to
34180 grub_disk_addr_t. Calculate the hash with SECTOR casted to
34181 unsigned after shifting.
34182 (grub_disk_cache_invalidate): Change the type of SECTOR to
34183 grub_disk_addr_t.
34184 (grub_disk_cache_unlock): Likewise.
34185 (grub_disk_cache_store): Likewise.
34186 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
34187 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
34188 grub_disk_addr_t and grub_uint64_t, respectively.
34189 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
34190 body, as the value of OFFSET is tweaked by
34191 grub_disk_check_range. Change the types of START_SECTOR, LEN and
34192 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
34193 respectively.
34194 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
34195 body, as the value of OFFSET is tweaked by
34196 grub_disk_check_range. Change the types of LEN and N to
34197 grub_size_t.
34198
34199 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
34200 and "saved_offset" to grub_off_t.
34201 (test_header): Cast BUF to char *.
34202 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
34203 to char *.
34204 (grub_gzio_read): Change the types of OFFSET and SIZE to
34205 grub_off_t and grub_size_t, respectively.
34206
34207 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
34208 Removed.
34209 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
34210 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
34211 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
34212 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
34213 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
34214
34215 * include/grub/types.h (grub_off_t): Unconditionally set to
34216 grub_uint64_t.
34217 (grub_disk_addr_t): Changed to grub_uint64_t.
34218
34219 * include/grub/partition.h (struct grub_partition): Change the
34220 types of "start", "len" and "offset" to grub_disk_addr_t,
34221 grub_uint64_t and grub_disk_addr_t, respectively.
34222 (grub_partition_get_start): Return grub_disk_addr_t.
34223 (grub_partition_get_len): Return grub_uint64_t.
34224
34225 * include/grub/misc.h (grub_strtoull): New prototype.
34226 (grub_divmod64): Likewise.
34227
34228 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
34229 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
34230 grub_off_t, respectively.
34231 All callers and references changed.
34232
34233 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
34234 grub_size_t in "read".
34235 All callers and references changed.
34236
34237 * include/grub/file.h (struct grub_file): Change the types of
34238 "offset" and "size" to grub_off_t and grub_off_t,
34239 respectively. Change the type of SECTOR to grub_disk_addr_t in
34240 "read_hook".
34241 (grub_file_read): Change the type of LEN to grub_size_t.
34242 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
34243 grub_off_t.
34244 (grub_file_size): Return grub_off_t.
34245 (grub_file_tell): Likewise.
34246 All callers and references changed.
34247
34248 * include/grub/disk.h (struct grub_disk_dev): Change the types of
34249 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
34250 "write".
34251 (struct grub_disk): Change the type of "total_sectors" to
34252 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 34253 "read_hook".
524a1e6a 34254 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
34255 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
34256 (grub_disk_write): Likewise.
34257 All callers and references changed.
34258
34259 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
34260 char * for grub_strncmp to silence gcc.
34261 (grub_iso9660_mount): Likewise.
34262 (grub_iso9660_mount): Likewise.
34263 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
34264 return statement.
34265 (grub_iso9660_iterate_dir): Likewise.
34266 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
34267
34268 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
34269 LEN to grub_disk_addr_t and grub_size_t, respectively.
34270
34271 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
34272
34273 * fs/jfs.c (grub_jfs_read_file): Likewise.
34274
34275 * fs/minix.c (grub_jfs_read_file): Likewise.
34276
34277 * fs/sfs.c (grub_jfs_read_file): Likewise.
34278
34279 * fs/ufs.c (grub_jfs_read_file): Likewise.
34280
34281 * fs/xfs.c (grub_jfs_read_file): Likewise.
34282
34283 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
34284 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
34285 respectively.
34286
34287 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
34288 BLKNR to -1 instead of returning GRUB_ERRNO.
34289 (grub_ext2_read_file): Change the types of SECTOR and
34290 LEN to grub_disk_addr_t and grub_size_t, respectively.
34291
34292 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
34293 LEN to grub_disk_addr_t and grub_size_t, respectively.
34294
34295 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
34296 grub_file_read.
34297
34298 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
34299 string. Do not cast SECTOR explicitly.
34300
34301 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
34302 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
34303 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
34304 grub_disk_addr_t and grub_size_t, respectively. If the sector is
34305 over 2TB and LBA mode is not supported, raise an error.
34306 (get_safe_sectors): New function.
34307 (grub_biosdisk_read): Use get_safe_sectors.
34308 (grub_biosdisk_write): Likewise.
34309
34310 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
34311 (grub_efidisk_write): Likewise.
34312
34313 * disk/loopback.c (delete_loopback): Cosmetic changes.
34314 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
34315 correctly.
34316 (grub_loopback_open): Likewise.
34317 (grub_loopback_read): Likewise. Also, change the type of POS to
34318 grub_off_t, and fix the usage of grub_memset.
34319
34320 * commands/i386/pc/play.c: Include grub/machine/time.h.
34321
34322 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
34323 print FILE->SIZE.
34324
34325 * commands/configfile.c: Include grub/env.h.
34326
34327 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
34328 GRUB_ERRNO directly instead. Change the type of POS to
34329 grub_off_t. Follow the coding standard.
34330
34331 * commands/blocklist.c: Include grub/partition.h.
34332 (grub_cmd_blocklist): Return an error if the underlying device is
34333 not a disk. Take the starting sector of a partition into account,
34334 if a partition is used.
34335
34336 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
34337 a length field.
34338 (lba_mode): Support 64-bit addresses.
34339 (chs_mode): Likewise.
34340 (copy_buffer): Adapted to the new offsets of a length field and a
34341 segment field.
34342 (blocklist_default_start): Allocate 64-bit space.
34343
34344 * boot/i386/pc/boot.S (force_lba): Removed.
34345 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 34346 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 34347 space.
34348 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
34349 is useless.
34350 (lba_mode): Refactored to support a 64-bit address. More size
34351 optimization.
34352 (setup_sectors): Likewise.
34353
53af98ad 343542006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
34355
34356 * DISTLIST: Added include/grub/i386/linux.h. Removed
34357 include/grub/i386/pc/linux.h
34358
34359 * configure.ac (AC_INIT): Bumped to 1.94.
34360
34361 * config.guess: Updated from gnulib.
34362 * config.sub: Likewise.
34363 * install-sh: Likewise.
34364 * mkinstalldirs: Likewise.
34365
b4c1940a 343662006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34367
34368 * conf/common.rmk (grub_modules_init.lst): Depended on
34369 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
34370 MODSRCFILES.
34371
34372 * genmk.rb (PModule::rule): Reverted the previous change.
34373
cfca1cfd 343742006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
34375
34376 * conf/common.rmk (grub_modules_init.lst): Depends on
34377 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
34378 that the target does not exist before producing.
34379 (grub_modules_init.h): Remove the target before generating.
34380 (grub_emu_init.c): Likewise.
34381
34382 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
34383
aa6d7826 343842006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
34385
34386 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
34387 for the target-specific tests. Make sure that we also have the
34388 up-to-date target variables for those tests.
34389
26c607b9 343902006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34391
34392 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
34393 (PModule::rule): Likewise.
34394
0162321a 343952006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
34396
34397 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
34398 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
34399 target-specific flags should be prefixed.
34400 (PModule::rule): Likewise.
34401
6c826348 344022006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
34403
34404 * configure.ac (CMP): Check if cmp is available explicitly.
34405
b977bf01 344062006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
34407
34408 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
34409 (target_cpu): New variable.
34410 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 34411
b977bf01 34412 * util/i386/pc/grub-install.in (host_cpu): Removed.
34413 (target_cpu): New variable.
34414 (pkglibdir): Use target_cpu instead of host_cpu.
34415
34416 * util/genmoddep.c: Removed.
f19dbdb7 34417
b977bf01 34418 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
34419 instead of GRUB_HOST_SIZEOF_VOID_P.
34420 * kern/dl.c: Likewise.
34421
34422 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
34423 ...
34424 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34425 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34426 (GRUB_TARGET_SIZEOF_LONG): ... this.
34427 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34428 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34429 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34430 to ...
34431 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34432 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34433 (GRUB_TARGET_SIZEOF_LONG): ... this.
34434 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34435 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34436 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
34437 to ...
34438 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
34439 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
34440 (GRUB_TARGET_SIZEOF_LONG): ... this.
34441 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
34442 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
34443
34444 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
34445 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
34446 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
34447 instead of GRUB_HOST_SIZEOF_LONG.
34448 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
34449 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
34450 GRUB_CPU_WORDS_BIGENDIAN.
34451 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
34452 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
34453 grub_host_ssize_t.
34454
34455 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
34456 (genmoddep_SOURCES): Likewise.
34457 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
34458 (genmoddep_SOURCES): Likewise.
34459 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
34460 (genmoddep_SOURCES): Likewise.
34461 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
34462 Likewise.
34463 (genmoddep_SOURCES): Likewise.
34464
34465 * genmoddep.awk: New file.
34466
34467 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
34468 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
34469 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
34470 (PModule::rule): Likewise.
34471 (Program::rule): Likewise.
34472 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
34473 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
34474 respectively.
34475
34476 * configure.ac: Rewritten intensively to use host and target
34477 instead of build and host, respectively.
34478
34479 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
34480 (host_cpu): Removed.
34481 (target_cpu): New variable.
34482 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
34483 (BUILD_CC): Removed.
34484 (BUILD_CFLAGS): Likewise.
34485 (BUILD_CPPFLAGS): Likewise.
34486 (TARGET_CC): New variable.
34487 (TARGET_CFLAGS): Likewise.
34488 (TARGET_CPPFLAGS): Likewise.
34489 (TARGET_LDFLAGS): Likewise.
34490 (AWK): Likewise.
34491 (include): Use target_cpu instead of host_cpu.
34492 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 34493
b977bf01 34494 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
34495
f09771a1 344962006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
34497
34498 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
34499 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
34500 field 'false' to 'exec_on_false'.
34501 (grub_script_create_cmdif): Renamed argument names to reflect above
34502 changes.
34503
34504 * normal/execute.c (grub_script_execute_cmdif): Likewise.
34505
34506 * normal/script.c (grub_script_create_cmdif): Likewise.
34507
118f4fb3 345082006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
34509
34510 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
34511 top.
34512 (grub_hfsplus_btree_recptr): Likewise.
34513 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
34514 FILEBLOCK both to pass a block number and store next block
34515 number.
34516 (grub_hfsplus_read_block): Rewritten heavily to support an extent
34517 overflow file correctly. Specify errors appropriately, because
34518 fshelp expects that GRUB_ERRNO is set when fails. Reuse
34519 grub_hfsplus_btree_recptr to get the pointer to a found key.
34520 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
34521 is found.
34522
34523 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
34524 linux.mod.
34525 (_linux_mod_SOURCES): New variable.
34526 (_linux_mod_CFLAGS): Likewise.
34527 (_linux_mod_LDFLAGS): Likewise.
34528 (linux_mod_SOURCES): Likewise.
34529 (linux_mod_CFLAGS): Likewise.
34530 (linux_mod_LDFLAGS): Likewise.
34531
34532 * DISTLIST: Added loader/i386/efi/linux.c,
34533 loader/i386/efi/linux_normal.c and
34534 include/grub/i386/efi/loader.h.
34535
34536 * loader/i386/efi/linux.c: New file.
34537 * loader/i386/efi/linux_normal.c: Likewise.
34538 * include/grub/i386/efi/loader.h: Likewise.
34539
89a7d726 345402006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
34541
34542 * commands/blocklist.c: New file.
34543
34544 * DISTLIST: Added commands/blocklist.c.
34545
34546 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 34547 color for the background, and a darker color for the foreground.
89a7d726 34548 (grub_console_checkkey): Return READ_KEY.
34549 (grub_console_cls): Set the background to
34550 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
34551
34552 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
34553
34554 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
34555 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
34556
34557 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
34558 prototype.
34559
34560 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
34561 BG. The spec is wrong again.
34562
34563 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
34564 prototype.
34565 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
34566
34567 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
34568 commands/blocklist.c.
34569 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 34570
89a7d726 34571 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
34572 (blocklist_mod_SOURCES): New variable.
34573 (blocklist_mod_CFLAGS): Likewise.
34574 (blocklist_mod_LDFLAGS): Likewise.
34575
75c8f258 345762006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
34577
34578 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
34579 duplication.
34580 (lba_mode): Use %eax more intensively to reduce the code size.
34581
da2eb181 345822006-05-20 Marco Gerards <marco@gnu.org>
34583
34584 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
34585
34586 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
34587 for `menuentry'.
34588 (script): Accept leading newlines.
34589 (newlines): New rule to describe 0 or more newlines.
34590 (commands): Accept `command' with trailing newline. Fixed the
34591 order in which arguments were passed to `grub_script_add_cmd'.
34592 Accept commands separated by newlines.
34593 (function): Changed to accept newlines.
34594 (menuentry) Rewritten.
34595
34596 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
34597 front of the list, instead of to the end.
34598
577b4050 345992006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
34600
34601 * util/i386/pc/grub-install.in (bindir): New variable.
34602 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
34603 Shaver <lbgwjl@gmail.com>.
34604
0d6e1189 346052006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
34606
34607 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
34608 grub/machine/linux.h
34609 * loader/i386/pc/linux.c: Likewise.
34610
34611 * include/grub/i386/pc/linux.h: Moved to ...
34612 * include/grub/i386/linux.h: ... here.
34613
34614 * include/grub/i386/linux.h (struct linux_kernel_params): New
34615 struct.
f19dbdb7 34616
31b86e9f 346172006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
34618
34619 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
34620 checking.
34621 (grub_video_vbe_blit_glyph): Likewise.
34622 (grub_video_vbe_blit_bitmap): Likewise.
34623 (grub_video_vbe_blit_render_target): Likewise.
34624
83b984de 346252006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
34626
34627 * configure.ac (--with-platform): Properly quote the square
34628 brackets.
34629
5f0413bd 346302006-05-08 Marco Gerards <marco@gnu.org>
34631
34632 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
34633 this...
34634 (kernel_elf_HEADERS): ...to this. Updated all users.
34635 (grubof_symlist.c): Renamed from this...
34636 (kernel_elf_symlist.c): ...to this. Updated all users.
34637 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34638 (grubof_SOURCES): Renamed from this...
34639 (kernel_elf_SOURCES): ...to this.
34640 (grubof_HEADERS): Renamed from this...
34641 (kernel_elf_HEADERS): ...to this.
34642 (grubof_CFLAGS): Renamed from this...
34643 (kernel_elf_CFLAGS): ...to this.
34644 (grubof_ASFLAGS): Renamed from this...
34645 (kernel_elf_ASFLAGS): ...to this.
34646 (grubof_LDFLAGS): Renamed from this...
34647 (kernel_elf_LDFLAGS): ...to this.
34648
34649 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
34650 this...
34651 (kernel_elf_HEADERS): ...to this. Updated all users.
34652 (grubof_symlist.c): Renamed from this...
34653 (kernel_elf_symlist.c): ...to this. Updated all users.
34654 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
34655 (grubof_SOURCES): Renamed from this...
34656 (kernel_elf_SOURCES): ...to this.
34657 (grubof_HEADERS): Renamed from this...
34658 (kernel_elf_HEADERS): ...to this.
34659 (grubof_CFLAGS): Renamed from this...
34660 (kernel_elf_CFLAGS): ...to this.
34661 (grubof_ASFLAGS): Renamed from this...
34662 (kernel_elf_ASFLAGS): ...to this.
34663 (grubof_LDFLAGS): Renamed from this...
34664 (kernel_elf_LDFLAGS): ...to this.
34665
34666 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
34667 `kernel.elf' instead of `grubof'.
34668
05568c2e 346692006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
34670
34671 Add --with-platform to configure. Use pkglibdir instead of
34672 pkgdatadir. This is reported by Roger Leigh.
34673
34674 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
34675 (host_vendor): Likewise.
34676 (host_os): Likewise.
34677 (pkgdatadir): Likewise.
34678 (platform): New variable.
34679 (pkglibdir): Likewise.
34680 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 34681
05568c2e 34682 * util/i386/pc/grub-install.in (datadir): Removed.
34683 (host_vendor): Likewise.
34684 (host_os): Likewise.
34685 (pkgdatadir): Likewise.
34686 (platform): New variable.
34687 (pkglibdir): Likewise.
34688 Use PKGLIBDIR instead of PKGDATADIR.
34689
34690 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
34691 instead of GRUB_DATADIR.
34692 (main): Likewise.
34693 * util/i386/pc/grub-mkimage.c (usage): Likewise.
34694 (main): Likewise.
34695 * util/i386/efi/grub-mkimage.c (usage): Likewise.
34696 (main): Likewise.
34697
34698 * configure.ac (--with-platform): New option.
34699 Use PLATFORM instead of HOST_VENDOR to specify a platform.
34700
34701 * Makefile.in: Include a makefile based on PLATFORM instead of
34702 HOST_VENDOR.
34703 (pkgdatadir): Not appended by the machine type.
34704 (pkglibdir): Appended by the machine type.
34705 (host_vendor): Removed.
34706 (platform): New variable.
34707 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
34708 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
34709 (uninstall): Likewise.
34710
4e93851c 347112006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
34712
34713 Use the environment context in the menu. Remove the commands
34714 "default" and "timeout", and use variables instead.
f19dbdb7 34715
4e93851c 34716 * normal/menu.c: Include grub/env.h.
34717 (print_entry): Cast TITLE to silence gcc.
34718 (get_timeout): New function.
34719 (set_timeout): Likewise.
34720 (get_entry_number): Likewise.
34721 (run_menu): Use a default entry, a fallback entry and a timeout
34722 in the environment variables "default", "fallback" and
34723 "timeout". Also, tweak the default entry if it is not within the
34724 current menu entries.
34725 (grub_menu_run): Use a fallback entry in the environment variable
34726 "fallback".
34727
34728 * normal/main.c (read_config_file): Do not initialize
34729 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
34730 NEWMENU->TIMEOUT.
34731 (grub_normal_execute): Use a data slot to store the menu.
34732
34733 * include/grub/normal.h (struct grub_menu): Removed default_entry,
34734 fallback_entry and timeout.
34735 (struct grub_menu_list): Removed.
34736 (grub_menu_list_t): Likewise.
34737 (struct grub_context): Likewise.
34738 (grub_context_t): Likewise.
34739 (grub_context_get): Likewise.
34740 (grub_context_get_current_menu): Likewise.
34741 (grub_context_push_menu): Likewise.
34742 (grub_context_pop_menu): Likewise.
34743 (grub_default_init): Likewise.
34744 (grub_default_fini): Likewise.
34745 (grub_timeout_init): Likewise.
34746 (grub_timeout_fini): Likewise.
34747
34748 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
34749 and timeout.mod.
34750 (normal_mod_SOURCES): Removed normal/context.c.
34751
34752 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
34753 commands/default.c, commands/timeout.c and normal/context.c.
34754 (normal_mod_SOURCES): Removed normal/context.c.
34755
34756 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
34757 commands/timeout.c and normal/context.c.
34758 (normal_mod_SOURCES): Removed normal/context.c.
34759
34760 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
34761 commands/default.c, commands/timeout.c and normal/context.c.
34762 (normal_mod_SOURCES): Removed normal/context.c.
34763
34764 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
34765 timeout.mod.
34766 (default_mod_SOURCES): Removed.
34767 (default_mod_CFLAGS): Likewise.
34768 (default_mod_LDFLAGS): Likewise.
34769 (timeout_mod_SOURCES): Removed.
34770 (timeout_mod_CFLAGS): Likewise.
34771 (timeout_mod_LDFLAGS): Likewise.
34772
34773 * DISTLIST: Removed commands/default.c, commands/timeout.c and
34774 normal/context.c.
34775
34776 * commands/default.c: Removed.
34777 * commands/timeout.c: Likewise.
34778 * normal/context.c: Likewise.
34779
1eb9cc1d 347802006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
34781
34782 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
34783
385bd9c1 347842006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
34785
34786 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
34787 "next" to "prev" for readability.
34788 (struct grub_env_sorted_var): New struct.
34789 (grub_env_context): Renamed to ...
34790 (initial_context): ... this.
34791 (grub_env_var_context): Renamed to ...
34792 (current_context): ... this.
34793 (grub_env_find): Look only at CURRENT_CONTEXT.
34794 (grub_env_context_open): Rewritten to copy exported variables from
34795 previous context.
34796 (grub_env_context_close): Rewritten according to the new
34797 scheme. Also, add an assertion to prevent the initial context from
34798 removed.
34799 (grub_env_insert): Removed the code for the sorted list.
34800 (grub_env_remove): Likewise.
34801 (grub_env_export): Simply mark the variable with
34802 GRUB_ENV_VAR_GLOBAL.
34803 (grub_env_set): A cosmetic change for naming consistency.
34804 (grub_env_get): Likewise.
34805 (grub_env_unset): Likewise.
34806 (grub_env_iterate): Rewritten to sort variables within this
34807 function.
34808 (grub_register_variable_hook): Fixed for naming consistency. Call
34809 grub_env_find again, only if NAME is not found at the first time.
34810 (mangle_data_slot_name): New function.
34811 (grub_env_set_data_slot): Likewise.
34812 (grub_env_get_data_slot): Likewise.
34813 (grub_env_unset_data_slot): Likewise.
34814
34815 * include/grub/env.h (grub_env_var_type): New enum.
34816 (GRUB_ENV_VAR_LOCAL): New constant.
34817 (GRUB_ENV_VAR_GLOBAL): Likewise.
34818 (GRUB_ENV_VAR_DATA): Likewise.
34819 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
34820 "type".
34821 (grub_env_set): Replace VAR with NAME for consistency.
34822 (grub_register_variable_hook): Likewise.
34823 (grub_env_export): Specify the name of the argument.
34824 (grub_env_set_data_slot): New prototype.
34825 (grub_env_get_data_slot): Likewise.
34826 (grub_env_unset_data_slot): Likewise.
34827
7f362539 348282006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34829
34830 Extend the loader so that GRUB can accept a loader which comes
34831 back to GRUB when a loaded image exits. Also, this change adds
34832 support for a chainloader on EFI.
f19dbdb7 34833
7f362539 34834 * term/efi/console.c: Include grub/misc.h.
34835 (grub_console_checkkey): Display a scan code on the top for
34836 debugging. This will be removed once the EFI port gets stable.
34837 Correct the scan code mapping.
34838
34839 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
34840 allocate memory from larger regions, in order to reduce the number
34841 of allocated regions. Otherwise, the MacOSX loader panics.
34842 (filter_memory_map): Avoid less than 1MB for compatibility with
34843 other loaders.
34844 (add_memory_regions): Allocate from the tail of a region, if
34845 possible, to avoid allocating a region near to 1MB, for the MacOSX
34846 loader.
34847
34848 * kern/efi/init.c (grub_efi_set_prefix): Specify
34849 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
34850
34851 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
34852 argument IMAGE_HANDLE and specify it to get a loaded image.
34853 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
34854 grub_efi_get_loaded_image.
fe6b695a 34855 (grub_efi_get_filename): Divide the length by the size of
7f362539 34856 grub_efi_char16_t.
34857 (grub_efi_get_device_path): New function.
34858 (grub_efi_print_device_path): Print End Device Path nodes. Divide
34859 the length by the size of grub_efi_char16_t for a file path device
34860 path node.
34861
34862 * kern/loader.c (grub_loader_noreturn): New variable.
34863 (grub_loader_set): Accept a new argument NORETURN. Set
34864 GRUB_LOADER_NORETURN to NORETURN.
34865 All callers changed.
34866 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
34867 grub_machine_fini.
34868
34869 * include/grub/efi/efi.h (grub_efi_get_device_path): New
34870 prototype.
34871 (grub_efi_get_loaded_image): Take an argument to specify an image
34872 handle.
34873
34874 * include/grub/loader.h (grub_loader_set): Added one more argument
34875 NORETURN.
34876
34877 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
34878 instead of grub_efi_open_protocol.
34879 (grub_efidisk_get_device_name): Likewise.
34880 (grub_efidisk_close): Print a newline.
34881 (grub_efidisk_get_device_handle): Fixed to use
34882 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
34883 GRUB_EFI_DEVICE_PATH_TYPE.
34884
34885 * disk/efi/efidisk.c (device_path_guid): Moved to ...
34886 * kern/efi/efi.c (device_path_guid): ... here.
34887
34888 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
34889 chain.mod.
34890 (kernel_mod_HEADERS): Added efi/disk.h.
34891 (_chain_mod_SOURCES): New variable.
34892 (_chain_mod_CFLAGS): Likewise.
34893 (_chain_mod_LDFLAGS): Likewise.
34894 (chain_mod_SOURCES): Likewise.
34895 (chain_mod_CFLAGS): Likewise.
34896 (chain_mod_LDFLAGS): Likewise.
34897
34898 * DISTLIST: Added include/grub/efi/chainloader.h,
34899 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
34900
34901 * include/grub/efi/chainloader.h: New file.
34902 * loader/efi/chainloader.c: Likewise.
34903 * loader/efi/chainloader_normal.c: Likewise.
34904
c0111d6e 349052006-04-30 Marco Gerards <marco@gnu.org>
34906
34907 * commands/configfile.c (grub_cmd_source): New function.
34908 (GRUB_MOD_INIT): Register the commands `source' and `.'.
34909 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
34910
df5341da 349112006-04-30 Marco Gerards <marco@gnu.org>
34912
34913 * normal/execute.c (grub_script_execute_cmd): Change the return
34914 type to `grub_err_t'. Correctly return the error.
34915 (grub_script_execute_cmdline): In case a command line is not a
34916 command or a function, try to interpret it as an assignment.
34917
f85934bd 349182006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
34919
34920 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
34921 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
34922 skip a node whose name is obviously invalid as UTF-16,
34923 i.e. contains a NUL character. Stop the iteration when the last
34924 directory entry is found. Instead of using the return value of
34925 grub_hfsplus_btree_iterate_node, store the value in RET and use
34926 it, because the iterator can be stopped by the last directory
34927 entry.
34928
8f8a2cf8 349292006-04-30 Marco Gerards <marco@gnu.org>
34930
34931 * include/grub/env.h (grub_env_export): New prototype. Reported
34932 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
34933
a27e84ce 349342006-04-30 Marco Gerards <marco@gnu.org>
34935
34936 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
34937 size of the extents in a catalog file record.
34938
eaef0553 349392006-04-29 Marco Gerards <marco@gnu.org>
34940
34941 * commands/configfile.c (grub_cmd_configfile): Execute the
34942 configfile within its own context.
34943
34944 * include/grub/env.h (grub_env_context_open): New prototype.
34945 (grub_env_context_close): Likewise.
34946
34947 * kern/env.c (grub_env): Removed.
34948 (grub_env_sorted): Likewise.
34949 (grub_env_context): New variable.
34950 (grub_env_var_context): Likewise.
34951 (grub_env_find): Search both the active context and the global
34952 context.
34953 (grub_env_context_open): New function.
34954 (grub_env_context_close): Likewise.
34955 (grub_env_insert): Likewise.
34956 (grub_env_remove): Likewise.
34957 (grub_env_export): Likewise.
34958 (grub_env_set): Changed to use helper functions to avoid code
34959 duplication.
34960 (grub_env_iterate): Rewritten so both the current context and the
34961 global context are being used.
34962
34963 * normal/command.c (export_command): New function.
34964 (grub_command_init): Register the `export' function.
34965
7b455f4d 349662006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
34967
34968 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
34969 explicitly to suppress gcc's warnings.
34970 * fs/fat.c (grub_fat_find_dir): Likewise.
34971 (grub_fat_label): Likewise.
34972 * fs/xfs.c (grub_xfs_read_inode): Likewise.
34973 (grub_xfs_mount): Likewise.
34974 (grub_xfs_label): Likewise.
34975 * fs/affs.c (grub_affs_mount): Likewise.
34976 (grub_affs_label): Likewise.
34977 (grub_affs_iterate_dir): Likewise.
34978 * fs/sfs.c (grub_sfs_mount): Likewise.
34979 (grub_sfs_iterate_dir): Likewise.
34980 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
34981 * fs/hfs.c (grub_hfs_mount): Likewise.
34982 (grub_hfs_cmp_catkeys): Likewise.
34983 (grub_hfs_find_dir): Likewise.
34984 (grub_hfs_dir): Likewise.
34985 (grub_hfs_label): Likewise.
34986 * fs/jfs.c (grub_jfs_mount): Likewise.
34987 (grub_jfs_opendir): Likewise.
34988 (grub_jfs_getent): Likewise.
34989 (grub_jfs_lookup_symlink): Likewise.
34990 (grub_jfs_label): Likewise.
34991 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
34992 (grub_hfsplus_iterate_dir): Likewise.
34993 (grub_hfsplus_btree_iterate_node): Made static.
34994
34995 * util/grub-emu.c (prefix): New variable.
34996 (grub_machine_set_prefix): New function.
34997 (main): Do not set the environment variable "prefix" here. Only
34998 set PREFIX, which is used later by grub_machine_set_prefix.
34999
35000 * include/grub/video.h: Do not include grub/symbol.h.
35001 (grub_video_register): Not exported. This symbol is not defined in
35002 the kernel.
35003 (grub_video_unregister): Likewise.
35004 (grub_video_iterate): Likewise.
35005 (grub_video_setup): Likewise.
35006 (grub_video_restore): Likewise.
35007 (grub_video_get_info): Likewise.
35008 (grub_video_get_blit_format): Likewise.
35009 (grub_video_set_palette): Likewise.
35010 (grub_video_get_palette): Likewise.
35011 (grub_video_set_viewport): Likewise.
35012 (grub_video_get_viewport): Likewise.
35013 (grub_video_map_color): Likewise.
35014 (grub_video_map_rgb): Likewise.
35015 (grub_video_map_rgba): Likewise.
35016 (grub_video_fill_rect): Likewise.
35017 (grub_video_blit_glyph): Likewise.
35018 (grub_video_blit_bitmap): Likewise.
35019 (grub_video_blit_render_target): Likewise.
35020 (grub_video_scroll): Likewise.
35021 (grub_video_swap_buffers): Likewise.
35022 (grub_video_create_render_target): Likewise.
35023 (grub_video_delete_render_target): Likewise.
35024 (grub_video_set_active_render_target): Likewise.
35025
35026 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
35027 Undefined.
35028 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
35029
35030 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
35031 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35032 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35033 instead of $(srcdir)/genkernsyms.sh.
35034
35035 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
35036 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35037 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35038 instead of $(srcdir)/genkernsyms.sh.
35039
35040 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
35041 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35042 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35043 instead of $(srcdir)/genkernsyms.sh.
35044
35045 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
35046 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
35047 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
35048 instead of $(srcdir)/genkernsyms.sh.
35049
35050 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
35051 genkernsyms.sh.
35052
35053 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
35054 genkernsyms.sh.
35055 (gensymlist.sh): New target.
35056 (genkernsyms.sh): Likewise.
35057
35058 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
35059 genkernsyms.sh.in and gensymlist.sh.in.
35060
35061 * genkernsyms.sh: Removed.
35062 * gensymlist.sh: Likewise.
f19dbdb7 35063
7b455f4d 35064 * genkernsyms.sh.in: New file.
35065 * gensymlist.sh.in: Likewise.
35066
1885bb27 350672006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35068
35069 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
35070 clobber "prefix", since we may have already set it manually.
35071
71538dff 350722006-04-25 Hollis Blanchard <hollis@penguinppc.org>
35073
35074 * kern/misc.c (abort): New alias for grub_abort.
35075
2965c7cc 350762006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
35077
35078 A new machine-specific function "grub_machine_set_prefix" is
35079 defined. This is called after loading modules, so that a prefix
35080 initialization can use modules. Also, this change adds an
35081 intensive debugging feature for the memory manager via the
35082 configure option "--enable-mm-debug".
f19dbdb7 35083
2965c7cc 35084 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
35085 PART.LEN.
35086
35087 * kern/sparc64/ieee1275/init.c (abort): Removed.
35088 (grub_stop): Likewise.
35089 (grub_exit): New function.
35090 (grub_set_prefix): Renamed to ...
35091 (grub_machine_set_prefix): ... this.
35092 (grub_machine_init): Do not call grub_set_prefix.
35093
35094 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
35095 (grub_machine_set_prefix): ... this.
35096 (grub_machine_init): Do not call grub_set_prefix.
35097
35098 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
35099 (grub_machine_init): Do not set the prefix here.
35100
35101 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
35102
35103 * kern/efi/init.c: Include grub/mm.h.
35104 (grub_efi_set_prefix): New function.
35105
35106 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
35107 (grub_efi_get_filename): New function.
35108 (grub_print_device_path): Renamed to ...
35109 (grub_efi_print_device_path): ... this.
35110
35111 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
35112 [MM_DEBUG] (grub_realloc): Likewise.
35113 [MM_DEBUG] (grub_free): Likewise.
35114 [MM_DEBUG] (grub_memalign): Likewise.
35115 [MM_DEBUG] (grub_mm_debug): New variable.
35116 [MM_DEBUG] (grub_debug_malloc): New function.
35117 [MM_DEBUG] (grub_debug_free): New function.
35118 [MM_DEBUG] (grub_debug_realloc): New function.
35119 [MM_DEBUG] (grub_debug_memalign): New function.
35120
35121 * kern/misc.c (grub_abort): Print a newline to distinguish
35122 the message.
35123
35124 * kern/main.c (grub_main): Call grub_machine_set_prefix and
35125 grub_set_root_dev after loading modules. This is necessary when
35126 setting a prefix depends on modules.
35127
35128 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
35129 (grub_efi_print_device_path): ... this.
35130 (grub_efi_get_filename): New prototype.
35131 (grub_efi_set_prefix): Likewise.
35132
35133 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
35134 and grub/disk.h.
35135 (grub_efidisk_get_device_handle): New prototype.
35136 (grub_efidisk_get_device_name): Likewise.
35137
35138 * include/grub/mm.h: Include config.h.
35139 (MM_DEBUG): Removed.
35140 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
35141 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
35142 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
35143 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
35144 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
35145 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
35146 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
35147 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
35148 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
35149
35150 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
35151
35152 * disk/efi/efidisk.c: Include grub/partition.h.
35153 (iterate_child_devices): New function.
35154 (add_device): First, compare only last device path nodes, so that
35155 devices are sorted by the types.
35156 (grub_efidisk_get_device_handle): New function.
35157 (grub_efidisk_get_device_name): Likewise.
35158
35159 * configure.ac (--enable-mm-debug): New option to enable the
35160 memory manager debugging feature. This makes the binary much
35161 bigger, so is disabled by default.
35162
9cacaa17 351632006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
35164
35165 Use grub_abort instead of grub_stop, and grub_exit must be
35166 define in each architecture now. Also, this change adds support
35167 for EFI disks.
f19dbdb7 35168
9cacaa17 35169 * util/i386/pc/grub-probefs.c: Include grub/term.h.
35170 (grub_getkey): New function.
35171 (grub_term_get_current): Likewise.
35172
35173 * util/i386/pc/grub-setup.c: Include grub/term.h.
35174 (grub_getkey): New function.
35175 (grub_term_get_current): Likewise.
35176
35177 * util/misc.c (grub_stop): Renamed to ...
35178 (grub_exit): ... this.
35179
35180 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
35181 (grub_exit): ... this.
35182 (grub_machine_init): Use grub_abort instead of abort.
35183 (grub_stop): Removed.
35184
35185 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
35186 abort.
35187
35188 * kern/i386/pc/startup.S (grub_exit): New function.
35189 (cold_reboot): New label.
35190
35191 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
35192 (grub_efi_init): Call grub_efidisk_init.
35193 (grub_efi_fini): Call grub_efidisk_fini.
35194
35195 * kern/efi/efi.c: Include grub/mm.h.
35196 (grub_efi_console_control_guid): Renamed to ...
35197 (console_control_guid): ... this.
35198 (grub_efi_loaded_image_guid): Renamed to ...
35199 (loaded_image_guid): ... this.
35200 (grub_efi_locate_handle): New function.
35201 (grub_efi_open_protocol): Likewise.
35202 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
35203 GRUB_EFI_CONSOLE_CONTROL_GUID.
35204 (grub_efi_exit): Removed.
35205 (grub_stop): Likewise.
35206 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
35207 (grub_exit): New function.
35208 (grub_print_device_path): Likewise.
35209
35210 * kern/rescue.c (grub_rescue_cmd_exit): New function.
35211 (grub_enter_rescue_mode): Register "exit".
35212
35213 * kern/misc.c (grub_real_dprintf): A cosmetic change.
35214 (grub_abort): New function.
35215
35216 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
35217
35218 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
35219
35220 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
35221
35222 * include/grub/efi/efi.h (grub_efi_exit): Removed.
35223 (grub_print_device_path): New prototype.
35224 (grub_efi_locate_handle): Likewise.
35225 (grub_efi_open_protocol): Likewise.
35226
35227 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
35228 * disk/efi/efidisk.c: Likewise.
35229
35230 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
35231
35232 * include/grub/efi/console_control.h
35233 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
35234
35235 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
35236 last 8 bytes as an array.
35237 (GRUB_EFI_DISK_IO_GUID): New macro.
35238 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
35239 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
35240 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
35241 grub_uint8_t.
35242 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
35243 (struct grub_efi_device_path): Rename the member "sub_type" to
35244 "subtype".
35245 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
35246 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
35247 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
35248 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
35249 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
35250 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
35251 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
35252 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
35253 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
35254 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
35255 (struct grub_efi_pci_device_path): New structure.
35256 (grub_efi_pci_device_path_t): New type.
35257 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
35258 (struct grub_efi_pccard_device_path): New structure.
35259 (grub_efi_pccard_device_path_t): New type.
35260 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
35261 (struct grub_efi_memory_mapped_device_path): New structure.
35262 (grub_efi_memory_mapped_device_path_t): New type.
35263 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
35264 (struct grub_efi_vendor_device_path): New structure.
35265 (grub_efi_vendor_device_path_t): New type.
35266 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
35267 (struct grub_efi_controller_device_path): New structure.
35268 (grub_efi_controller_device_path_t): New type.
35269 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
35270 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
35271 (struct grub_efi_acpi_device_path): New structure.
35272 (grub_efi_acpi_device_path_t): New type.
35273 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
35274 (struct grub_efi_expanded_acpi_device_path): New structure.
35275 (grub_efi_expanded_acpi_device_path_t): New type.
35276 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
35277 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
35278 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
35279 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
35280 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
35281 (struct grub_efi_atapi_device_path): New structure.
35282 (grub_efi_atapi_device_path_t): New type.
35283 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
35284 (struct grub_efi_fibre_channel_device_path): New structure.
35285 (grub_efi_fibre_channel_device_path_t): New type.
35286 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
35287 (struct grub_efi_1394_device_path): New structure.
35288 (grub_efi_1394_device_path_t): New type.
35289 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
35290 (struct grub_efi_usb_device_path): New structure.
35291 (grub_efi_usb_device_path_t): New type.
35292 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
35293 (struct grub_efi_usb_class_device_path): New structure.
35294 (grub_efi_usb_class_device_path_t): New type.
35295 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
35296 (struct grub_efi_i2o_device_path): New structure.
35297 (grub_efi_i2o_device_path_t): New type.
35298 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
35299 (struct grub_efi_mac_address_device_path): New structure.
35300 (grub_efi_mac_address_device_path_t): New type.
35301 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
35302 (struct grub_efi_ipv4_device_path): New structure.
35303 (grub_efi_ipv4_device_path_t): New type.
35304 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
35305 (struct grub_efi_ipv6_device_path): New structure.
35306 (grub_efi_ipv6_device_path_t): New type.
35307 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
35308 (struct grub_efi_infiniband_device_path): New structure.
35309 (grub_efi_infiniband_device_path_t): New type.
35310 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
35311 (struct grub_efi_uart_device_path): New structure.
35312 (grub_efi_uart_device_path_t): New type.
35313 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
35314 (struct grub_efi_vendor_messaging_device_path): New structure.
35315 (grub_efi_vendor_messaging_device_path_t): New type.
35316 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
35317 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
35318 (struct grub_efi_hard_drive_device_path): New structure.
35319 (grub_efi_hard_drive_device_path_t): New type.
35320 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
35321 (struct grub_efi_cdrom_device_path): New structure.
35322 (grub_efi_cdrom_device_path_t): New type.
35323 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
35324 (struct grub_efi_vendor_media_device_path): New structure.
35325 (grub_efi_vendor_media_device_path_t): New type.
35326 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
35327 (struct grub_efi_file_path_device_path): New structure.
35328 (grub_efi_file_path_device_path_t): New type.
35329 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
35330 (struct grub_efi_protocol_device_path): New structure.
35331 (grub_efi_protocol_device_path_t): New type.
35332 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
35333 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
35334 (struct grub_efi_bios_device_path): New structure.
35335 (grub_efi_bios_device_path_t): New type.
35336 (struct grub_efi_disk_io): New structure.
35337 (grub_efi_disk_io_t): New type.
35338 (struct grub_efi_block_io_media): New structure.
35339 (grub_efi_block_io_media_t): New type.
35340 (struct grub_efi_block_io): New structure.
35341 (grub_efi_block_io_t): New type.
35342
35343 * include/grub/misc.h (grub_stop): Removed.
35344 (grub_exit): New prototype.
35345 (grub_abort): Likewise.
35346
35347 * include/grub/disk.h (enum grub_disk_dev_id): Added
35348 GRUB_DISK_DEVICE_EFIDISK_ID.
35349
35350 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
35351 disk/efi/efidisk.c.
35352 (kernel_syms.lst): Remove the target if an error occurs.
35353
49986a9f 353542006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
35355
35356 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
35357 as it was simply too buggy.
35358
970d3b8a 353592006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
35360
35361 * kern/misc.c (grub_lltoa): New function.
35362 (grub_vsprintf): Added support for the long long suffix,
35363 i.e. "ll".
35364
ff04ec24 353652006-04-20 Hollis Blanchard <hollis@penguinppc.org>
35366
35367 * Makefile.in (LDFLAGS): Add variable.
35368 (LD): Remove variable.
35369 * configure.ac: Add -m32 to LDFLAGS.
35370 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
35371 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
35372 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
35373 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
35374 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
35375 variables.
35376 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
35377 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
35378 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
35379
37e5e1a4 353802006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
35381
35382 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
35383 length for unknown glyph.
35384
c352d8dd 353852006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
35386
2eab1c0d 35387 Add support for pre-loaded modules into the EFI port.
f19dbdb7 35388
2eab1c0d 35389 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
35390 completely. Accept one more argument DIR. The caller has changed.
35391
35392 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
35393
35394 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
35395 (grub_efi_loaded_image_guid): New variable.
35396 (grub_efi_get_loaded_image): New function.
35397 (grub_arch_modules_addr): Likewise.
35398
35399 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
35400 prototype.
35401
35402 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
35403 (struct grub_efi_loaded_image): New structure.
35404 (grub_efi_loaded_image_t): New type.
35405
354062006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 35407
c352d8dd 35408 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
35409 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
35410 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
35411
6d01d6b4 354122006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
35413
35414 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
35415
976a4ea0 354162006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
35417
35418 * DISTLIST: Added include/grub/efi/console.h,
35419 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
35420 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35421
35422 * include/grub/efi/console.h: New file.
35423 * include/grub/efi/time.h: Likewise.
35424 * include/grub/i386/efi/kernel.h: Likewise.
35425 * kern/efi/init.c: Likewise.
35426 * kern/efi/mm.c: Likewise.
35427 * term/efi/console.c: Likewise.
f19dbdb7 35428
976a4ea0 35429 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
35430 (grub_stop): Removed.
35431 (grub_get_rtc): Likewise.
35432 (grub_machine_init): Simply call grub_efi_init.
35433 (grub_machine_fini): Call grub_efi_fini.
35434
35435 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
35436 (grub_efi_output_string): Removed.
35437 (grub_efi_stall): New function.
35438 (grub_stop): Likewise.
35439 (grub_get_rtc): Likewise.
35440
35441 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
35442 (grub_efi_stall): New prototype.
35443 (grub_efi_allocate_pages): Likewise.
35444 (grub_efi_free_pages): Likewise.
35445 (grub_efi_get_memory_map): Likewise.
35446 (grub_efi_mm_init): Likewise.
35447 (grub_efi_mm_fini): Likewise.
35448 (grub_efi_init): Likewise.
35449 (grub_efi_fini): Likewise.
35450
35451 * include/grub/i386/efi/time.h: Do not include
35452 grub/symbol.h. Include grub/efi/time.h.
35453 (GRUB_TICKS_PER_SECOND): Removed.
35454 (grub_get_rtc): Likewise.
35455
35456 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
35457 Added padding. The EFI spec is buggy.
35458 (GRUB_EFI_BLACK): New macro.
35459 (GRUB_EFI_BLUE): Likewise.
35460 (GRUB_EFI_GREEN): Likewise.
35461 (GRUB_EFI_CYAN): Likewise.
35462 (GRUB_EFI_RED): Likewise.
35463 (GRUB_EFI_MAGENTA): Likewise.
35464 (GRUB_EFI_BROWN): Likewise.
35465 (GRUB_EFI_LIGHTGRAY): Likewise.
35466 (GRUB_EFI_BRIGHT): Likewise.
35467 (GRUB_EFI_DARKGRAY): Likewise.
35468 (GRUB_EFI_LIGHTBLUE): Likewise.
35469 (GRUB_EFI_LIGHTGREEN): Likewise.
35470 (GRUB_EFI_LIGHTCYAN): Likewise.
35471 (GRUB_EFI_LIGHTRED): Likewise.
35472 (GRUB_EFI_LIGHTMAGENTA): Likewise.
35473 (GRUB_EFI_YELLOW): Likewise.
35474 (GRUB_EFI_WHITE): Likewise.
35475 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
35476 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
35477 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
35478 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
35479 (GRUB_EFI_BACKGROUND_RED): Likewise.
35480 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
35481 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
35482 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
35483 (GRUB_EFI_TEXT_ATTR): Likewise.
35484
35485 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
35486 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
35487 (kernel_mod_HEADERS): Added efi/time.h.
35488
83709125 354892006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
35490
35491 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
35492 include/grub/efi/api.h, include/grub/efi/console_control.h,
35493 include/grub/efi/efi.h, include/grub/efi/pe32.h,
35494 include/grub/i386/efi/time.h, kern/efi/efi.c,
35495 kern/i386/efi/init.c, kern/i386/efi/startup.S,
35496 and util/i386/efi/grub-mkimage.c.
35497
35498 * Makefile.in (RMKFILES): Added i386-efi.rmk.
35499
35500 * genmk.rb (PModule#rule): Do not export symbols if
35501 #{prefix}_EXPORTS is set to "no".
35502
35503 * conf/i386-efi.mk: New file.
35504 * conf/i386-efi.rmk: Likewise.
35505 * include/grub/efi/api.h: Likewise.
35506 * include/grub/efi/console_control.h: Likewise.
35507 * include/grub/efi/efi.h: Likewise.
35508 * include/grub/efi/pe32.h: Likewise.
35509 * include/grub/i386/efi/time.h: Likewise.
35510 * kern/efi/efi.c: Likewise.
35511 * kern/i386/efi/init.c: Likewise.
35512 * kern/i386/efi/startup.S: Likewise.
35513 * util/i386/efi/grub-mkimage.c: Likewise.
35514
355152006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 35516
35517 * include/grub/script.h: Include <grub/parser.h> and
35518 "grub_script.tab.h".
35519 (struct grub_lexer_param): New struct.
35520 (struct grub_parser_param): Likewise.
35521 (grub_script_create_arglist): Pass the state in an argument.
35522 (grub_script_add_arglist): Likewise.
35523 (grub_script_create_cmdline): Likewise.
35524 (grub_script_create_cmdblock): Likewise.
35525 (grub_script_create_cmdif): Likewise.
35526 (grub_script_create_cmdmenu): Likewise.
35527 (grub_script_add_cmd): Likewise.
35528 (grub_script_arg_add): Likewise.
35529 (grub_script_lexer_ref): Likewise.
35530 (grub_script_lexer_deref): Likewise.
35531 (grub_script_lexer_record_start): Likewise.
35532 (grub_script_lexer_record_stop): Likewise.
35533 (grub_script_mem_record): Likewise.
35534 (grub_script_mem_record_stop): Likewise.
35535 (grub_script_malloc): Likewise.
35536 (grub_script_yylex): Likewise.
35537 (grub_script_yyparse): Likewise.
35538 (grub_script_yyerror): Likewise.
35539 (grub_script_yylex): Likewise.
35540 (grub_script_lexer_init): Return the state.
35541
35542 * normal/lexer.c (grub_script_lexer_state): Removed variable.
35543 (grub_script_lexer_done): Likewise.
35544 (grub_script_lexer_getline): Likewise.
35545 (grub_script_lexer_refs): Likewise.
35546 (script): Likewise.
35547 (newscript): Likewise.
35548 (record): Likewise.
35549 (recording): Likewise.
35550 (recordpos): Likewise.
35551 (recordlen): Likewise.
35552 (grub_script_lexer_init): Return the state instead of setting
35553 global variables.
35554 (grub_script_lexer_ref): Use the newly added argument for state
35555 instead of globals.
35556 (grub_script_lexer_deref): Likewise.
35557 (grub_script_lexer_record_start): Likewise.
35558 (grub_script_lexer_record_stop): Likewise.
35559 (recordchar): Likewise.
35560 (nextchar): Likewise.
35561 (grub_script_yylex2): Likewise.
35562 (grub_script_yylex): Likewise.
35563 (grub_script_yyerror): Likewise.
35564
35565 * normal/parser.y (func_mem): Removed variable.
35566 (menu_entry): Likewise.
35567 (err): Likewise.
35568 (%lex-param): New parser option.
35569 (%parse-param): Likewise.
35570 (script): Always return the AST.
35571 (argument): Pass the state around.
35572 (arguments): Likewise.
35573 (grubcmd): Likewise.
35574 (commands): Likewise.
35575 (function): Likewise.
35576 (menuentry): Likewise.
35577 (if_statement): Likewise.
35578 (if): Likewise.
35579
35580 * normal/script.c (grub_script_memused): Removed variable.
35581 (grub_script_parsed): Likewise.
35582 (grub_script_malloc): Added a state argument. Use that instead of
35583 global variables.
35584 (grub_script_mem_record): Likewise.
35585 (grub_script_mem_record_stop): Likewise.
35586 (grub_script_arg_add): Likewise.
35587 (grub_script_add_arglist): Likewise.
35588 (grub_script_create_cmdline): Likewise.
35589 (grub_script_create_cmdif): Likewise.
35590 (grub_script_create_cmdmenu): Likewise.
35591 (grub_script_add_cmd): Likewise.
35592 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 35593
e2a8c904 355942006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 35595
35596 * normal/command.c (grub_command_init): Remove the title command.
35597
35598 * normal/lexer.c (grub_script_yylex): Renamed from this...
35599 (grub_script_yylex2): ... to this.
35600 (grub_script_yylex): New function. Temporary
35601 introduced to filter some tokens.
35602 (grub_script_yyerror): Print a newline.
35603
35604 * normal/main.c (read_config_file): Output information about the
35605 lines that contain errors. Wait for a key after all lines have
35606 been processed. Don't return an empty menu.
35607
35608 * normal/parser.y (func_mem): Don't initialize.
35609 (menu_entry): Likewise.
35610 (err): New variable.
35611 (script): Don't return anything when an error was encountered.
35612 (ws, returns): Removed rules.
35613 (argument): Disabled concatenated variable support.
35614 (arguments): Remove explicit separators.
35615 (grubcmd): Likewise.
35616 (function): Likewise.
35617 (menuentry): Likewise.
35618 (if): Likewise.
35619 (commands): Likewise. Add error handling.
35620
35621 * normal/script.c (grub_script_create_cmdline): If
35622 `grub_script_parsed' is 0, assume the parser encountered an error.
35623
c9a86192 356242006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
35625
35626 * configure.ac: Add support for EFI. Fix the typo
35627 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
35628
70f3b243 356292006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35630
35631 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
35632 foreign multibyte characters should be shown correctly.
35633
65f201ad 356342006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
35635
35636 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
35637 calculation.
35638 (read_config_file): Made it to close file before returning.
35639
b4b93674 356402006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
35641
35642 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
35643 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
35644 video/i386/pc/vbefill.c.
35645
35646 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
35647 video/i386/pc/vbefill.c.
35648
35649 * include/grub/video.h (grub_video_blit_format): New enum.
35650 (grub_video_mode_info): Added new member blit_format.
35651 (grub_video_get_blit_format): New function prototype.
35652
35653 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
35654 function prototype.
35655 (grub_video_vbe_map_rgb): Likewise.
35656 (grub_video_vbe_unmap_color): Likewise.
35657
35658 * include/grub/i386/pc/vbeblit.h: New file.
35659
35660 * include/grub/i386/pc/vbefill.h: New file.
35661
35662 * video/video.c (grub_video_get_blit_format): New function.
35663 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
35664 (grub_video_vbe_map_rgb): Likewise.
35665 (grub_video_vbe_unmap_color): Likewise.
35666
35667 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
35668 optimized fills.
35669 (grub_video_vbe_blit_render_target): Changed to use more optimized
35670 blits.
35671 (grub_video_vbe_setup): Added detection for optimized settings.
35672 (grub_video_vbe_create_render_target): Likewise.
35673
35674 * video/i386/pc/vbeblit.c: New file.
35675
35676 * video/i386/pc/vbefill.c: New file.
35677
c2379b9c 356782006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
35679
35680 * font/manager.c (grub_font_get_glyph): Removed font fixup from
35681 here...
35682
35683 * util/unifont2pff.rb: ... and moved it to here. Improved argument
35684 parsing to support both hex and dec ranges. If filename was missing
35685 show usage information.
35686
bd0d7896 356872006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
35688
35689 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
35690 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
35691
35692 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
35693 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
35694 (video_mod_SOURCES): Added.
35695 (video_mod_CFLAGS): Likewise.
35696 (video_mod_LDFLAGS): Likewise.
35697 (gfxterm_mod_SOURCES): Likewise.
35698 (gfxterm_mod_CFLAGS): Likewise.
35699 (gfxterm_mod_LDFLAGS): Likewise.
35700 (videotest_mod_SOURCES): Likewise.
35701 (videotest_mod_CFLAGS): Likewise.
35702 (videotest_mod_LDFLAGS): Likewise.
35703 (vesafb_mod_SOURCES): Removed.
35704 (vesafb_mod_CFLAGS): Likewise.
35705 (vesafb_mod_LDFLAGS): Likewise.
35706 (vga_mod_SOURCES): Likewise.
35707 (vga_mod_CFLAGS): Likewise.
35708 (vga_mod_LDFLAGS): Likewise.
35709
35710 * commands/videotest.c: New file.
35711
35712 * font/manager.c (fill_with_default_glyph): Modified to use
35713 grub_font_glyph.
35714 (grub_font_get_glyph): Likewise.
35715 (fontmanager): Renamed from this...
35716 (font_manager): ... to this.
35717
35718 * include/grub/font.h (grub_font_glyph): Added new structure.
35719 (grub_font_get_glyph): Modified to use grub_font_glyph.
35720
35721 * include/grub/misc.h (grub_abs): Added as inline function.
35722
35723 * include/grub/video.h: New file.
35724
35725 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
35726 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
35727 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
35728 (grub_vbe_get_controller_info): Renamed from this...
35729 (grub_vbe_bios_get_controller_info): ... to this.
35730 (grub_vbe_get_mode_info): Renamed from this...
35731 (grub_vbe_bios_get_mode_info): ... to this.
35732 (grub_vbe_set_mode): Renamed from this...
35733 (grub_vbe_bios_set_mode): ... to this.
35734 (grub_vbe_get_mode): Renamed from this...
35735 (grub_vbe_bios_get_mode): ... to this.
35736 (grub_vbe_set_memory_window): Renamed from this...
35737 (grub_vbe_bios_set_memory_window): ... to this.
35738 (grub_vbe_get_memory_window): Renamed from this...
35739 (grub_vbe_bios_get_memory_window): ... to this.
35740 (grub_vbe_set_scanline_length): Renamed from this...
35741 (grub_vbe_set_scanline_length): ... to this.
35742 (grub_vbe_get_scanline_length): Renamed from this...
35743 (grub_vbe_bios_get_scanline_length): ... to this.
35744 (grub_vbe_set_display_start): Renamed from this...
35745 (grub_vbe_bios_set_display_start): ... to this.
35746 (grub_vbe_get_display_start): Renamed from this...
35747 (grub_vbe_bios_get_display_start): ... to this.
35748 (grub_vbe_set_palette_data): Renamed from this...
35749 (grub_vbe_bios_set_palette_data): ... to this.
35750 (grub_vbe_set_pixel_rgb): Removed.
35751 (grub_vbe_set_pixel_index): Likewise.
35752
35753 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
35754 from this...
35755 (grub_vbe_bios_get_controller_info): ... to this.
35756 (grub_vbe_get_mode_info): Renamed from this...
35757 (grub_vbe_bios_get_mode_info): ... to this.
35758 (grub_vbe_set_mode): Renamed from this...
35759 (grub_vbe_bios_set_mode): ... to this.
35760 (grub_vbe_get_mode): Renamed from this...
35761 (grub_vbe_bios_get_mode): ... to this.
35762 (grub_vbe_set_memory_window): Renamed from this...
35763 (grub_vbe_bios_set_memory_window): ... to this.
35764 (grub_vbe_get_memory_window): Renamed from this...
35765 (grub_vbe_bios_get_memory_window): ... to this.
35766 (grub_vbe_set_scanline_length): Renamed from this...
35767 (grub_vbe_set_scanline_length): ... to this.
35768 (grub_vbe_get_scanline_length): Renamed from this...
35769 (grub_vbe_bios_get_scanline_length): ... to this.
35770 (grub_vbe_set_display_start): Renamed from this...
35771 (grub_vbe_bios_set_display_start): ... to this.
35772 (grub_vbe_get_display_start): Renamed from this...
35773 (grub_vbe_bios_get_display_start): ... to this.
35774 (grub_vbe_set_palette_data): Renamed from this...
35775 (grub_vbe_bios_set_palette_data): ... to this.
35776 (grub_vbe_bios_get_controller_info): Fixed problem with registers
35777 getting corrupted after calling it. Added more pushes and pops.
35778 (grub_vbe_bios_set_mode): Likewise.
35779 (grub_vbe_bios_get_mode): Likewise.
35780 (grub_vbe_bios_get_memory_window): Likewise.
35781 (grub_vbe_bios_set_scanline_length): Likewise.
35782 (grub_vbe_bios_get_scanline_length): Likewise.
35783 (grub_vbe_bios_get_display_start): Likewise.
35784 (grub_vbe_bios_set_palette_data): Likewise.
35785
35786 * normal/cmdline.c (cl_set_pos): Refresh the screen.
35787 (cl_insert): Likewise.
35788 (cl_delete): Likewise.
35789
35790 * term/gfxterm.c: New file.
35791
35792 * term/i386/pc/vesafb.c: Removed file.
35793
35794 * video/video.c: New file.
35795
35796 * video/i386/pc/vbe.c (real2pm): Added new function.
35797 (grub_video_vbe_draw_pixel): Likewise.
35798 (grub_video_vbe_get_video_ptr): Likewise.
35799 (grub_video_vbe_get_pixel): Likewise
35800 (grub_video_vbe_init): Likewise.
35801 (grub_video_vbe_fini): Likewise.
35802 (grub_video_vbe_setup): Likewise.
35803 (grub_video_vbe_get_info): Likewise.
35804 (grub_video_vbe_set_palette): Likewise.
35805 (grub_video_vbe_get_palette): Likewise.
35806 (grub_video_vbe_set_viewport): Likewise.
35807 (grub_video_vbe_get_viewport): Likewise.
35808 (grub_video_vbe_map_color): Likewise.
35809 (grub_video_vbe_map_rgb): Likewise.
35810 (grub_video_vbe_map_rgba): Likewise.
35811 (grub_video_vbe_unmap_color): Likewise.
35812 (grub_video_vbe_fill_rect): Likewise.
35813 (grub_video_vbe_blit_glyph): Likewise.
35814 (grub_video_vbe_blit_bitmap): Likewise.
35815 (grub_video_vbe_blit_render_target): Likewise.
35816 (grub_video_vbe_scroll): Likewise.
35817 (grub_video_vbe_swap_buffers): Likewise.
35818 (grub_video_vbe_create_render_target): Likewise.
35819 (grub_video_vbe_delete_render_target): Likewise.
35820 (grub_video_vbe_set_active_render_target): Likewise.
35821 (grub_vbe_set_pixel_rgb): Remove function.
35822 (grub_vbe_set_pixel_index): Likewise.
35823 (index_color_mode): Remove static variable.
35824 (active_mode): Likewise.
35825 (framebuffer): Likewise.
35826 (bytes_per_scan_line): Likewise.
35827 (grub_video_vbe_adapter): Added new static variable.
35828 (framebuffer): Likewise.
35829 (render_target): Likewise.
35830 (initial_mode): Likewise.
35831 (mode_in_use): Likewise.
35832 (mode_list): Likewise.
35833
5f97350b 358342006-03-10 Marco Gerards <marco@gnu.org>
35835
35836 * configure.ac (AC_INIT): Bumped to 1.93.
35837
35838 * DISTLIST: Added `include/grub/hfs.h'.
35839
a3c5c6f8 358402006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
35841
35842 * boot/i386/pc/boot.S (general_error): Before looping, try INT
35843 18H, which might help the BIOS falling back to next boot media.
35844
6de53d26 358452006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
35846
35847 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
35848 Poe Chen <poe.poechen@gmail.com>.
35849
77c4a393 358502006-01-17 Marco Gerards <marco@gnu.org>
35851
35852 * include/grub/normal.h: Include <grub/script.h>.
35853 (grub_command_list): Removed struct.
35854 (grub_command_list_t): Removed type.
35855 (grub_menu_entry): Remove members `num' and `command_list'. Add
35856 members `commands' and `sourcecode'.
35857 * include/grub/script.h: Add inclusion guards.
35858 (grub_script_cmd_menuentry): New struct.
35859 (grub_script_execute_menuentry): New prototype.
35860 (grub_script_lexer_record_start): Likewise.
35861 (grub_script_lexer_record_stop): Likewise.
35862 * normal/execute.c (grub_script_execute_menuentry): New function.
35863 * normal/lexer.c (record, recording, recordpos, recordlen): New
35864 variables.
35865 (grub_script_lexer_record_start): New function.
35866 (grub_script_lexer_record_stop): Likewise.
35867 (recordchar): Likewise.
35868 (nextchar): Likewise.
35869 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
35870 2048 as the buffer size. Add the tokens `menuentry' and `@'.
35871 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
35872 (current_menu): New variable.
35873 (free_menu): Mainly rewritten.
35874 (grub_normal_menu_addentry): New function.
35875 (read_config_file): Rewritten.
35876 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 35877 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 35878 the menu entry.
35879 (run): Mainly rewritten.
35880 * normal/parser.y (menu_entry): New variable.
35881 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
35882 (menuentry): New rule.
35883 (command): Add `menuentry'.
35884 (if_statement): Allow additional returns before `fi'.
35885 * normal/script.c (grub_script_create_cmdmenu): New function.
35886
144f1f98 358872006-01-03 Marco Gerards <marco@gnu.org>
35888
35889 * INSTALL: GNU Bison is required.
35890 * configure.ac: Rewritten the test to detect Bison.
35891 * Makefile.in (YACC): New variable. Reported by Xun Sun
35892 <xun.sun.cn@gmail.com>.
35893
af4b2d89 358942006-01-03 Marco Gerards <marco@gnu.org>
35895
35896 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
35897 the HFS+ filesystem to filesystem blocks.
35898 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
35899 GCC warning is silenced.
35900
15643b71 359012006-01-03 Marco Gerards <marco@gnu.org>
35902
35903 * partmap/apple.c (apple_partition_map_iterate): Convert the data
35904 read from disk from big endian to host byte order.
35905
00905879 359062006-01-03 Hollis Blanchard <hollis@penguinppc.org>
35907
35908 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
35909 documentation.
35910 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
35911 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
35912 embedded HFS+ filesystem.
35913 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
35914 (grub_hfs_sblock): Move from here...
35915 * include/grub/hfs.h: To here... New file.
35916 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
35917 documentation.
35918 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
35919 New macros.
35920 (grub_hfsplus_volheader): Change type of member `magic' to
35921 `grub_uint16_t'.
35922 (grub_hfsplus_data): Add new member `embedded_offset'.
35923 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
35924 returned block.
35925 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
35926 Calculate the offset.
35927
8899bc3e 359282005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35929
35930 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
35931 Removed.
35932 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
35933
ae8c0277 359342005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35935
35936 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
35937 ENV->NAME is NULL after allocating ENV->VALUE.
35938
07084456 359392005-12-25 Marco Gerards <marco@gnu.org>
35940
35941 * kern/env.c (grub_env_set): Rewritten the error handling code.
35942
4750f5f1 359432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35944
35945 * geninit.sh: Made more robust, and more portable.
35946
50214199 359472005-12-25 Marco Gerards <marco@gnu.org>
35948
35949 Add support for Apple HFS+ filesystems.
f19dbdb7 35950
50214199 35951 * fs/hfsplus.c: New file.
35952
35953 * DISTLIST: Added `fs/hfsplus.c'.
35954
35955 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
35956 (hfsplus_mod_SOURCES): New variable.
35957 (hfsplus_mod_CFLAGS): Likewise.
35958 (hfsplus_mod_LDFLAGS): Likewise.
35959 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
35960 (grub_setup_SOURCES): Likewise.
35961 (grub_mkdevicemap_SOURCES): Likewise.
35962 (grub_emu_SOURCES): Likewise.
35963 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35964
35965 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
35966
35967 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
35968
befaed6c 359692005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
35970
35971 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
35972 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
35973 include/grub/parser.h, include/grub/script.h, kern/parser.c,
35974 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
35975 normal/lexer.c, normal/parser.y, normal/script.c, and
35976 partmap/gpt.c.
35977 Removed kern/sparc64/cache.c.
35978
35979 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
35980 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
35981 grub_emu_init.c.
35982
35983 * configure.ac (AC_INIT): Bumped to 1.92.
35984
6a124103 359852005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
35986
35987 * kern/err.c (grub_error_push): Added new function to support error
35988 stacks.
35989 (grub_error_pop): Likewise.
35990 (grub_error_stack_items): New local variable to support error stacks.
35991 (grub_error_stack_pos): Likewise.
35992 (grub_error_stack_assert): Likewise.
35993 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
35994 stack depth.
35995 (grub_print_error): Added support to print errors from error stack.
35996
35997 * include/grub/err.h (grub_error_push): Added function prototype.
35998 (grub_error_pop): Likewise.
35999
be973c1b 360002005-12-09 Hollis Blanchard <hollis@penguinppc.org>
36001
36002 * configure.ac: Accept `powerpc64' as host_cpu.
36003 (amd64): Rename to `biarch32'.
36004
36005 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
36006 non-cacheline-aligned addresses.
36007
36008 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
36009 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
36010 if `size' is non-zero.
36011
b04216ab 360122005-12-03 Marco Gerards <mgerards@xs4all.nl>
36013
36014 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
36015 and `cd' to make sure the filename is not prefixed with a
36016 directory name.
36017 (pkgdata_MODULES): Add `gpt.mod'.
36018 (gpt_mod_SOURCES): New variable.
36019 (gpt_mod_CFLAGS): Likewise.
36020 (gpt_mod_LDFLAGS): Likewise.
36021
36022 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
36023
36024 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
36025 New macro.
36026
36027 * partmap/gpt.c: New file.
36028
36029 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
36030 GPT partition map is detected.
36031
41730ed9 360322005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
36033
36034 * commands/i386/pc/play.c: New file.
36035 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
36036 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
36037 macros.
f19dbdb7 36038
95dc3643 360392005-11-27 Marco Gerards <mgerards@xs4all.nl>
36040
36041 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
36042 ((unused))' to silence gcc warning.
36043
1569ec51 360442005-11-26 Hollis Blanchard <hollis@penguinppc.org>
36045
36046 * configure.ac: Correct `AC_PROG_YACC' test.
36047
9abde152 360482005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36049
36050 * util/powerpc/ieee1275/grub-install.in: Run the mount point
36051 check before installing files.
36052
44b83271 360532005-11-22 Mike Small <smallm@panix.com>
36054
36055 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
36056 number regex so multidigit numbers are recognized correctly.
36057
360582005-11-22 Mike Small <smallm@panix.com>
36059
36060 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
36061 debugging message before attempting to claim memory.
36062 (grub_rescue_cmd_initrd): Add a claim debugging message and try
36063 multiple addresses in case of failure.
36064
9c12956b 360652005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36066
36067 * term/tparm.c (get_space): Remove empty `if' statement.
36068
36069 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
36070
36071 * kern/parser.c (check_varstate): Rename `state' to 's'.
36072
aeaf81d9 360732005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36074
36075 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
36076 variable definitions to the beginning of each function. Sort stack
36077 variables by size.
36078 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
36079 `buf' argument to `char *'.
36080
79bbb63f 360812005-11-22 Hollis Blanchard <hollis@penguinppc.org>
36082
36083 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
36084 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36085 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 36086 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36087 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36088 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36089 configfile.mod, search.mod, gzio.mod and test.mod.
36090 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36091 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36092 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36093 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36094 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36095 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36096 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36097 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36098 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36099 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36100 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36101 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36102 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36103 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36104 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36105 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36106 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36107 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36108 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36109 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36110 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36111 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36112 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
36113
36114 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
36115 `grep --include'.
36116 (pkgdata_MODULES): Add test.mod.
36117
233b1628 361182005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36119
36120 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
36121 appending to variables with "+=".
36122 (PModule): Use full pathname to generate *.lst filenames.
36123
36124 * Makefile.in: Fixed list rules moved from genmk.rb.
36125 (.DELETE_ON_ERROR): New special target.
36126 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
36127
36128 * conf/i386-pc.rmk: Include conf/common.mk.
36129 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 36130 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 36131 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
36132 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
36133 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
36134 configfile.mod, search.mod, gzio.mod and test.mod.
36135 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
36136 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
36137 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
36138 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
36139 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
36140 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
36141 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
36142 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
36143 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
36144 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
36145 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36146 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36147 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
36148 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
36149 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
36150 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
36151 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
36152 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
36153 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
36154 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
36155 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
36156 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
36157 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
36158 here...
36159 * conf/common.rmk: ... to here. New file.
36160
36161 * conf/common.mk: New file.
36162
16f820c8 361632005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
36164
36165 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
36166 (grub_script.tab.c): ... here.
36167
36168 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
36169 (grub_script.tab.c): ... here.
36170
36171 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
36172 (grub_script.tab.c): ... here.
36173
36174 * normal/command.c (grub_command_find): Fixed a memory leak of
36175 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
36176
63ba1554 361772005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36178
36179 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
36180 "@" which marks the start of a comment on ARM.
36181 (VARIABLE): Likewise.
36182
7f67dc13 361832005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36184
79bbb63f 36185 Add support for Linux/ADFS partition tables.
7f67dc13 36186
36187 * partmap/acorn.c: New file.
36188
36189 * include/grub/acorn_filecore.h: Likewise.
36190
36191 * DISTLIST: Added `partmap/acorn.c' and
36192 `include/grub/acorn_filecore.h'.
f19dbdb7 36193
7f67dc13 36194 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36195 `partmap/acorn.c'.
36196 (pkgdata_MODULES): Add `acorn.mod'.
36197 (acorn_mod_SOURCES): New variable.
36198 (acorn_mod_CFLAGS): Likewise.
36199
36200 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36201 `partmap/acorn.c'.
36202 (pkgdata_MODULES): Add `acorn.mod'.
36203 (acorn_mod_SOURCES): New variable.
36204 (acorn_mod_CFLAGS): Likewise.
36205
36206 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
36207 (pkgdata_MODULES): Add `acorn.mod'.
36208 (acorn_mod_SOURCES): New variable.
36209 (acorn_mod_CFLAGS): Likewise.
36210 (acorn_mod_LDFLAGS): Likewise.
36211
36212 * include/types.h (grub_disk_addr_t): New typedef.
36213
6d099807 362142005-11-13 Marco Gerards <mgerards@xs4all.nl>
36215
36216 * geninit.sh: New file.
36217
36218 * geninitheader.sh: Likewise.
36219
36220 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
36221 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
36222 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
36223 * commands/configfile.c (grub_configfile_init)
36224 (grub_configfile_fini): Likewise.
36225 * commands/default.c (grub_default_init, grub_default_fini):
36226 Likewise.
36227 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
36228 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
36229 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
36230 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
36231 Likewise.
36232 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
36233 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
36234 Likewise.
36235 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 36236 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 36237 Likewise.
36238 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
36239 Likewise.
fe6b695a 36240 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 36241 Likewise.
36242 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
36243 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
36244 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
36245 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
36246 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
36247 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
36248 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
36249 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
36250 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
36251 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
36252 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
36253 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
36254 * partmap/amiga.c (grub_amiga_partition_map_init)
36255 (grub_amiga_partition_map_fini): Likewise.
36256 * partmap/apple.c (grub_apple_partition_map_init)
36257 (grub_apple_partition_map_fini): Likewise.
36258 * partmap/pc.c (grub_pc_partition_map_init)
36259 (grub_pc_partition_map_fini): Likewise.
36260 * partmap/sun.c (grub_sun_partition_map_init,
36261 grub_sun_partition_map_fini): Likewise.
36262 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
36263 Likewise.
36264
36265 * util/grub-emu.c: Include <grub_modules_init.h>.
36266 (main): Don't initialize and de-initialize any modules directly,
36267 use `grub_init_all' and `grub_fini_all' instead.
36268
36269 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
36270 `grub_vesafb_mod_init'.
36271 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
36272 all users.
36273 * term/i386/pc/vga.c (grub_vga_init): Renamed to
36274 `grub_vga_mod_init'. Updated all users.
36275 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 36276
6d099807 36277 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
36278 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
36279 rules.
36280
36281 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
36282 Generate a function to initialize the module in utilities.
36283 Updated all callers.
36284 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
36285 initialize the module in utilities. Updated all callers.
36286
9046bcf0 362872005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36288
36289 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
36290 escape sequence and a literal ^L to clear the screen.
36291
36292 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
36293 when returning from Open Firmware.
36294
d13ea639 362952005-11-09 Hollis Blanchard <hollis@penguinppc.org>
36296
36297 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
36298 (grub_ofconsole_height): Likewise.
36299 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
36300 manually insert a '\n'.
36301 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
36302 `grub_ofconsole_height'. Return early if these are already set.
36303
a8fcf206 363042005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
36305
36306 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
36307 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
36308 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
36309 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
36310 and `normal/script.c'.
36311 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36312 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36313 (test_mod_SOURCES): New variable.
36314 (test_mod_CFLAGS): Likewise.
36315 (test_mod_LDFLAGS): Likewise.
36316 (pkgdata_MODULES): Add `test.mod'.
36317 (grub_script.tab.c): New rule.
36318 (grub_script.tab.h): Likewise.
36319
b6b32745 363202005-11-07 Marco Gerards <mgerards@xs4all.nl>
36321
36322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
36323 `commands/test.c', `normal/execute.c', `normal/lexer.c',
36324 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36325 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36326 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
36327 (test_mod_SOURCES): New variable.
36328 (test_mod_CFLAGS): Likewise.
36329 (pkgdata_MODULES): Add `test.mod'.
36330 (grub_script.tab.c): New rule.
36331 (grub_script.tab.h): Likewise.
36332
daac212a 363332005-11-06 Marco Gerards <mgerards@xs4all.nl>
36334
36335 Add initial scripting support.
36336
36337 * commands/test.c: New file.
36338 * include/grub/script.h: Likewise.
36339 * normal/execute.c: Likewise.
36340 * normal/function.c: Likewise.
36341 * normal/lexer.c: Likewise.
36342 * normal/parser.y: Likewise.
36343 * normal/script.c: Likewise.
36344
36345 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 36346
daac212a 36347 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
36348 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
36349 `normal/function.c' and `normal/script.c'.
36350 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
36351 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 36352 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
36353 variables.
daac212a 36354 (pkgdata_MODULES): Add `test.mod'.
36355 (grub_script.tab.c): New rule.
36356 (grub_script.tab.h): Likewise.
36357
36358 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
36359
36360 * include/grub/normal.h (grub_test_init): New prototype.
36361 (grub_test_fini): Likewise.
f19dbdb7 36362
daac212a 36363 * normal/command.c: Include <grub/script.h>.
36364 (grub_command_execute): Rewritten.
f19dbdb7 36365
daac212a 36366 * util/grub-emu.c (main): Call `grub_test_init' and
36367 `grub_test_fini'.
36368
77500b2b 363692005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36370
36371 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
36372 to 0.
36373 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
36374 there are no pending characters.
36375
e45deb9e 363762005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36377
36378 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
36379 `grub_strndup' to drop device arguments. Replace unnecessary
36380 `grub_strndup' with `grub_strdup'.
36381
4ce32619 363822005-11-03 Hollis Blanchard <hollis@penguinppc.org>
36383
36384 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
36385 `debug' environment variable has been set.
36386
363872005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 36388
4ce32619 36389 * Makefile.in (install-local): Use $(DATA).
36390 (uninstall): Likewise.
36391 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
36392 (sbin_UTILITIES): ... to here.
36393 (sbin_SCRIPTS): New variable.
36394 (grub_install_SOURCES): New variable.
36395 * util/powerpc/ieee1275/grub-install.in: New file.
36396 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
36397 variable.
36398 (add_segments): Call `grub_util_get_path'.
36399
25fe6f03 364002005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
36401
36402 From Timothy Baldwin:
36403 * commands/ls.c (grub_ls_list_files): Close FILE with
36404 grub_file_close.
36405 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
36406
04ccf3ec 364072005-10-24 Marco Gerards <mgerards@xs4all.nl>
36408
36409 * include/grub/parser.h: New file.
36410
36411 * kern/parser.c: Likewise.
36412
36413 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
36414 (grub_setup_SOURCES): Likewise.
36415 (grub_probefs_SOURCES): Likewise.
36416 (grub_emu_SOURCES): Likewise.
36417 (kernel_img_HEADERS): Add `parser.h'.
36418
36419 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36420 (grub_emu_SOURCES): Add `kern/parser.c'.
36421 (grubof_SOURCES): Likewise.
36422
36423 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
36424 (grubof_SOURCES): Add `kern/parser.c'.
36425
36426 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
36427
36428 * kern/misc.c (grub_split_cmdline): Removed function.
36429
36430 * kern/rescue.c: Include <grub/parser.h>.
36431 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
36432 of `grub_split_cmdline'.
36433
36434 * normal/command.c: Include <grub/parser.h>.
36435 (grub_command_execute): Use `grub_parser_split_cmdline' instead
36436 of `grub_split_cmdline'.
36437
36438 * normal/completion.c: Include <grub/parser.h>.
36439 (cmdline_state): New variable.
36440 (iterate_dir): End the filename with a quote depending on the
36441 command line state.
36442 (get_state): new function.
36443 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
36444 split the arguments and determine the current argument. When the
36445 argument string is not quoted, escape all spaces.
36446
6d8f4b0e 364472005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36448
36449 * normal/sparc64/setjmp.S: New file.
36450
15cf03ed 364512005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36452
36453 * include/grub/sparc64/libgcc.h: New file.
36454 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
36455 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
36456 normal/sparc64/setjmp.c.
36457
03e8661a 364582005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
36459
36460 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
36461 * kern/sparc64/cache.S: New file.
36462 * kern/sparc64/cache.c: Removed.
36463 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
36464 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
36465 -mtune=ultrasparc.
36466 (COMMON_LDFLAGS): Add -melf64_sparc.
36467 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
36468 (grubof_SOURCES): Use cache.S instead of cache.c.
36469 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
36470 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
36471 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
36472 commented though.
36473 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
36474 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
36475 (linux_mod_CFLAGS): Commented out.
36476 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
36477 out because module isn't built.
36478 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
36479 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
36480 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
36481 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
36482 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
36483 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36484 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36485 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
36486 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
36487 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
36488 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
36489 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
36490 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
36491 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
36492
34eeec8a 364932005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
36494
36495 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
36496 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
36497 longer, because HFS should not be used on PC.
36498
708367a3 364992005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
36500
36501 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
36502 consistently within the loop.
36503
6fa1251a 365042005-10-15 Marco Gerards <mgerards@xs4all.nl>
36505
36506 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
36507 directory can not be read.
36508
4801580b 365092005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36510
36511 * configure.ac (AC_INIT): Increase the version number to 1.91.
36512
36513 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
36514 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
36515 term/i386/pc/serial.c.
36516
219ad426 365172005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36518
36519 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
36520 file size must be permitted.
36521
36522 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
36523 between %ah and %al.
36524
688e5699 365252005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
36526
36527 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
36528 grub_uint64_t.
36529 Call the hook with a NUL-terminated filename.
36530 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
36531 grub_cpu_to_be32.
36532
36533 * kern/term.c (cursor_state): New variable.
36534 (grub_term_set_current): Reset the cursor state on a new
36535 terminal.
36536 (grub_setcursor): Rewritten to use CURSOR_STATE.
36537 (grub_getcursor): New function.
36538
36539 * include/grub/term.h (grub_getcursor): New prototype.
36540
36541 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
36542 integers on ARM. Reported by Timothy Baldwin
36543 <T.E.Baldwin99@members.leeds.ac.uk>.
36544
bb34586c 365452005-10-11 Marco Gerards <mgerards@xs4all.nl>
36546
36547 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
36548 allocated.
36549 (grub_sfs_dir): Likewise.
36550
9a909877 365512005-10-09 Marco Gerards <mgerards@xs4all.nl>
36552
36553 Add support for the SFS filesystem.
36554
36555 * fs/sfs.c: New file.
36556
36557 * DISTLIST: Added `fs/sfs.c'.
36558
36559 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
36560 (grub_probefs_SOURCES): Likewise.
36561 (grub_emu_SOURCES): Likewise.
36562 (pkgdata_MODULES): Add `sfs.mod'.
36563 (sfs_mod_SOURCES): New variable.
36564 (sfs_mod_CFLAGS): Likewise.
36565 (sfs_mod_LDFLAGS): Likewise.
36566
36567 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
36568 (pkgdata_MODULES): Add `sfs.mod'.
36569 (sfs_mod_SOURCES): New variable.
36570 (sfs_mod_CFLAGS): Likewise.
36571
36572 * util/grub-emu.c (main): Call `grub_sfs_init' and
36573 `grub_sfs_fini'.
36574
36575 * include/grub/fs.h (grub_sfs_init): New prototype.
36576 (grub_sfs_fini): Likewise.
36577
57bdbde3 365782005-10-07 Marco Gerards <mgerards@xs4all.nl>
36579
36580 Add support for the AFFS filesystem.
36581
36582 * fs/affs.c: New file.
36583
36584 * DISTLIST: Added `fs/affs.c'.
36585
36586 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
36587 (grub_probefs_SOURCES): Likewise.
36588 (grub_emu_SOURCES): Likewise.
36589 (pkgdata_MODULES): Add `affs.mod'.
36590 (affs_mod_SOURCES): New variable.
36591 (affs_mod_CFLAGS): Likewise.
36592 (affs_mod_LDFLAGS): Likewise.
36593
36594 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
36595 (pkgdata_MODULES): Add `affs.mod'.
36596 (affs_mod_SOURCES): New variable.
36597 (affs_mod_CFLAGS): Likewise.
36598
36599 * util/grub-emu.c (main): Call `grub_affs_init' and
36600 `grub_affs_fini'.
36601
36602 * include/grub/fs.h (grub_affs_init): New prototype.
36603 (grub_affs_fini): Likewise.
36604
047b67e0 366052005-10-01 Marco Gerards <mgerards@xs4all.nl>
36606
36607 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
36608
59b8208a 366092005-10-01 Marco Gerards <mgerards@xs4all.nl>
36610
36611 * configure.ac: Accept `x86_64' as host_cpu. In that case add
36612 `-m32' to CFLAGS.
36613
36614 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
36615 linking.
f19dbdb7 36616
59b8208a 36617 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
36618 (COMMON_LDFLAGS): New variable.
36619 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
36620 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
36621 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
36622 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
36623 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
36624 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
36625 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
36626 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
36627 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
36628 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
36629 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
36630 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
36631 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
36632 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
36633 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
36634 variables.
36635 (normal_mod_ASFLAGS): Add `-m32'.
36636
36637 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
36638 (grub_host_size_t, grub_host_ssize_t): New types.
36639 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 36640 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 36641 `GRUB_HOST_SIZEOF_VOID_P'.
36642
36643 * include/grub/kernel.h (struct grub_module_header): Type of
36644 member offset changed to `grub_host_off_t'. Type of member size
36645 changed to `grub_host_size_t'.
36646 (struct grub_module_info): Type of member offset changed to
36647 `grub_host_off_t'. Type of member size changed to
36648 `grub_host_size_t'.
36649
b4093103 366502005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
36651
36652 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 36653
b4093103 36654 * kern/i386/pc/startup.S (multiboot_header): New label.
36655 (multiboot_entry): Likewise.
36656 (multiboot_trampoline): Likewise.
36657
36658 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36659 Increased to 0x4A0.
36660
36661 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
36662 put parentheses after a question mark.
36663 [!GRUB_UTIL] (my_mod): New variable.
36664
36665 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
36666
b2499b29 366672005-09-28 Marco Gerards <mgerards@xs4all.nl>
36668
36669 Adds support for the XFS filesystem. Btrees are not supported
36670 yet.
36671
36672 * fs/xfs.c: New file.
36673
36674 * DISTLIST: Added `fs/xfs.c'.
36675
36676 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
36677 (grub_probefs_SOURCES): Likewise.
36678 (grub_emu_SOURCES): Likewise.
36679 (pkgdata_MODULES): Add `xfs.mod'.
36680 (xfs_mod_SOURCES): New variable.
36681 (xfs_mod_CFLAGS): Likewise.
36682
36683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
36684 (pkgdata_MODULES): Add `xfs.mod'.
36685 (xfs_mod_SOURCES): New variable.
36686 (xfs_mod_CFLAGS): Likewise.
36687
36688 * util/grub-emu.c (main): Call `grub_xfs_init' and
36689 `grub_xfs_fini'.
36690
36691 * include/grub/fs.h (grub_xfs_init): New prototype.
36692 (grub_xfs_fini): Likewise.
36693
f19dbdb7 36694
83d37a62 366952005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
36696
36697 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
36698 color modes, allow greater than 16 colors to be configured as
36699 a default palette.
36700
47d2d65e 367012005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
36702
36703 * normal/completion.c (complete_arguments): Add the qualifier
36704 const into OPTIONS.
36705
36706 From Omniflux <omniflux+lists@omniflux.com>:
36707 * include/grub/terminfo.h: New file.
36708 * include/grub/tparm.h: Likewise.
36709 * include/grub/i386/pc/serial.h: Likewise.
36710 * term/terminfo.c: Likewise.
36711 * term/tparm.c: Likewise.
36712 * term/i386/pc/serial.c: Likewise.
36713 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
36714 serial.mod.
36715 (terminfo_mod_SOURCES): New variable.
36716 (terminfo_mod_CFLAGS): Likewise.
36717 (serial_mod_SOURCES): Likewise.
36718 (serial_mod_CFLAGS): Likewise.
36719
48b671ff 367202005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
36721
36722 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
36723 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
36724 and kern/powerpc/ieee1275/cmain.c, respectively.
36725
36726 * boot/powerpc/ieee1275/crt0.S: Moved to ...
36727 * kern/powerpc/ieee1275/crt0.S: ... here.
36728
36729 * boot/powerpc/ieee1275/cmain.c: Moved to ...
36730 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 36731
48b671ff 36732 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
36733 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
36734 instead of boot/powerpc/ieee1275/crt0.S and
36735 boot/powerpc/ieee1275/cmain.c, respectively.
36736
36737 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
36738 sectors. It was not used anyway.
36739
09fc77a7 367402005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36741
36742 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
36743 `unused parameter' warning.
36744
003789c7 367452005-08-30 Hollis Blanchard <hollis@penguinppc.org>
36746
36747 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
36748 function.
36749 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
36750 getcharwidth.
36751
67f44c86 367522005-08-28 Marco Gerards <metgerards@student.han.nl>
36753
36754 * include/grub/normal.h (enum grub_completion_type): Added
36755 `GRUB_COMPLETION_TYPE_ARGUMENT'.
36756
36757 * normal/cmdline.c (print_completion): Handle
36758 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
36759 * normal/menu_entry.c (store_completion): Likewise.
36760
36761 * normal/completion.c (complete_arguments): New function.
36762 (grub_normal_do_completion): Call `complete_arguments' when the
36763 current words start with a dash.
36764
0b5abe02 367652005-08-27 Marco Gerards <metgerards@student.han.nl>
36766
36767 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
36768 `gzio.mod' instead of `io.mod').
36769
d9864ee1 367702005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
36771
36772 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
36773 (DISTDIRS): Added io and video.
36774 Rewrite the search routine to make an output consistently.
36775
36776 * DISTLIST: Added conf/sparc64-ieee1275.mk,
36777 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
36778 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
36779 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
36780 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
36781 util/powerpc/ieee1275/misc.c.
f19dbdb7 36782
d9864ee1 36783 * include/grub/gzio.h: New file.
36784 * io/gzio.c: Likewise.
f19dbdb7 36785
d9864ee1 36786 * kern/file.c (grub_file_close): Call grub_device_close only if
36787 FILE->DEVICE is not NULL.
36788
36789 * include/grub/mm.h [!NULL] (NULL): New macro.
36790
36791 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
36792
36793 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
36794 (pkgdata_MODULES): Added gzio.mod.
36795 (gzio_mod_SOURCES): New variable.
36796 (gzio_mod_CFLAGS): Likewise.
36797
36798 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
36799 (pkgdata_MODULES): Added gzio.mod.
36800 (gzio_mod_SOURCES): New variable.
36801 (gzio_mod_CFLAGS): Likewise.
36802
36803 * commands/cat.c: Include grub/gzio.h.
36804 (grub_cmd_cat): Use grub_gzfile_open instead of
36805 grub_file_open.
f19dbdb7 36806
d9864ee1 36807 * commands/cmp.c: Include grub/gzio.h.
36808 (grub_cmd_cmp): Use grub_gzfile_open instead of
36809 grub_file_open.
36810
36811 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
36812 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
36813 grub_file_open.
36814 (grub_rescue_cmd_module): Likewise.
36815
fa46f4b5 368162005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36817
36818 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
36819 kern/sparc64/ieee1275/init.c because it contains _start.
36820 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
36821
e9211b5d 368222005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
36823
36824 * configure.ac: Add support for sparc64 host with ieee1275
36825 firmware.
36826 * configure: Generated from configure.ac.
36827 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
36828 instead of int.
36829 (grub_ofdisk_read): Likewise.
36830 (grub_ofdisk_open): Use %p to print pointer values, and cast the
36831 pointers as (void *) to remove a warning.
36832 (grub_ofdisk_close): Likewise.
36833 (grub_ofdisk_read): Likewise.
36834 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
36835 returns, so make it return void to remove a warning.
36836 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
36837 Corresponding prototype change.
36838 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
36839 values, and cast the pointers as (void *) to remove a warning.
36840 (grub_mm_dump): Likewise.
36841 * conf/sparc64-ieee1275.mk: New file.
36842 * conf/sparc64-ieee1275.rmk: Likewise.
36843 * include/grub/sparc64/setjmp.h: Likewise.
36844 * include/grub/sparc64/types.h: Likewise.
36845 * include/grub/sparc64/ieee1275/console.h: Likewise.
36846 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
36847 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
36848 * include/grub/sparc64/ieee1275/time.h: Likewise.
36849 * kern/sparc64/cache.c: Likewise.
36850 * kern/sparc64/dl.c: Likewise.
36851 * kern/sparc64/ieee1275/init.c: Likewise.
36852 * kern/sparc64/ieee1275/openfw.c: Likewise.
36853
385c6a92 368542005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
36855
36856 * util/console.c (grub_ncurses_putchar): If C is greater than
36857 0x7f, set C to a question mark.
36858 (grub_ncurses_getcharwidth): New function.
36859 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
36860 getcharwidth.
36861
36862 * normal/menu.c (print_entry): Made aware of Unicode. First,
36863 convert TITLE to UCS-4, and predict the cursor position by
36864 grub_getcharwidth.
36865
36866 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
36867 const to SRC.
36868 * kern/misc.c (grub_utf16_to_utf8): Likewise.
36869
16ccb8b1 368702005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36871
36872 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
36873 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36874 grub_strcat.
36875
36876 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
36877 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
36878 grub_strcpy and grub_strlen. Take it into account that a space
36879 character is inserted as a delimiter.
36880
6a85ce79 368812005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36882
36883 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 36884 invalid magic in the error.
6a85ce79 36885
36886 * commands/search.c: New file.
f19dbdb7 36887
6a85ce79 36888 * util/grub-emu.c (main): Call grub_search_init and
36889 grub_search_fini.
36890
36891 * kern/rescue.c (grub_rescue_print_disks): Removed.
36892 (grub_rescue_print_devices): New function.
36893 (grub_rescue_cmd_ls): Use grub_device_iterate with
36894 grub_rescue_print_devices instead of grub_disk_dev_iterate with
36895 grub_rescue_print_disks.
36896
36897 * kern/partition.c (grub_partition_iterate): Return the result of
36898 PARTMAP->ITERATE instead of GRUB_ERRNO.
36899
36900 * kern/device.c: Include grub/partition.h.
36901 (grub_device_iterate): New function.
36902
36903 * include/grub/partition.h (grub_partition_iterate): Return int
36904 instead of grub_err_t.
36905
36906 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
36907 prototype.
36908 [GRUB_UTIL] (grub_search_fini): Likewise.
36909
36910 * include/grub/device.h (grub_device_iterate): New prototype.
36911
36912 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
36913 commands/search.c.
36914 (pkgdata_MODULES): Added search.mod.
36915 (search_mod_SOURCES): New variable.
36916 (search_mod_CFLAGS): Likewise.
36917
36918 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
36919 (pkgdata_MODULES): Added search.mod.
36920 (search_mod_SOURCES): New variable.
36921 (search_mod_CFLAGS): Likewise.
36922
36923 * commands/ls.c (grub_ls_list_disks): Renamed to ...
36924 (grub_ls_list_devices): ... this, and use grub_device_iterate.
36925 All callers changed.
36926
36927 * DISTLIST: Added commands/search.c.
36928
ef095434 369292005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
36930
36931 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
36932 conversion.
36933 (grub_getcharwidth): New function.
36934
36935 * kern/misc.c (grub_utf8_to_ucs4): New function.
36936
36937 * include/grub/term.h (struct grub_term): Added a new member
36938 "getcharwidth".
36939 (grub_getcharwidth): New prototype.
36940
36941 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
36942
36943 * term/i386/pc/console.c (map_char): New function. Segregated from
36944 grub_console_putchar.
36945 (grub_console_putchar): Use map_char.
36946 (grub_console_getcharwidth): New function.
36947 (grub_console_term): Specified grub_console_getcharwidth as
36948 getcharwidth.
36949
36950 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
36951 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
36952
36953 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
36954 GRUB_ERRNO.
36955 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
36956 on grub_strtoul completely.
36957 (write_char): Declare local variables in the beginning of the
36958 function.
36959 (grub_vesafb_getcharwidth): New function.
36960 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
36961 getcharwidth.
36962
1f0a95e4 369632005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
36964
36965 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
36966 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
36967 commands/i386/pc/vbetest.c.
36968
36969 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
36970 call grub_vbe_get_controller_info again, because the returned
36971 information is volatile.
36972 (grub_vbe_set_video_mode): Mostly rewritten.
36973 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
36974 grub_vbe_status_t correctly.
36975 (grub_vbe_get_video_mode_info): Likewise.
36976 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
36977 several if statements.
36978
36979 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
36980 * commands/i386/pc/vbeinfo.c: ... this.
36981
36982 * commands/i386/pc/vbe_test.c: Renamed to ...
36983 * commands/i386/pc/vbetest.c: ... this.
36984
36985 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
36986 ...
36987 (grub_cmd_vbeinfo): ... this. Save video modes before
36988 iterating. Skip a video mode, if it is not available, not enough
36989 information is given or it is monochrome. Show the memory
36990 model. Leave the interpretation of MODEVAR to grub_strtoul
36991 completely.
36992 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
36993 (GRUB_MOD_FINI): Likewise.
36994
36995 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
36996 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
36997 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
36998 duplicated grub_env_get. Leave the interpretation of MODEVAR to
36999 grub_strtoul completely.
37000 (real2pm): Removed.
37001 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
37002 (GRUB_MOD_FINI): Likewise.
37003
37004 * normal/misc.c: Include grub/mm.h.
37005
37006 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
37007 vbe_list_modes with vbetest.mod and vbeinfo.mod.
37008 (vbe_list_modes_mod_SOURCES): Removed.
37009 (vbe_list_modes_mod_CFLAGS): Likewise.
37010 (vbe_test_mod_SOURCES): Likewise.
37011 (vbe_test_mod_CFLAGS): Likewise.
37012 (vbeinfo_mod_SOURCES): New variable.
37013 (vbeinfo_mod_CFLAGS): Likewise.
37014 (vbetest_mod_SOURCES): Likewise.
37015 (vbetest_mod_CFLAGS): Likewise.
37016
992ffbbe 370172005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
37018
37019 * normal/misc.c: New file.
37020
37021 * DISTLIST: Added normal/misc.c.
f19dbdb7 37022
992ffbbe 37023 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
37024 DISK to HOOK. Call HOOK with DISK.
37025 * partmap/apple.c (apple_partition_map_iterate): Likewise.
37026 * partmap/pc.c (pc_partition_map_iterate): Likewise.
37027 * partmap/sun.c (sun_partition_map_iterate): Likewise.
37028
37029 * normal/menu_entry.c (struct screen): Added a new member
37030 "completion_shown".
37031 (completion_buffer): New global variable.
37032 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
37033 (store_completion): New function.
37034 (complete): Likewise.
37035 (clear_completions): Likewise.
37036 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
37037 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
37038 a tab, call complete.
37039
37040 * normal/completion.c (disk_dev): Removed.
37041 (print_simple_completion): Likewise.
37042 (print_partition_completion): Likewise.
37043 (print_func): New global variable.
37044 (add_completion): Do not take the arguments WHAT or PRINT any
37045 longer. Added a new argument TYPE. Instead of printing directly,
37046 call PRINT_FUNC if not NULL.
37047 All callers changed.
37048 (complete_device): Use a local variable DEV instead of
37049 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
37050 (grub_normal_do_completion): Take a new argument HOOK. Do not
37051 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
37052 empty string, return NULL instead.
37053 All callers changed.
37054
37055 * normal/cmdline.c (print_completion): New function.
37056
37057 * kern/partition.c (grub_partition_iterate): Add an argument DISK
37058 to HOOK.
37059 All callers changed.
37060
37061 * kern/disk.c (grub_print_partinfo): Removed.
37062
37063 * include/grub/partition.h (struct grub_partition_map): Add a new
37064 argument DISK into HOOK of ITERATE.
37065 (grub_partition_iterate): Add a new argument DISK to HOOK.
37066
37067 * include/grub/normal.h (enum grub_completion_type): New enum.
37068 (grub_completion_type_t): New type.
37069 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
37070 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
37071 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
37072 (GRUB_COMPLETION_TYPE_FILE): Likewise.
37073 (grub_normal_do_completion): Added a new argument HOOK.
37074 (grub_normal_print_device_info): New prototype.
37075
37076 * include/grub/disk.h (grub_print_partinfo): Removed.
37077
37078 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
37079 (normal_mod_SOURCES): Likewise.
37080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37081 (normal_mod_SOURCES): Likewise.
37082
37083 * commands/ls.c (grub_ls_list_disks): Use
37084 grub_normal_print_device_info instead of grub_print_partinfo. Free
37085 PNAME.
37086 (grub_ls_list_files): Use grub_normal_print_device_info instead of
37087 duplicating the code.
37088
0bd41162 370892005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37090
37091 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 37092 follow GCS more precisely.
37093 * commands/i386/pc/vbe_test.c: Likewise.
37094 * include/grub/i386/pc/vbe.h: Likewise.
37095 * term/i386/pc/vesafb.c: Likewise.
37096 * video/i386/pc/vbe.c: Likewise.
0bd41162 37097
6323696a 370982005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
37099
37100 * DISTLIST: Added term/i386/pc/vesafb.c
37101 DISTLIST: Added video/i386/pc/vbe.c
37102 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
37103 DISTLIST: Added commands/i386/pc/vbe_test.c.
37104 * commands/i386/pc/vbe_list_modes.c: New file.
37105 * commands/i386/pc/vbe_test.c: Likewise.
37106 * term/i386/pc/vesafb.c: Likewise.
37107 * video/i386/pc/vbe.c: Likewise.
37108 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
37109 (grub_vbe_probe) Added prototype.
37110 (grub_vbe_set_video_mode) Likewise.
37111 (grub_vbe_get_video_mode) Likewise.
37112 (grub_vbe_get_video_mode_info) Likewise.
37113 (grub_vbe_set_pixel_rgb) Likewise.
37114 (grub_vbe_set_pixel_index) Likewise.
37115 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
37116 (pkgdata_MODULES): Added vesafb.mod.
37117 (pkgdata_MODULES): Added vbe_list_modes.mod.
37118 (pkgdata_MODULES): Added vbe_test.mod.
37119 (vbe_mod_SOURCES): Added.
37120 (vbe_mod_CFLAGS): Likewise.
37121 (vesafb_mod_SOURCES): Likewise.
37122 (vesafb_mod_CFLAGS): Likewise.
37123 (vbe_list_modes_mod_SOURCES): Likewise.
37124 (vbe_list_modes_mod_CFLAGS): Likewise.
37125 (vbe_test_mod_SOURCES): Likewise.
37126 (vbe_test_mod_CFLAGS): Likewise.
37127
0a74e62f 371282005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
37129
0a74e62f 37130 * normal/command.c (grub_command_execute): If INTERACTIVE is
37131 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
37132 CMDLINE. Disable the pager if INTERACTIVE is true.
37133 All callers are changed.
37134
37135 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
37136 before reading a config file.
37137 * normal/main.c (read_config_file): Even if a command is not
37138 found, register it if it is within an entry.
37139
37140 * util/grub-emu.c: Include sys/types.h and unistd.h.
37141 (options): Added --hold.
37142 (struct arguments): Added a new member "hold".
37143 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
37144 missing.
37145 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
37146 cleared by a debugger, if it is not zero.
37147
37148 * include/grub/normal.h (grub_command_execute): Add an argument
37149 INTERACTIVE.
37150
e51f85ae 371512005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
37152
37153 * DISTLIST: Added include/grub/i386/pc/vbe.h.
37154
e9c6f39b 371552005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
37156
37157 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
37158 program with another one, because the old one didn't detect a bug
37159 in gcc-3.4. Always use regparm 2, because the new test is still
37160 not enough for gcc-4.0. Someone must investigate a simple test
37161 case which detects a bug in gcc-4.0.
37162
8de3495c 371632005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
37164
37165 * DISTLIST: Added normal/completion.c.
37166
37167 * normal/completion.c: New file.
f19dbdb7 37168
8de3495c 37169 * term/i386/pc/console.c (grub_console_getwh): New function.
37170 (grub_console_term): Assign grub_console_getwh to getwh.
37171
37172 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
37173 function is defined in normal/completion.c as
37174 grub_normal_do_completion.
37175 (grub_cmdline_get): Use grub_normal_do_completion instead of
37176 grub_tab_complete.
37177
37178 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
37179 returns non-zero, otherwise return 0.
37180 (grub_partition_iterate): First, probe the partition map. Then,
37181 call ITERATE only for this partition map.
37182
37183 * kern/misc.c (grub_strncmp): Rewritten.
37184
37185 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
37186 returns non-zero. Otherwise return 0.
37187
37188 * include/grub/partition.h (grub_partition_map_iterate): Return
37189 int instead of void.
37190
37191 * include/grub/normal.h (grub_normal_do_completion): New prototype.
37192
37193 * include/grub/misc.h (grub_strncmp): Change the type of N to
37194 grub_size_t.
37195
37196 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
37197 of void.
37198
37199 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 37200 unsigned explicitly before comparing it with I.
8de3495c 37201
37202 * kern/main.c (grub_env_write_root): Add the attribute unused into
37203 VAR.
37204
37205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37206 normal/completion.c.
37207 (normal_mod_SOURCES): Likewise.
37208 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37209 (normal_mod_SOURCES): Likewise.
37210
37211 * normal/command.c (grub_iterate_commands): If ITERATE returns
37212 non-zero, return one immediately.
37213
e85e144b 372142005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
37215
37216 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
37217 * kern/i386/pc/startup.S: Updated Global Descriptor table's
37218 descriptions.
37219 (grub_vbe_get_controller_info): New function.
37220 (grub_vbe_get_mode_info): Likewise.
37221 (grub_vbe_set_mode): Likewise.
37222 (grub_vbe_get_mode): Likewise.
37223 (grub_vbe_set_memory_window): Likewise.
37224 (grub_vbe_get_memory_window): Likewise.
37225 (grub_vbe_set_scanline_length): Likewise.
37226 (grub_vbe_get_scanline_length): Likewise.
37227 (grub_vbe_set_display_start): Likewise.
37228 (grub_vbe_get_display_start): Likewise.
37229 (grub_vbe_set_palette_data): Likewise.
37230 * include/grub/i386/pc/vbe.h: New file.
37231
c46153d2 372322005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37233
37234 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37235 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
37236 * DISTLIST: Likewise.
37237 * kern/ieee1275/of.c: Moved to ...
37238 * kern/ieee1275/ieee1275.c: ... here.
37239
0cb90c45 372402005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37241
37242 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
37243 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
37244 Pass 0 as `end' parameter to grub_strtoul().
37245
a19fb360 372462005-08-08 Hollis Blanchard <hollis@penguinppc.org>
37247
37248 * include/grub/powerpc/ieee1275/console.h: Do not include
37249 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
37250 ifdef.
37251 (grub_console_cur_color): Remove i386-specific prototype.
37252 (grub_console_real_putchar): Likewise.
37253 (grub_console_checkkey): Likewise.
37254 (grub_console_getkey): Likewise.
37255 (grub_console_getxy): Likewise.
37256 (grub_console_gotoxy): Likewise.
37257 (grub_console_cls): Likewise.
37258 (grub_console_setcursor): Likewise.
37259 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
37260 Include <grub/machine/console.h>.
37261 * term/ieee1275/ofconsole.c: Likewise.
37262
4ac9bd04 372632005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
37264
37265 * Makefile.in (LIBLZO): New variable.
37266
37267 * configure.ac: Check for LZO version 2.
37268
37269 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
37270 lzo/lzo1x.h instead of lzo1x.h.
37271
37272 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
37273 of -llzo.
37274
37275 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
37276 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
37277
37278 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
37279 copying the data from PARTITION to P.
37280
f4917dfd 372812005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37282
37283 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
37284 negative, unload the module.
37285
37286 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
37287 map is "pc_partition_map" but not "pc".
37288 (usage): Fix the description. The options are --boot-image and
37289 --core-image but not --boot-file or --core-file.
37290 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
37291 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
37292 DEFAULT_DIRECTORY.
37293
37294 * util/i386/pc/grub-install.in: Do not specify --boot-file or
37295 --core-file. Specify INSTALL_DEVICE as an argument.
37296
37297 * util/console.c: Include config.h.
37298 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
37299 [HAVE_NCURSES_H]: Include ncurses.h.
37300 [HAVE_CURSES_H]: Include curses.h.
37301 [!A_NORMAL] (A_NORMAL): Defined as zero.
37302 [!A_STANDOUT] (A_STANDOUT): Likewise.
37303
37304 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
37305 -lncurses.
37306 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
37307
37308 * configure.ac: Check for curses libraries and headers.
37309
37310 * Makefile.in (LIBCURSES): New variable.
37311
37312 * genmk.rb (Script::rule): Set the executable bits.
37313
37314 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
37315 name of the PC partition map is "pc_partition_map" but not "pc".
37316
0e143073 373172005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37318
37319 * util/i386/pc/grub-install.in (grub_probefs): New variable.
37320 (modules): Likewise.
37321 (usage): Added descriptions for --modules and --grub-probefs.
37322 Handle --modules and --grub-probefs. Save the arguments in MODULES
37323 and GRUB_PROBEFS, respectively.
37324 Auto-detect a filesystem module against GRUBDIR. If the result is
37325 empty and modules are not specified explicitly, abort the
37326 installation. Add the result to MODULES.
37327
37328 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
37329 disk/powerpc/ieee1275/ofdisk.c,
37330 include/grub/powerpc/ieee1275/init.h and
37331 term/powerpc/ieee1275/ofconsole.c.
37332 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
37333 term/ieee1275/ofconsole.c.
37334
37335 * include/grub/powerpc/ieee1275/console.h: Resurrected.
37336
37337 * COPYING: Upgraded to the latest version. Only the address of the
37338 FSF office has changed.
f19dbdb7 37339
efd6e6d5 373402005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
37341
37342 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
37343 kern/ieee1275.c with kern/ieee1275/of.c.
37344
37345 * kern/ieee1275.c: Moved to ...
37346 * kern/ieee1275/of.c: ... here.
37347
8ceafda2 373482005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
37349
37350 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 37351 readability.
8ceafda2 37352
37353 * config.guess: Updated to the latest version from gnulib.
37354 * config.sub: Likewise.
37355 * install.sh: Likewise.
37356 * mkinstalldirs: Likewise.
37357
37358 * include/grub/console.h: Removed. This file is arch-specific. Do
37359 not put this in include/grub.
37360
37361 * include/grub/i386/pc/console.h: Resurrected.
37362
37363 * util/console.c: Include grub/machine/console.h instead of
37364 grub/console.h.
37365 * util/grub-emu.c: Likewise.
37366
267f6cd9 373672005-08-04 Marco Gerards <metgerards@student.han.nl>
37368
37369 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
37370 hardcoded value.
f19dbdb7 37371
267f6cd9 37372 From Vincent Pelletier <subdino2004@yahoo.fr>
37373 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
37374 Redefined to use grub_getwh.
37375 (grub_term): New member named getwh.
37376 (grub_getwh): New prototype.
37377 * kern/term.c (grub_getwh): New function.
37378 * term/i386/pc/console.c (grub_console_getwh): New function.
37379 (grub_console_term): New member `getwh'.
37380 * term/i386/pc/vga.c (grub_vga_getwh): New function.
37381 (grub_vga_term): New member `getwh'.
0b5abe02 37382 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 37383 grub_ssize_t.
37384 (grub_ofconsole_getw): New function.
37385 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
37386 (grub_ofconsole_term): New field named getwh and new initial
37387 value.
37388
3be7266d 373892005-08-03 Hollis Blanchard <hollis@penguinppc.org>
37390
37391 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
37392 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
37393 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
37394 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
37395 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
37396 of <grub/machine/ieee1275.h>.
37397 * commands/ieee1275/reboot.c: Likewise.
37398 * boot/powerpc/ieee1275/ieee1275.c: Move ...
37399 * kern/ieee1275.c: ... to here. All users updated. Change all
37400 parameter structs to use new type `grub_ieee1275_cell_t'.
37401 * term/powerpc/ieee1275/ofconsole.c: Move ...
37402 * term/ieee1275/ofconsole.c: ... to here. All users updated.
37403 * disk/powerpc/ieee1275/ofdisk.c: Move ...
37404 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
37405 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
37406 to return int.
37407 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
37408 Remove unused prototypes. All users updated.
37409 * include/grub/powerpc/ieee1275/console.h: Removed.
37410 * include/grub/powerpc/ieee1275/ieee1275.h: Define
37411 `grub_ieee1275_cell_t'.
37412 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
37413 Cast comparisons with -1 to the correct type.
37414 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
37415 type to match `grub_ieee1275_entry_fn'.
37416
8b5f3938 374172005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
37418
37419 * DISTLIST: Added util/i386/pc/grub-probefs.c.
37420
37421 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
37422 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
37423 partmap/sun.c.
37424 (grub_probefs_SOURCES): New variable.
37425
37426 * util/i386/pc/grub-probefs.c: New file.
37427
37428 * util/i386/pc/grub-setup.c (main): Call
37429 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
37430 grub_hfs_init and grub_jfs_init to initialize the system. Call
37431 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
37432 grub_pc_partition_map_fini to finish the system.
37433
ea409713 374342005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
37435
37436 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
37437 function.
37438 (grub_multiboot_load_elf32): Likewise.
37439 (grub_multiboot_is_elf64): Likewise.
37440 (grub_multiboot_load_elf64): Likewise.
37441 (grub_multiboot_load_elf): Likewise.
37442 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
37443 an ELF32 or ELF64 file.
37444 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
37445
37446 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
37447 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
37448 NULL before calling FS->LABEL.
37449 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
37450 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
37451 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
37452 before calling FS->LABEL.
37453
141a288b 374542005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
37455
37456 * util/i386/pc/grub-install.in (datadir): New variable.
37457 (libdir): Removed.
37458 (pkgdatadir): New variable.
37459 (pkglibdir): Removed.
37460
0d5f8a54 374612005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
37462
37463 * DISTLIST: Added util/i386/pc/grub-install.in.
37464
37465 * util/i386/pc/grub-install.in: New file.
37466
37467 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
37468 (grub_install_SOURCES): Likewise.
37469
37470 * genmk.rb: Added support for scripts.
37471 (Script): New class.
37472 (scripts): New variable.
37473
37474 * Makefile.in (install-local): Install sbin_SCRIPTS by
37475 INSTALL_SCRIPT.
37476 (uninstall): Remove sbin_SCRIPTS.
37477
37478 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
37479 device, try to get a GRUB device by
37480 grub_util_biosdisk_get_grub_dev.
37481 Free DEST_DEV.
37482
37483 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
37484 description for --device-map.
37485
5f968e1e 374862005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37487
37488 Change the semantics of variable hooks. They now return strings
37489 instead of error values.
f19dbdb7 37490
5f968e1e 37491 * util/i386/pc/grub-setup.c: Include grub/env.h.
37492 (setup): Use grub_device_set_root instead of grub_env_set.
37493
37494 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
37495 grub_env_get instead of grub_device_set_root and
37496 grub_device_get_root, respectively.
37497
37498 * kern/main.c (grub_env_write_root): New function.
37499 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
37500 grub_env_set instead of grub_device_set_root.
37501
37502 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
37503 many variables.
37504 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
37505 rather than calling ENV->WRITE_HOOK afterwards.
37506 (grub_env_get): Return the result of ENV->READ_HOOK rather than
37507 passing a pointer of a pointer.
37508 (grub_register_variable_hook): Change the types of "read_hook" and
37509 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
37510 respectively.
37511 Allocate the default empty string on the heap, because this string
37512 may be freed later.
37513
37514 * kern/device.c: Include grub/env.h.
37515 (grub_device_set_root): Removed.
37516 (grub_device_get_root): Likewise.
37517 (grub_device_open): Use grub_env_get instead of
37518 grub_device_get_root.
37519
37520 * include/grub/env.h (grub_env_read_hook_t): New type.
37521 (grub_env_write_hook_t): Likewise.
37522 (grub_env_var): Change the types of "read_hook" and "write_hook"
37523 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
37524 (grub_register_variable_hook): Likewise.
37525
37526 * include/grub/device.h (grub_device_set_root): Removed.
37527 (grub_device_set_root): Likewise.
37528
37529 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
37530 make sure that DIRNAME terminates with '/', so that
37531 grub_fat_find_dir will fail if PATH is not a directory.
37532
37533 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
37534 from DIRNAME.
37535 Use the qualifier auto for print_files and print_files_long.
37536 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
37537 as a regular file.
37538 Put a newline only if there is no error.
37539 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
37540 used.
37541
896f0afd 375422005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
37543
37544 * kern/partition.c (grub_partition_probe): Initialize PART to
37545 NULL. Otherwise, when no partition map is registered, this returns
37546 a garbage.
37547
b28b81b2 375482005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
37549
37550 * partmap/apple.c (apple_partition_map_iterate): Check if POS
37551 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
37552 valid.
37553
5f3607e0 375542005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
37555
37556 * commands/ls.c (grub_ls_list_disks): Print the filesystem
37557 information on each device, if it does not have partitions. Print
37558 "Device" instead of "Disk", because this function is not specific
37559 to disk devices.
37560
37561 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
37562 static to ensure that it is put on the memory rather than a
37563 register.
37564
502c87e8 375652005-07-17 Yoshinori Okuji <okuji@enbug.org>
37566
37567 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
37568 (grub_cat_init): Likewise.
37569 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
37570 (options): Likewise.
37571 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
37572 (grub_configfile_init): Likewise.
37573 * font/manager.c (GRUB_MOD_INIT): Likewise.
37574 * commands/help.c (GRUB_MOD_INIT): Likewise.
37575 (grub_help_init): Likewise.
37576 * normal/command.c (grub_command_init): Likewise.
37577 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
37578 * disk/loopback.c (grub_loop_init): Likewise.
37579 (GRUB_MOD_INIT): Likewise.
37580 * commands/ls.c (grub_ls_init): Likewise.
37581 (GRUB_MOD_INIT): Likewise.
37582 (options): Likewise.
37583 * commands/boot.c (grub_boot_init): Likewise.
37584 (GRUB_MOD_INIT): Likewise.
37585 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
37586 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
37587 (GRUB_MOD_INIT): Likewise.
37588 * commands/cmp.c (grub_cmp_init): Likewise.
37589 (GRUB_MOD_INIT): Likewise.
37590
37591 * normal/arg.c: Use <> instead of "" to include header files.
37592 (SHORT_ARG_HELP): New macro.
37593 (SHORT_ARG_USAGE): Likewise.
37594 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
37595 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
37596 descriptions.
37597 (find_short): Check if C is 'h' or 'u' explicitly.
37598 (grub_arg_show_help): Use space characters instead of tabs. Treat
37599 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
37600 are shown with --help and --usage only if they are not used for
37601 the command itself.
37602 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
37603 'h' and 'u'.
37604
37605 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
37606 const into "longarg". Change the type of "shortarg" to int.
37607
f806d18e 376082005-07-17 Yoshinori Okuji <okuji@enbug.org>
37609
37610 * boot/i386/pc/boot.S (boot_drive_check): New label.
37611
37612 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
37613 macro.
37614
37615 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
37616 which do not pass a boot drive correctly. Copied from GRUB Legacy.
37617
e293232b 376182005-07-17 Yoshinori Okuji <okuji@enbug.org>
37619
37620 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
37621 When turning off Gate A20, skip the check and return immediately,
37622 because this is not fatal usually.
37623
ebedfd00 376242005-07-17 Yoshinori Okuji <okuji@enbug.org>
37625
37626 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
37627 be 0x7C00 instead of 0x8000.
37628
37629 * boot/i386/pc/pxeboot.S: Rewritten.
37630
37631 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
37632 EXT_C.
37633 (gate_a20_check_state): Read a byte from 0x108000. Invert the
37634 result.
37635
654fc59f 376362005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
37637
37638 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
37639 robustness. This routine now supports a BIOS call and System
37640 Control Port A to modify the gate A20.
37641
37642 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
37643 Increased to 0x440.
37644
09f9923f 376452005-07-12 Hollis Blanchard <hollis@penguinppc.org>
37646
37647 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
37648 device path and resulting ihandle.
37649 (grub_ofdisk_close): dprintf the ihandle being closed.
37650 (grub_ofdisk_read): dprintf function parameters.
37651 * kern/mm.c (grub_mm_init_region): Likewise.
37652 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
37653 (grub_linux_boot): dprintf the Linux entry point, initrd address and
37654 size, and boot arguments.
37655 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
37656 before loading into memory.
37657 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
37658 before loading into memory.
37659
7ef504d8 376602005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
37661
37662 * kern/mm.c: Added much documentation.
37663 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
37664 8, set to 5 instead of 8.
37665
e0f050c2 376662005-07-10 Yoshinori Okuji <okuji@enbug.org>
37667
37668 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
37669
37670 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
37671 (grub_mkdevicemap_SOURCES): New variable.
37672
37673 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
37674 lib/device.c of GRUB Legacy.
37675
7224189a 376762005-07-10 Yoshinori Okuji <okuji@enbug.org>
37677
37678 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
37679 instead of PATH is NULL.
37680
68c864eb 376812005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
37682
37683 * commands/cmp.c (BUFFER_SIZE): New macro.
37684 (grub_cmd_cmp): Close the right file at the right time. Compare
37685 only data just read. Don't report files of different size as
37686 identical. Dynamically allocate buffers. Move variable
37687 declarations at the beginning of function.
37688
e6f3e614 376892005-07-09 Yoshinori Okuji <okuji@enbug.org>
37690
37691 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
37692 reverse.
37693
f8f1559a 376942004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
37695
37696 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
37697 when backspace is pressed at beginning of line.
37698
39c9d41d 376992005-07-03 Yoshinori Okuji <okuji@enbug.org>
37700
37701 * DISTLIST: Added genfslist.sh.
37702
37703 * normal/main.c (fs_module_list): New variable.
37704 (autoload_fs_module): New function.
37705 (read_fs_list): Likewise.
37706 (grub_normal_execute): Call read_fs_list.
37707
37708 * kern/fs.c (grub_fs_autoload_hook): New variable.
37709 (grub_fs_probe): Added support for auto-loading.
37710
37711 * include/grub/normal.h (struct grub_fs_module_list): New struct.
37712 (grub_fs_module_list_t): New type.
37713
37714 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
37715 (grub_fs_autoload_hook): New prototype.
37716
37717 * genfslist.sh: New file.
f19dbdb7 37718
39c9d41d 37719 * genmk.rb: Added a rule to generate a filesystem list.
37720
121c1d83 377212005-06-30 Marco Gerards <metgerards@student.han.nl>
37722
37723 * configure.ac: Fix the test for cross-compiling.
37724
37725 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
37726 define GRUB_UTIL anymore.
37727
37728 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
37729 so this function works on other systems than just big endian.
37730 (load_modules): Likewise.
37731 (add_segments): Likewise.
37732
e75d76e1 377332005-06-23 Hollis Blanchard <hollis@penguinppc.org>
37734
37735 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
37736 contains `l' modifier, get a long from va_arg().
37737
50b5a0a7 377382005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
37739
37740 * kern/mm.c (grub_free): If the next free block which is being
37741 merged is the first free block, set the first block to the block
37742 being freed.
37743 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
37744
89371b20 377452005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37746
37747 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
37748 `grub_ieee1275_chosen'.
37749
168d6e58 377502005-05-08 Hollis Blanchard <hollis@penguinppc.org>
37751
37752 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
37753 (grub_ieee1275_chosen): New variable.
37754 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
37755 `chosen'.
37756 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
37757 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
37758 Rename first argument to `phandle' for consistency.
37759 (grub_ieee1275_get_property_length): Likewise.
37760 (grub_ieee1275_next_property): Likewise. Change type of first argument
37761 to grub_ieee1275_phandle_t.
37762 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
37763 Move export next to declaration.
37764 (grub_ieee1275_chosen): New variable.
37765 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
37766 Correct cosmetic typo.
37767 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
37768 `grub_ieee1275_chosen'.
37769 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
37770 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
37771 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
37772 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
37773 `grub_ieee1275_chosen'.
37774
ca5baa3f 377752005-05-10 Hollis Blanchard <hollis@penguinppc.org>
37776
37777 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
37778 /chosen/bootargs.
37779 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
37780 /chosen/bootargs as "variable=value" pairs.
37781
708b345f 377822005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
37783
37784 * include/grub/misc.h (grub_dprintf): New macro.
37785 (grub_real_dprintf): New prototype.
37786 (grub_strword): Likewise.
37787 (grub_iswordseparator): Likewise.
37788 * kern/misc.c (grub_real_dprintf): New function.
37789 (grub_strword): Likewise.
37790 (grub_iswordseparator): Likewise.
37791
f4c5e67c 377922005-04-30 Hollis Blanchard <hollis@penguinppc.org>
37793
37794 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
37795 (roundup): Remove macro.
37796 (grub_ieee1275_flags): Make static.
37797 (grub_ieee1275_realmode): Remove.
37798 (grub_ieee1275_test_flag): New function.
37799 (grub_ieee1275_set_flag): Likewise.
37800 (find_options): Rename to `grub_ieee1275_find_options'; update
37801 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
37802 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
37803 (cmain): New prototype.
37804 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
37805 `grub_ieee1275_flags' directly.
37806 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
37807 machine/biosdisk.h.
37808 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
37809 Don't include grub/machine/init.h.
37810 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
37811 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
37812 Remove prototype.
37813 (grub_ieee1275_realmode): Likewise.
37814 (grub_ieee1275_flag): New enum.
37815 (grub_ieee1275_test_flag): New prototype.
37816 (grub_ieee1275_set_flag): New prototype.
37817 * include/grub/powerpc/ieee1275/init.h: Remove file.
37818 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
37819 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
37820 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
37821 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
37822 comment.
37823 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
37824 `grub_ieee1275_test_flag'.
37825 (grub_ieee1275_encode_devname): Likewise.
37826
ed16607e 378272005-04-21 Hollis Blanchard <hollis@penguinppc.org>
37828
37829 * include/grub/powerpc/ieee1275/ieee1275.h
37830 (grub_ieee1275_encode_devname): New prototype.
37831 (grub_ieee1275_get_filename): Likewise.
37832 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
37833 function.
37834 (grub_set_prefix): Likewise.
37835 (grub_machine_init): Call grub_set_prefix.
37836 * kern/powerpc/ieee1275/openfw.c: Fix typos.
37837 (grub_parse_type): New enum.
37838 (grub_ieee1275_get_devargs): New function.
37839 (grub_ieee1275_get_devname): Likewise.
37840 (grub_ieee1275_parse_args): Likewise.
37841 (grub_ieee1275_get_filename): Likewise.
37842 (grub_ieee1275_encode_devname): Likewise.
37843
be369920 378442005-03-30 Marco Gerards <metgerards@student.han.nl>
37845
37846 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
37847 `grub_loader_unset'.
37848
a5ce3a4a 378492005-03-26 Hollis Blanchard <hollis@penguinppc.org>
37850
37851 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
37852 instead of grub_ieee1275_interpret.
37853 (grub_halt_init): New function.
37854 (grub_halt_fini): Likewise.
37855 (GRUB_MOD_INIT): Correct message grammar.
37856 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
37857 instead of grub_ieee1275_interpret.
37858 (grub_reboot_init): New function.
37859 (grub_reboot_fini): Likewise.
37860 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
37861 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
37862 util/i386/pc/misc.c with commands/ieee1275/halt.c,
37863 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
37864 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
37865 function.
37866 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
37867 Add prototype.
37868 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
37869 prototype.
37870 (grub_halt): Likewise.
37871 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
37872 (cmain): Remove __attribute__((unused)).
37873 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
37874 (grub_heap_len): Likewise.
37875 (grub_machine_fini): New function.
37876 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
37877 (grub_halt): Likewise.
37878 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
37879 function.
37880 * util/powerpc/ieee1275/misc.c: New file.
37881
0058f771 378822005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
37883
37884 * DISTLIST: New file.
37885 * gendistlist.sh: Likewise.
f19dbdb7 37886
0058f771 37887 * Makefile.in (COMMON_DISTFILES): Removed.
37888 (BOOT_DISTFILES): Likewise.
37889 (CONF_DISTFILES): Likewise.
37890 (DISK_DISTFILES): Likewise.
37891 (FS_DISTFILES): Likewise.
37892 (INCLUDE_DISTFILES): Likewise.
37893 (KERN_DISTFILES): Likewise.
37894 (LOADER_DISTFILES): Likewise.
37895 (TERM_DISTFILES): Likewise.
37896 (UTIL_DISTFILES): Likewise.
37897 (DISTFILES): Likewise.
37898 (uninstall): Uninstall files in $(pkgdata_DATA).
37899 (DISTLIST): New target.
37900 (distdir): Use the contents of the file DISTLIST to get a list of
37901 distributed files.
37902
46b3b8a5 379032005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
37904
37905 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
37906 descriptor. This is ported from GRUB Legacy.
37907
37908 * gencmdlist.sh: Added an extra semicolon to make it work with
37909 old sed versions. Reported by Robert Bihlmeyer
37910 <robbe@orcus.priv.at>.
37911
5822ff87 379122005-03-08 Yoshinori Okuji <okuji@enbug.org>
37913
37914 Automatic loading of commands is supported.
f19dbdb7 37915
5822ff87 37916 * normal/main.c (read_command_list): New function.
37917 (grub_normal_execute): Call read_command_list.
37918
37919 * normal/command.c (grub_register_command): Return zero or CMD.
37920 Allocate CMD->NAME from the heap.
37921 Initialize CMD->MODULE_NAME to zero.
37922 Find the same name as well. If the same command is found and it is
37923 a dummy command, overwrite members. If it is not a dummy command,
37924 return zero.
37925 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
37926 (grub_command_find): If a dummy command is found, load a module
37927 and retry to find a command only once.
37928
37929 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
37930 make sure that each command is loaded.
37931
37932 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
37933 macro.
37934 (struct grub_command): Remove const from the member `name'.
37935 Add a new member `module_name'.
37936 (grub_register_command): Return grub_command_t.
37937
37938 * commands/help.c (grub_cmd_help): Call grub_command_find to make
37939 sure that each command is loaded.
37940
37941 * genmk.rb (PModule::rule): Specify a module name without the
37942 suffix ".mod" to gencmdlist.sh.
37943
7b1f4b57 379442005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37945
37946 * gencmdlist.sh: New file.
f19dbdb7 37947
7b1f4b57 37948 * genmk.rb (PModule::rule): Generate a rule for a command list.
37949 Clean command.lst.
37950 Generate command.lst from $(COMMANDFILES).
37951
37952 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
37953 (DATA): Added $(pkgdata_DATA).
37954 (install-local): Install files in $(pkgdata_DATA).
37955
062aaf39 379562005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
37957
37958 * term/i386/pc/vga.c (debug_command): Removed.
37959 (GRUB_MOD_INIT): Do not register the command "debug".
37960
37961 From Hollis Blanchard:
37962 * commands/configfile.c: New file.
37963 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
37964 commands/configfile.c.
37965 (pkgdata_MODULES): Added configfile.mod.
37966 (configfile_mod_SOURCES): New variable.
37967 (configfile_mod_CFLAGS): Likewise.
37968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
37969 commands/configfile.c.
37970 (pkgdata_MODULES): Added configfile.mod.
37971 (configfile_mod_SOURCES): New variable.
37972 (configfile_mod_CFLAGS): Likewise.
37973 * util/grub-emu.c (main): Call grub_configfile_init and
37974 grub_configfile_fini.
37975 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
37976 prototype.
37977 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 37978
cee01aa6 379792005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
37980
37981 * normal/arg.c (grub_arg_show_help): Do not show the bug report
37982 address.
37983
37984 * commands/help.c (grub_cmd_help): Do not print newlines after
37985 the last command in print_command_help.
37986
93f3a1d8 379872005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
37988
37989 * commands/default.h: New file.
37990 * commands/timeout.h: Likewise.
37991 * normal/context.c: Likewise.
f19dbdb7 37992
93f3a1d8 37993 * util/misc.c: Do not include sys/times.h.
37994 Include sys/time.h and grub/machine/time.h.
37995 (grub_get_rtc): Rewritten with gettimeofday.
37996
37997 * util/grub-emu.c (main): Call grub_default_init and
37998 grub_timeout_init before grub_normal_init, and call
37999 grub_timeout_fini and grub_default_fini after grub_main.
38000
38001 * util/console.c (grub_ncurses_checkkey): Return the read
38002 character or -1.
38003
38004 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
38005 timeouts.
38006
38007 * normal/main.c (read_config_file): Push MENU. If this fails,
38008 print an error and wait for a user input.
38009 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
38010 If a menu is empty or an error occurs, pop MENU.
38011 (grub_normal_execute): Pop and free MENU after grub_menu_run
38012 returns.
38013
38014 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
38015
38016 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
38017 include time.h.
38018 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38019 without GRUB_UTIL.
38020 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
38021 time.h.
38022 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
38023 without GRUB_UTIL.
38024
38025 * include/grub/normal.h (struct grub_menu_list): New struct.
38026 (grub_menu_list_t): New type.
38027 (struct grub_context): New struct.
38028 (grub_context_t): New type.
38029 (grub_register_command): Got rid of EXPORT_FUNC.
38030 (grub_unregister_command): Likewise.
38031 (grub_context_get): New prototype.
38032 (grub_context_get_current_menu): Likewise.
38033 (grub_context_push_menu): Likewise.
38034 (grub_context_pop_menu): Likewise.
38035 [GRUB_UTIL] (grub_default_init): Likewise.
38036 [GRUB_UTIL] (grub_default_fini): Likewise.
38037 [GRUB_UTIL] (grub_timeout_init): Likewise.
38038 [GRUB_UTIL] (grub_timeout_fini): Likewise.
38039
38040 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
38041 commands/timeout.c and normal/context.c.
38042 (pkgdata_MODULES): Added default.mod and timeout.mod.
38043 (normal_mod_SOURCES): Added normal/context.c.
38044 (default_mod_SOURCES): New variable.
38045 (default_mod_CFLAGS): Likewise.
38046 (timeout_mod_SOURCES): Likewise.
38047 (timeout_mod_CFLAGS): Likewise.
38048 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
38049 conf/i386-pc.rmk.
38050 (pkgdata_MODULES): Added default.mod and timeout.mod.
38051 (normal_mod_SOURCES): Added normal/context.c.
38052 (default_mod_SOURCES): New variable.
38053 (default_mod_CFLAGS): Likewise.
38054 (timeout_mod_SOURCES): Likewise.
38055 (timeout_mod_CFLAGS): Likewise.
38056
38057 * Makefile.in (all-local): Added $(MKFILES).
38058
4ed2e1dd 380592005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
38060
38061 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
38062 (grub_emu_SOURCES): Likewise.
38063 (pkgdata_MODULES): Add `sun.mod'.
38064 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38065 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38066 `partmap/sun.c'.
38067 (pkgdata_MODULES): Add `sun.mod'.
38068 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
38069 * include/grub/partition.h (grub_sun_partition_map_init): New
38070 prototype.
38071 (grub_sun_partition_map_fini): Likewise.
38072 * partmap/sun.c: New file.
38073 * util/grub-emu.c (main): Initialize and de-initialize the sun
38074 partitionmap support.
38075
4d4e372e 380762005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
38077
38078 This implements an Emacs-like menu entry editor.
f19dbdb7 38079
4d4e372e 38080 * normal/menu_entry.c: New file.
f19dbdb7 38081
4d4e372e 38082 * util/console.c (grub_ncurses_putchar): Translate some Unicode
38083 characters to ASCII.
38084 (saved_char): New variable.
38085 (grub_ncurses_checkkey): Rewritten completely.
38086 (grub_ncurses_getkey): Likewise.
38087 (grub_ncurses_init): Call raw instead of cbreak.
38088
38089 * normal/menu.c (print_entry): Do not put a space.
38090 (init_page): Renamed to ...
38091 (grub_menu_init_page): ... this. All callers changed.
38092 (edit_menu_entry): Removed.
38093 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
38094
38095 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
38096
38097 * kern/misc.c (grub_vprintf): Call grub_refresh.
38098
38099 * normal/menu.c (DISP_LEFT): Renamed to ...
38100 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
38101 * normal/menu.c (DISP_UP): Renamed to ...
38102 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
38103 * normal/menu.c (DISP_RIGHT): Renamed to ...
38104 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
38105 * normal/menu.c (DISP_DOWN): Renamed to ...
38106 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
38107 * normal/menu.c (DISP_HLINE): Renamed to ...
38108 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
38109 * normal/menu.c (DISP_VLINE): Renamed to ...
38110 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
38111 * normal/menu.c (DISP_UL): Renamed to ...
38112 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
38113 * normal/menu.c (DISP_UR): Renamed to ...
38114 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
38115 * normal/menu.c (DISP_LL): Renamed to ...
38116 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
38117 * normal/menu.c (DISP_LR): Renamed to ...
38118 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
38119 * normal/menu.c (TERM_WIDTH): Renamed to ...
38120 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
38121 * normal/menu.c (TERM_HEIGHT): Renamed to ...
38122 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
38123 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
38124 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
38125 * normal/menu.c (TERM_MARGIN): Renamed to ...
38126 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
38127 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
38128 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
38129 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
38130 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
38131 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
38132 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
38133 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
38134 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
38135 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
38136 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
38137 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
38138 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
38139 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
38140 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
38141 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
38142 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
38143 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
38144 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
38145 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
38146 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
38147 All callers changed.
38148
38149 * include/grub/normal.h: New prototype.
38150
38151 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38152 normal/menu_entry.c.
38153 (normal_mod_SOURCES): Likewise.
38154 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38155 (normal_mod_SOURCES): Likewise.
38156
e6b92c8a 381572005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
38158
38159 * include/grub/normal.h (grub_halt_init): New prototype.
38160 (grub_halt_fini): Likewise.
38161 (grub_reboot_init): Likewise.
38162 (grub_reboot_fini): Likewise.
38163
38164 * util/grub-emu.c: Include signal.h.
38165 (main_env): New global variable.
38166 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
38167 catch C-c.
38168 (grub_machine_fini): New function.
38169 (main): Call grub_halt_init and grub_reboot_init before
38170 grub_main, and grub_reboot_fini and grub_halt_fini after it.
38171 Call setjmp with MAIN_ENV to go back afterwards.
38172 Call grub_machine_fini right before return.
38173
38174 * include/grub/util/misc.h: Include setjmp.h.
38175 (main_env): New prototype.
38176
38177 * include/grub/kernel.h (grub_machine_fini): New prototype.
38178 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
38179 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
38180
38181 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
38182 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
38183 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 38184
e6b92c8a 38185 * util/i386/pc/misc.c: New file.
f19dbdb7 38186
e6b92c8a 38187 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
38188 util/i386/pc/misc.c, commands/i386/pc/halt.c and
38189 commands/i386/pc/reboot.c.
38190
c642636f 381912005-02-14 Guillem Jover <guillem@hadrons.org>
38192
38193 * include/grub/dl.h (grub_dl_check_header): New prototype.
38194 (grub_arch_dl_check_header): Change return type to grub_err_t,
38195 remove size parameter and export function. Update all callers.
38196 * kern/dl.c (grub_dl_check_header): New function.
38197 (grub_dl_load_core): Use `grub_dl_check_header' instead of
38198 `grub_arch_dl_check_header'. Check ELF type. Check if sections
38199 are inside the core.
38200 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
38201 independent ELF header checks.
38202 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38203 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
38204 `grub_dl_check_header' instead of explicit checks. Check for the
38205 ELF type.
38206 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
38207 `grub_dl_check_header' instead of explicit checks. Remove arch
38208 specific ELF header checks.
38209
e6b92c8a 38210 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
38211 argument SIZE.
38212
5eabe94b 382132005-02-13 Hollis Blanchard <hollis@penguinppc.org>
38214
38215 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
38216 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
38217
1b14a681 382182005-02-12 Hollis Blanchard <hollis@penguinppc.org>
38219
38220 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 38221 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 38222 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 38223 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 38224 * partmap/amiga.c (amiga_partition_map_iterate): Return
38225 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
38226 * partmap/apple.c (apple_partition_map_iterate): Likewise.
38227
aca108aa 382282005-02-01 Guillem Jover <guillem@hadrons.org>
38229
38230 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
38231 help info.
38232
c9f9c556 382332005-01-31 Marco Gerards <metgerards@student.han.nl>
38234
38235 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
38236 Removed prototype.
38237 (grub_rescue_cmd_linux): New prototype.
38238 (grub_rescue_cmd_initrd): Likewise.
38239 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
38240 `bi_rec'.
38241 (grub_linux_release_mem): Release the memory for the initrd.
38242 (grub_load_linux): Renamed from this...
38243 (grub_rescue_cmd_linux): ...To this. Changed all callers.
38244 Changed `entry' not to be static. Loop over memory regions to
38245 find another one when the default fails.
38246 (grub_rescue_cmd_initrd): New function.
38247 (grub_linux_init): Remove function.
38248 (grub_linux_fini): Likewise.
38249 (GRUB_MOD_INIT): Register `initrd'.
38250 (GRUB_MOD_FINI): Unregister `initrd'.
38251 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
38252 Function removed.
38253 (grub_linux_normal_fini): Likewise.
38254 (GRUB_MOD_INIT): Register `initrd'.
38255 (GRUB_MOD_FINI): Unregister `initrd'.
38256
990cf3aa 382572005-01-31 Marco Gerards <metgerards@student.han.nl>
38258
38259 * commands/help.c: New file.
38260 * normal/arg.c (show_help): Renamed to...
38261 (grub_arg_show_help): ... this.
38262 * commands/i386/pc/halt.c: New file.
38263 * commands/i386/pc/reboot.c: Likewise.
38264 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
38265 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
38266 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
38267 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
38268 variables.
38269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38270 `commands/help.c'.
38271 (pkgdata_MODULES): Add `help.mod'.
38272 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
38273 * grub/i386/pc/init.h (grub_reboot): New prototype.
38274 (grub_halt): Likewise.
38275 * include/grub/normal.h (grub_arg_show_help): New prototype.
38276 (grub_help_init): Likewise.
38277 (grub_help_fini): Likewise.
38278 * util/grub-emu.c (main): Initialize and deinitialize the help
38279 command.
38280
38281 * normal/cmdline.c (grub_cmdline_get): Doc fix.
38282
38283 * normal/command.c (grub_command_init): Fixed the description of
38284 the `set' and `unset' commands.
38285
382862005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 38287
38288 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
38289 function.
38290 * commands/ieee1275/halt.c: New file.
38291 * commands/ieee1275/reboot.c: Likewise.
38292 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
38293 `__attribute__ ((unused))'. Some GCS related fixed.
38294 (grub_suspend_init) [GRUB_UTIL]: Function removed.
38295 (grub_suspend_fini): Likewise.
38296 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
38297 and `halt.mod'.
38298 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
38299 (halt_mod_CFLAGS): New variables.
38300 * include/grub/powerpc/ieee1275/ieee1275.h
38301 (grub_ieee1275_interpret): New prototype.
38302
1ab09cc7 383032005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
38304
38305 * include/grub/misc.h (memmove): New prototype.
38306 (memcpy): Likewise.
38307
8b8cbdb2 383082005-01-22 Hollis Blanchard <hollis@penguinppc.org>
38309
38310 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
38311 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
38312
e3741a27 383132005-01-22 Marco Gerards <metgerards@student.han.nl>
38314
38315 * kern/misc.c (grub_strndup): Function rewritten.
38316
776bd780 383172005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
38318
38319 * normal/menu.c (TERM_WIDTH): Macro redefined.
38320 (TERM_TOP_BORDER_Y): Likewise.
38321 (draw_border): Replaced while-loop by a for-loop. Make the number
38322 of lines consistent with the number of lines displayed in
38323 print_entries. Added a margin below the rectangle.
38324 (print_entry): Make the entry fit in the rectangle.
38325 (print_entries): Display the scroll arrows next to the right
38326 border.
38327
78026bce 383282005-01-21 Marco Gerards <metgerards@student.han.nl>
38329
38330 * fs/minix.c (grub_minix_find_file): Reserve more space for
38331 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
38332 `grub_strncpy' to copy `path' into it.
38333
67bbaf0f 383342005-01-21 Marco Gerards <metgerards@student.han.nl>
38335
38336 Add the loopback device, a device via which files can be accessed
38337 as devices.
f19dbdb7 38338
67bbaf0f 38339 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
38340 (pkgdata_MODULES): Add loopback.mod.
38341 (loopback_mod_SOURCES): New variable.
38342 (loopback_mod_CFLAGS): Likewise.
38343 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
38344 `disk/loopback.c'.
38345 (pkgdata_MODULES): Add loopback.mod.
38346 (loopback_mod_SOURCES): New variable.
38347 (loopback_mod_CFLAGS): Likewise.
38348 * disk/loopback.c: new file.
38349 * include/grub/normal.h (grub_loop_init): New prototype.
38350 (grub_loop_fini): New prototype.
38351 * util/grub-emu.c (main): Initialize and de-initialize loopback
38352 support.
38353 * include/grub/disk.h (grub_disk_dev_id): Add
38354 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
38355
6f1c18bd 383562005-01-20 Hollis Blanchard <hollis@penguinppc.org>
38357
38358 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
38359 function.
38360 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
38361 (suspend_mod_SOURCES): New variable.
38362 (suspend_mod_CFLAGS): Likewise.
38363 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
38364 New prototype.
38365 * commands/ieee1275/suspend.c: New file.
38366
b38551da 383672005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
38368
38369 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 38370 ((unused))' to `__attribute__ ((used))'.
b38551da 38371 (GRUB_MOD_FINI): Likewise.
38372 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
38373 * genmk.rb (PModule): Assign space to common symbols when linking
38374 modules.
38375
777aff39 383762005-01-20 Marco Gerards <metgerards@student.han.nl>
38377
38378 * include/grub/mm.h (grub_mm_init_region): Change the type of the
38379 `unsigned' arguments to `grub_size_t'.
38380 (grub_malloc): Likewise.
38381 (grub_realloc): Likewise.
38382 (grub_memalign): Likewise.
38383 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
38384 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
38385 * util/misc.c (grub_malloc): Likewise.
38386 (grub_realloc): Likewise.
38387 * kern/mm.c (get_header_from_pointer): Change the casts to
38388 `unsigned' into a cast to `grub_size_t'.
38389
38390 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
38391 point to `currnode' when `currnode' is changed.
38392
38393 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
38394 Schottelius <nico-linux@schottelius.org>.
38395
d0ff18e1 383962005-01-09 Hollis Blanchard <hollis@penguinppc.org>
38397
38398 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
38399 (note_path): Remove variable.
38400 (GRUB_IEEE1275_NOTE_NAME): New macro.
38401 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
38402 (grub_ieee1275_note_hdr): New structure.
38403 (grub_ieee1275_note_desc): Likewise.
38404 (grub_ieee1275_note): Likewise.
38405 (load_note): Remove `dir' argument. All callers updated. Remove
38406 `note_img' and `path'. Do not load a file from `note_path'.
38407 Initialize a struct grub_ieee1275_note and write that to `out'.
38408 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
38409
4ca7004c 384102005-01-05 Marco Gerards <metgerards@student.han.nl>
38411
38412 * util/misc.c (grub_util_read_image): Revert last change. It
38413 called `grub_util_read_at', which seeks from the beginning of the
38414 file.
38415
0b412211 384162005-01-04 Hollis Blanchard <hollis@penguinppc.org>
38417
38418 * TODO: Add note about endianness in grub-mkimage.
38419 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
38420 section.
38421 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
38422 (grub_mkimage_SOURCES): New target.
38423 * include/grub/kernel.h (grub_start_addr): Remove variable.
38424 (grub_end_addr): Likewise.
38425 (grub_total_module_size): Likewise.
38426 (grub_kernel_image_size): Likewise.
38427 (GRUB_MODULE_MAGIC): New constant.
38428 (grub_module_info): New structure.
38429 (grub_arch_modules_addr): New prototype.
38430 (grub_get_end_addr): Remove prototype.
38431 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
38432 * include/grub/powerpc/ieee1275/kernel.h: New file.
38433 * include/grub/util/misc.h (grub_util_get_fp_size): New
38434 prototype.
38435 (grub_util_read_at): Likewise.
38436 (grub_util_write_image_at): Likewise.
38437 * kern/main.c (grub_get_end_addr): Remove function.
38438 (grub_load_modules): Call grub_arch_modules_addr instead of using
38439 grub_end_addr. Look for a grub_module_info struct in memory. Use
38440 the grub_module_info fields instead of calling grub_get_end_addr
38441 as loop conditions. Move grub_add_unused_region code here.
38442 (grub_add_unused_region): Remove function.
38443 * kern/i386/pc/init.c: Include grub/cache.h.
38444 (grub_machine_init): Remove call to grub_get_end_addr. Remove
38445 one call to add_mem_region.
38446 (grub_arch_modules_addr): New function.
38447 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
38448 (grub_total_module_size): Likewise.
38449 Include grub/machine/kernel.h.
38450 (grub_arch_modules_addr): New function.
38451 * util/grub-emu.c (grub_end_addr): Remove variable.
38452 (grub_total_module_size): Likewise.
38453 (grub_arch_modules_addr): New function.
38454 * util/misc.c: Include unistd.h.
38455 (grub_util_get_fp_size): New function.
38456 (grub_util_read_at): Likewise.
38457 (grub_util_write_image_at): Likewise.
38458 (grub_util_read_image): Call grub_util_read_at.
38459 (grub_util_write_image): Call grub_util_write_image_at.
38460 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
38461 additional memory in kernel_img for a struct grub_module_info.
38462 Fill in that grub_module_info.
38463 * util/powerpc/ieee1275/grub-mkimage.c: New file.
38464
458786f8 384652005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38466
38467 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
38468 New function.
38469 * include/grub/powerpc/ieee1275/ieee1275.h
38470 (grub_ieee1275_milliseconds): New prototype.
38471 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
38472 Change to 1000.
38473 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
38474 grub_ieee1275_milliseconds.
38475
ac507d1b 384762005-01-03 Hollis Blanchard <hollis@penguinppc.org>
38477
38478 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
38479 variable.
38480 (find_options): New function.
38481 (cmain): Call find_options.
38482 * include/grub/powerpc/ieee1275/ieee1275.h
38483 (grub_ieee1275_realmode): New extern variable.
38484 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
38485 grub_map if grub_ieee1275_realmode is false.
38486
6b8fd1c4 384872004-12-29 Marco Gerards <metgerards@student.han.nl>
38488
38489 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
38490 lines are inserted and make it work like readline. Reported by
38491 Vincent Pelletier <subdino2004@yahoo.fr>.
38492
8514a1e0 384932004-12-28 Marco Gerards <metgerards@student.han.nl>
38494
38495 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
38496
38497 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
38498 `kern/powerpc/cache.S'.
38499
924b6140 385002004-12-27 Marco Gerards <metgerards@student.han.nl>
38501
38502 * genmk.rb: Handle the `Program' class in the main loop. Written
38503 by Johan Rydberg <jrydberg@gnu.org>.
38504 (Program): New class.
38505 (programs): New variable.
38506 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
38507 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
38508 instead of "grub/kernel.h". Include <grub/machine/init.h>.
38509 (help_arch): Function removed.
38510 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
38511 `powerpc/libgcc.h' and `loader.h'.
38512 (pkgdata_PROGRAMS): New variable.
38513 (sbin_UTILITIES): Variable removed.
38514 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
38515 (grubof_SOURCES): Variable re-defined so it only includes the
38516 core functionality.
38517 (grubof_CFLAGS): Remove `-DGRUBOF'.
38518 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
38519 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
38520 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
38521 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
38522 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
38523 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
38524 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
38525 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
38526 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
38527 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
38528 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
38529 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
38530 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
38531 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
38532 (pc_mod_CFLAGS): New variables.
38533 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
38534 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
38535 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
38536 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
38537 Moved from here...
38538 * include/grub/i386/pc/init.h (grub_os_area_addr)
38539 (rub_os_area_size): ... to here.
38540 * include/grub/powerpc/ieee1275/ieee1275.h
38541 (grub_ieee1275_entry_fn): Export symbol.
38542 * include/grub/powerpc/ieee1275/init.h: New file.
38543 * include/grub/powerpc/libgcc.h: Likewise.
38544 * include/grub/cache.h: Likewise.
38545 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
38546 <hollis@penguinppc.org>.
38547 * kern/dl.c: Include <grub/cache.h>.
38548 (grub_dl_flush_cache): New function.
38549 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
38550 for this module.
38551 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
38552 (grub_console_init): Removed prototypes.
38553 (grub_machine_init): Don't initialize the modules anymore.
38554 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
38555 static.
38556 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
38557 Macro undef removed.
38558 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
38559 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
38560 relocation `R_PPC_REL32'. Return an error when the relocation is
38561 unknown.
38562 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
38563 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
38564 * util/misc.c (grub_arch_sync_caches): Likewise.
38565
e4b47e0c 385662004-12-19 Marco Gerards <metgerards@student.han.nl>
38567
38568 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
38569 `symlist.c', add `grubof_symlist.c'.
38570 (symlist.c): Variable removed.
38571 (grubof_HEADERS): Variable added.
38572 (grubof_symlist.c): New target.
38573 (kernel_syms.lst): Use `grubof_HEADERS' instead of
38574 `kernel_img_HEADERS'.
38575 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
38576 * kern/powerpc/dl.c: New file.
38577 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
38578 Function removed.
38579 (grub_arch_dl_relocate_symbols): Likewise.
38580 (grub_register_exported_symbols): Likewise.
38581
4ceb3636 385822004-12-13 Marco Gerards <metgerards@student.han.nl>
38583
38584 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
38585 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
38586 to fail instead. Reported by Vincent Pelletier
38587 <subdino2004@yahoo.fr>.
38588
38589 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
38590 it is not allocated. Reported by Vincent Pelletier
38591 <subdino2004@yahoo.fr>.
38592
38593 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
38594 output so the output looks better.
f19dbdb7 38595
3f1578fe 385962004-12-04 Marco Gerards <metgerards@student.han.nl>
38597
38598 Modulize the partition map support and add support for the amiga
38599 partition map.
f19dbdb7 38600
3f1578fe 38601 * commands/ls.c: Include <grub/partition.h> instead of
38602 <grub/machine/partition.h>.
38603 * kern/disk.c: Likewise.
38604 * kern/rescue.c: Likewise.
38605 * loader/i386/pc/chainloader.c: Likewise.
38606 * normal/cmdline.c: Likewise.
38607 * kern/powerpc/ieee1275/init.c: Likewise.
38608 (grub_machine_init): Call `grub_pc_partition_map_init',
38609 `grub_amiga_partition_map_init' and
38610 `grub_apple_partition_map_init'.
38611 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
38612 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
38613 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
38614 `partition.h' and `pc_partition.h'.
38615 (grub_setup_SOURCES): Remove
38616 `disk/i386/pc/partition.c'. Add `kern/partition.c',
38617 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38618 (grub_emu_SOURCES): Likewise.
38619 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
38620 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
38621 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
38622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38623 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
38624 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
38625 (grubof_SOURCES): Likewise.
38626 * disk/i386/pc/partition.c: File removed.
38627 * disk/powerpc/ieee1275/partition.c: Likewise.
38628 * include/grub/powerpc/ieee1275/partition.h: Likewise.
38629 * include/grub/i386/pc/partition.h: Likewise.
38630 * kern/partition.c: New file.
38631 * partmap/amiga.c: Likewise.
38632 * partmap/apple.c: Likewise.
38633 * partmap/pc.c: Likewise.
38634 * include/grub/partition.h: Likewise..
38635 * include/grub/pc_partition.h: Likewise.
38636 * util/grub-emu.c: Include <grub/partition.h> instead of
38637 <grub/machine/partition.h>.
38638 (main): Call `grub_pc_partition_map_init',
38639 `grub_amiga_partition_map_init' and
38640 `grub_apple_partition_map_init' and deinitialize afterwards.
38641 * util/i386/pc/biosdisk.c: Include `#include
38642 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38643 `<grub/machine/partition.h>'.
38644 * util/i386/pc/grub-setup.c: Likewise.
38645 * util/i386/pc/biosdisk.c: Likewise.
38646 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
38647 partition information in case of a PC partition.
38648 * util/i386/pc/grub-setup.c: Include `#include
38649 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
38650 `<grub/machine/partition.h>'.
38651 (setup): Only access the PC specific partition information in case
38652 of a PC partition.
38653
0ef4ced9 386542004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 38655
0ef4ced9 38656 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
38657 (grub_longjmp): Likewise.
38658 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
38659 20.
38660 * normal/powerpc/setjmp.S: New file.
38661 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
38662 `normal/powerpc/setjmp.S'.
38663 (grubof_CFLAGS): Add `-DGRUBOF'.
38664 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
38665 [GRUB_UTIL && !GRUBOF].
f19dbdb7 38666
19950e29 386672004-11-16 Marco Gerards <metgerards@student.han.nl>
38668
38669 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
38670 property named `name'. Correctly handle the error returned by
38671 `grub_ieee1275_finddevice' if a device can not be opened.
38672
a2fea427 386732004-11-02 Hollis Blanchard <hollis@penguinppc.org>
38674
38675 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
38676 `actual' for negativity.
38677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
38678 kern/fshelp.c.
38679
41ea0ea3 386802004-11-01 Marco Gerards <metgerards@student.han.nl>
38681
38682 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
38683 (PAGE_OFFSET): New macro.
38684 (CRTC_ADDR_PORT): Likewise.
38685 (CRTC_DATA_PORT): Likewise.
38686 (START_ADDR_HIGH_REGISTER): Likewise.
38687 (START_ADDR_LOW_REGISTER): Likewise.
38688 (GRAPHICS_ADDR_PORT): Likewise.
38689 (GRAPHICS_DATA_PORT): Likewise.
38690 (READ_MAP_REGISTER): Likewise.
38691 (INPUT_STATUS1_REGISTER): Likewise.
38692 (INPUT_STATUS1_VERTR_BIT): Likewise.
38693 (page): New variable.
38694 (wait_vretrace): New function.
38695 (set_read_map): Likewise.
38696 (set_start_address): Likewise.
38697 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
38698 the right page.
38699 (check_vga_mem): Take the page into account.
38700 (write_char): Likewise.
38701 (write_cursor): Likewise.
38702 (scroll_up): Likewise. Copy the page to the page that is not
38703 shown and switch between both pages.
38704 (grub_vga_putchar): Fix off by one error.
38705 (grub_vga_cls): Wait for the vertical retrace. Take the page into
38706 account.
38707
ad0bd20b 387082004-11-01 Marco Gerards <metgerards@student.han.nl>
38709
38710 Add support for iso9660 (including rockridge).
f19dbdb7 38711
ad0bd20b 38712 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38713 (iso9660_mod_SOURCES): New variable.
38714 (iso9660_mod_CFLAGS): Likewise.
38715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
38716 * include/grub/fs.h (grub_iso9660_init): New prototype.
38717 * util/grub-emu.c (main): Call `grub_iso9660_init'.
38718 * fs/iso9660.c: New file.
38719
38720 * include/grub/misc.h (grub_strncat): New prototype.
38721 * kern/misc.c (grub_strncat): New function.
f19dbdb7 38722
ad0bd20b 38723 * fs/hfs.c (grub_hfs_mount): Translate the error
38724 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
38725 * fs/jfs.c (grub_jfs_mount): Likewise.
38726 * fs/ufs.c (grub_ufs_mount): Likewise.
38727
a5477a59 387282004-10-28 Hollis Blanchard <hollis@penguinppc.org>
38729
38730 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
38731 which initialized BAT registers.
38732 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
38733 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38734 Move from here...
38735 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
38736 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
38737 ... to here.
38738 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
38739 (grub_mapclaim): Likewise.
38740 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
38741 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
38742 hand.
38743
9304c1f8 387442004-10-19 Hollis Blanchard <hollis@penguinppc.org>
38745
38746 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
38747 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
38748 -ffreestanding and -msoft-float.
38749
86f4ae25 387502004-10-15 Hollis Blanchard <hollis@penguinppc.org>
38751
38752 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
38753 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
38754 set in grub_ieee1275_flags.
38755
38912228 387562004-10-14 Hollis Blanchard <hollis@penguinppc.org>
38757
38758 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
38759 prototype.
38760 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
38761 grub_console_init first.
38762 Change the memory range used for grub_ieee1275_claim and
38763 grub_mm_init_region.
38764 Print an error message if the claim fails.
38765 Include <grub/misc.h>.
38766
d1923dc8 387672004-10-13 Hollis Blanchard <hollis@penguinppc.org>
38768
38769 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
38770 Call grub_children_iterate for device nodes of type `scsi',
38771 `ide', or `ata'.
38772 (grub_ofdisk_open): Remove manual device alias resolution.
38773 Fix memory leak when device cannot be opened.
f19dbdb7 38774 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 38775 (grub_children_iterate): New prototype.
38776 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
38777 New function.
38778 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
38779 Return -1 if args.size was -1.
38780
4512e4f3 387812004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38782
38783 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
38784 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
38785 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
38786 Open Firmware's memory for it; claim memory from _start to _end.
38787 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
38788 (_end): New extern.
38789 (_start): Zero BSS from __bss_start to _end.
38790 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
38791 New extern.
38792 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
38793
4d61feb0 387942004-10-11 Hollis Blanchard <hollis@penguinppc.org>
38795
ad0bd20b 38796 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
38797 -1 if args.base was -1.
4d61feb0 38798
026fa2f9 387992004-10-08 Hollis Blanchard <hollis@penguinppc.org>
38800
38801 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
38802 escape sequence instead of a literal ^L. Also call
38803 grub_ofconsole_gotoxy.
38804
9f2220ef 388052004-10-03 Hollis Blanchard <hollis@penguinppc.org>
38806
38807 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
38808 void * arguments to grub_addr_t. All callers updated. Also make
38809 the `result' argument optional.
38810 (grub_ieee1275_release): change void * arguments to grub_addr_t.
38811 All callers updated.
38812
8a572cd7 388132004-09-22 Hollis Blanchard <hollis@penguinppc.org>
38814
38815 * commands/ls.c (grub_ls_list_files): Use the string following the
38816 initial ')', if present, as the filesystem path.
38817 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
38818
38819 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
38820
18aa81f2 388212004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
38822
38823 Make the source code of the menu interface more readable.
f19dbdb7 38824
18aa81f2 38825 * normal/menu.c: Include grub/mm.h.
38826 (TERM_WIDTH): New macro.
38827 (TERM_HEIGHT): Likewise.
38828 (TERM_INFO_HEIGHT): Likewise.
38829 (TERM_MARGIN): Likewise.
38830 (TERM_SCROLL_WIDTH): Likewise.
38831 (TERM_TOP_BORDER_Y): Likewise.
38832 (TERM_LEFT_BORDER_X): Likewise.
38833 (TERM_BORDER_WIDTH): Likewise.
38834 (TERM_MESSAGE_HEIGHT): Likewise.
38835 (TERM_BORDER_HEIGHT): Likewise.
38836 (TERM_NUM_ENTRIES): Likewise.
38837 (TERM_FIRST_ENTRY_Y): Likewise.
38838 (TERM_ENTRY_WIDTH): Likewise.
38839 (TERM_CURSOR_X): Likewise.
38840 (draw_border): Use macros instead of magic numbers.
38841 (print_entry): Likewise.
38842 (print_entries): Likewise.
38843 (run_menu): Likewise. Also, handle the key 'e'.
38844 (run_menu_entry): Ignore empty command lines.
38845 (print_message): Added a new argument EDIT. If EDIT is true,
38846 print a different message.
38847 (init_page): Likewise.
38848 (edit_menu_entry): New function. Not implemented yet.
38849
b47efe30 388502004-09-17 Marco Gerards <metgerards@student.han.nl>
38851
38852 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
38853 can be loaded from normal mode.
f19dbdb7 38854
b47efe30 38855 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
38856 `multiboot.mod'.
38857 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
38858 (multiboot_mod_CFLAGS): New variables.
38859 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 38860 * loader/i386/pc/multiboot_normal.c: Likewise.
38861
b47efe30 38862 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
38863 attribute `unused'.
f19dbdb7 38864
b47efe30 38865 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
38866 `fdiro' to read the mode information from instead of `diro'.
38867
38868 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
38869 looking up a symlink.
38870
38871 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
38872 macro.
38873 * normal/command.c (grub_command_execute): Don't parse the
38874 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
38875 flags of the command.
38876
38877 * normal/menu.c (grub_menu_run): Fix typo.
38878
da75ac71 388792004-09-14 Hollis Blanchard <hollis@penguinppc.org>
38880
38881 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
38882
38883 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
38884 `y + 1' instead of `y - 1'.
38885
38886 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 38887
062b24c2 388882004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
38889
38890 From Hollis Blanchard <hollis@penguinppc.org>:
38891 * kern/misc.c (memmove): New alias for grub_memmove.
38892 (memcmp): New alias for grub_memcmp.
38893 (memset): New alias for grub_memset.
f19dbdb7 38894 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 38895 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 38896 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 38897 (grub_ieee1275_get_property): Likewise.
f19dbdb7 38898
8ddad845 388992004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
38900
38901 Added normal mode command `chainloader' as module chain.mod, which
38902 depends on normal.mod and _chain.mod.
f19dbdb7 38903
8ddad845 38904 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
38905 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
38906 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
38907 Deleted prototype.
38908 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
38909 but arguments parsing moved to ...
38910 (grub_chainloader_cmd): ... here. New function.
38911 * include/grub/i386/pc/chainloader.h: New file.
38912 * loader/i386/pc/chainloader_normal.c: Likewise.
38913
2c1f4ce3 389142004-09-11 Marco Gerards <metgerards@student.han.nl>
38915
38916 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
38917 (grub_mkimage_LDFLAGS): Likewise.
38918 (grub_emu_SOURCES): Likewise.
38919 (kernel_img_HEADERS): Added fshelp.h.
38920 * fs/ext2.c: Include <grub/fshelp.h>.
38921 (FILETYPE_REG): New macro.
38922 (FILETYPE_INO_REG): Likewise.
38923 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
38924 Changed all users.
38925 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
38926 all users.
38927 (grub_fshelp_node): New struct.
38928 (grub_ext2_data): Added member `diropen'. Changed member `inode'
38929 to a pointer.
38930 (grub_ext2_get_file_block): Removed function.
38931 (grub_ext2_read_block): New function.
38932 (grub_ext2_read_file): Replaced parameter `data' by `node'.
38933 This function was written.
38934 (grub_ext2_mount): Read the root inode. Create a diropen struct.
38935 (grub_ext2_find_file): Removed function.
38936 (grub_ext2_read_symlink): New function.
38937 (grub_ext2_iterate_dir): Likewise.
38938 (grub_ext2_open): Rewritten.
38939 (grub_ext2_dir): Rewritten.
38940 * include/grub/fshelp.h: New file.
38941 * fs/fshelp.c: Likewise.
38942
3c52136a 389432004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
38944
38945 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
38946 (print_message): Add a missing newline.
38947 (run_menu): Added timeout support.
38948 (run_menu_entry): New local function.
38949 (grub_menu_run): Added support for booting.
38950
38951 * kern/loader.c (grub_loader_is_loaded): New function.
38952
38953 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
38954 (grub_get_rtc): Exported.
38955
38956 * include/grub/i386/pc/time.h: Include grub/symbol.h.
38957 (grub_get_rtc): Exported.
38958
38959 * include/grub/normal.h (struct grub_command_list): Remove
38960 constant from the member `command'.
38961
38962 * include/grub/loader.h (grub_loader_is_loaded): Declared.
38963
38964 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
38965
38966 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
38967
aa033560 389682004-08-28 Marco Gerards <metgerards@student.han.nl>
38969
38970 Add support for the JFS filesystem.
38971
38972 * fs/jfs.c: New file.
38973 * include/grub/fs.h (grub_jfs_init): New prototype.
38974 (grub_jfs_fini): New prototype.
38975 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
38976 (grub_emu_SOURCES): Likewise.
38977 (pkgdata_MODULES): Add jfs.mod.
38978 (jfs_mod_SOURCES): New variable.
38979 (jfs_mod_CFLAGS): Likewise.
38980 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
38981 (grubof_SOURCES): Likewise.
38982 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
38983
38984 * fs/fat.c (grub_fat_find_dir): Convert the filename little
38985 endian to the host endian.
38986 (grub_fat_utf16_to_utf8): Move function from there...
38987 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 38988 the endianness of the source string anymore.
aa033560 38989 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
38990
94bc45af 389912004-08-24 Marco Gerards <metgerards@student.han.nl>
38992
38993 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
38994 (grub_boot_fini) [GRUB_UTIL]: Likewise.
38995 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
38996 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 38997
94bc45af 38998 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
38999 (grub_hfs_iterate_dir): Make the function static. Add prototypes
39000 for `node_found' and `it_dir'.
39001 (grub_hfs_dir): Add prototype for `dir_hook'.
39002
39003 * fs/minix.c (grub_minix_get_file_block): Add prototype for
39004 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
39005 and `indir32' to silence a gcc warning.
39006
39007 * include/grub/fs.h (grub_hfs_init): New prototype.
39008 (grub_hfs_fini): Likewise.
f19dbdb7 39009
39010
97543f08 390112004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
39012
39013 Each disk device has its own id now. This is useful to make use
39014 of multiple disk devices.
f19dbdb7 39015
97543f08 39016 * include/grub/disk.h (grub_disk_dev_id): New enum.
39017 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
39018 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
39019
39020 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
39021 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39022
39023 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
39024 GRUB_DISK_DEVICE_OFDISK_ID as an id.
39025
39026 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
39027 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
39028
39029 * include/grub/disk.h (struct grub_disk_dev): Added a new member
39030 "id" which is used by the cache manager.
39031
39032 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
39033 of just "GRUB".
39034
64372eb4 390352004-08-18 Marco Gerards <metgerards@student.han.nl>
39036
39037 * fs/hfs.c: New file.
39038 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
39039 (grub_emu_SOURCES): Likewise.
39040 (pkgdata_MODULES): Add hfs.mod.
39041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
39042 (grubof_SOURCES): Likewise.
39043 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
39044
39045 * include/grub/misc.h (grub_strncasecmp): Add prototype.
39046 * kern/misc.c (grub_strncasecmp): Add function.
39047
cc61b58f 390482004-08-14 Marco Gerards <metgerards@student.han.nl>
39049
39050 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
39051 with parentheses.
39052
39053 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
39054 (grub_ext2_dir): In case the directory entry type is unknown, read
39055 it from the inode.
39056
0ef123f6 390572004-08-02 Peter Bruin <pjbruin@dds.nl>
39058
39059 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
39060 grub_load_linux instead of grub_rescue_cmd_linux as second
39061 argument of grub_rescue_register_command.
39062
39063 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
39064
a447c5df 390652004-07-27 Marco Gerards <metgerards@student.han.nl>
39066
39067 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
39068 function.
39069 * commands/boot.c: Remove the check for `GRUB_UTIL'.
39070 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
39071 `loader/powerpc/ieee1275/linux.c',
39072 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
39073 * include/grub/powerpc/ieee1275/ieee1275.h
39074 (grub_ieee1275_release): New prototype.
39075 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
39076 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
39077 normal, boot, linux and linux_normal.
39078 * loader/powerpc/ieee1275/linux.c: New file.
39079 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39080
5a9e3546 390812004-07-12 Marco Gerards <metgerards@student.han.nl>
39082
39083 * normal/arg.c (grub_arg_parse): Correct error handling after
39084 reallocating the argumentlist (check if `argl' is not null instead
39085 of checking if `args' is not null).
39086 * kern/mm.c (grub_realloc): Return the same pointer when using the
39087 same region, instead of returning the header address.
39088
e15199cb 390892004-07-11 Marco Gerards <metgerards@student.han.nl>
39090
39091 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
39092 one block instead of two when looking for the initial partition.
39093 (grub_partition_probe): Initialize the local variable `p' with 0.
39094 Use base 10 for the grub_strtoul call.
39095 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
39096 need for one local variable.
39097 (grub_strtoul): Don't add the new value to `num', instead of that
39098 just assign it.
39099
020616c2 391002004-07-11 Marco Gerards <metgerards@student.han.nl>
39101
39102 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
39103 (pxeboot_img_SOURCES): New variable.
39104 (pxeboot_img_ASFLAGS): Likewise.
39105 (pxeboot_img_LDFLAGS): Likewise.
39106 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
39107 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
39108 <lode_leroy@hotmail.com>.
39109
6c51eb64 391102004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39111
39112 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
39113 there was no input.
39114
cfb12aff 391152004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39116
39117 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
39118 the history buffer logic.
39119
6eabba74 391202004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
39121
39122 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
39123 (FILETYPE_INO_SYMLINK): New macros.
39124 (grub_ext2_find_file): Check if the node is a directory using the
39125 inode stat information instead of using the filetype in the
39126 dirent. Exclude the first character of an absolute symlink.
39127 (grub_ext2_dir): Mask out the filetype part of the mode member of
39128 the inode.
39129
66e19ef8 391302004-05-24 Marco Gerards <metgerards@student.han.nl>
39131
39132 Add support for UFS version 1 and 2. Add support for the minix
39133 filesystem version 1 and 2, both the variants with 14 and 30 long
39134 filenames.
f19dbdb7 39135
66e19ef8 39136 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
39137 fs/minix.c.
39138 (grub_emu_SOURCES): Likewise.
39139 (pkgdata_MODULES): Add ufs.mod and minix.mod.
39140 (ufs_mod_SOURCES): New variable.
39141 (ufs_mod_CFLAGS): Likewise.
39142 (minix_mod_SOURCES): Likewise.
39143 (minix_mod_CFLAGS): Likewise.
39144 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
39145 fs/minix.c.
39146 (grubof_SOURCES): Likewise.
39147 * fs/ufs.c: New file.
39148 * fs/minix.c: New file.
39149 * include/grub/fs.h (grub_ufs_init): New prototype.
39150 (grub_ufs_fini): Likewise.
39151 (grub_minix_init): Likewise.
39152 (grub_minix_fini): Likewise.
39153 * util/grub-emu.c (main): Initialize and deinitialize UFS and
39154 minix fs.
39155
cc2e748a 391562004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
39157
39158 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
39159 commands/ls.c, commands/terminal.c, commands/boot.c,
39160 commands/cmp.c and commands/cat.c.
39161 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
39162
39163 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
39164 "env.h"
39165
4b13b216 391662004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39167
39168 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
39169 and grub_, respectively. Because the conversion is trivial and
39170 mechanical, I omit the details here. Please refer to the CVS
39171 if you need more information.
39172
6a142551 391732004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
39174
39175 * include/pupa: Renamed to ...
39176 * include/grub: ... this.
39177 * util/i386/pc/pupa-mkimage.c: Renamed to ...
39178 * util/i386/pc/grub-mkimage.c: ... this.
39179 * util/i386/pc/pupa-setup.c: Renamed to ...
39180 * util/i386/pc/grub-setup.c: ... this.
39181 * util/pupa-emu.c: Renamed to ...
39182 * util/grub-emu.c: ... this.
39183
e56cdf21 391842004-03-29 Marco Gerards <metgerards@student.han.nl>
39185
39186 Add support for the newworld apple macintosh (PPC). This has been
39187 tested on the powerbook 2000 only. It only adds support for
39188 generic ieee1275 functions, console and disk support. This should
39189 be easy to port to other architectures with support for Open
39190 Firmware.
f19dbdb7 39191
e56cdf21 39192 * configure.ac: Accept the powerpc as host_cpu. In the case of
39193 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
39194 specific tests are only executed while building for the i386.
39195 Inverse test for crosscompile.
39196 * genmk.rb (Utility): Allow assembler files.
39197 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
39198 * conf/powerpc-ieee1275.rmk: New file.
39199 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
39200 * disk/powerpc/ieee1275/partition.c: Likewise.
39201 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
39202 * include/pupa/powerpc/ieee1275/console.h: Likewise.
39203 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
39204 * include/pupa/powerpc/ieee1275/time.h: Likewise.
39205 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
39206 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
39207 * include/pupa/powerpc/ieee1275/loader.h
39208 * include/pupa/powerpc/setjmp.h: Likewise.
39209 * include/pupa/powerpc/types.h: Likewise.
39210 * kern/powerpc/ieee1275/init.c: Likewise.
39211 * kern/powerpc/ieee1275/openfw.c: Likewise.
39212 * term/powerpc/ieee1275/ofconsole.c: Likewise.
39213
39214 These files were written by Johan Rydberg
39215 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 39216
e56cdf21 39217 * boot/powerpc/ieee1275/cmain.c: New file.
39218 * boot/powerpc/ieee1275/crt0.S: Likewise.
39219 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
39220 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
39221
8c8cc205 392222004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
39223
39224 * Makefile.in: Update copyright.
39225 * genmodsrc.sh: Likewise.
39226 * gensymlist.sh: Likewise.
39227 * term/i386/pc/vga.c: Indent correctly.
39228
39229 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
39230 bugreporting address.
39231 * util/i386/pc/pupa-setup.c (usage): Likewise,
39232 (main): Call pupa_ext2_init and pupa_ext2_fini.
39233
f19dbdb7 39234 * fs/fat.c (log2): Renamed to ...
8c8cc205 39235 (fat_log2): ... this.
39236 All callers changed.
39237 * kern/misc.c (memcpy): Alias to pupa_memmove.
39238 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
39239 lvalue cast.
39240 * util/console.c (pupa_ncurses_fini): Return 0.
39241
39242 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
39243 Move fail label here.
39244 [__GNU__]: Don't warn when using stat.
39245 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
39246 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
39247 long int. Use strtol instead of strtoul.
f19dbdb7 39248
db1771cf 392492004-03-14 Marco Gerards <metgerards@student.han.nl>
39250
39251 * commands/boot.c: New file.
39252 * commands/cat.c: Likewise.
39253 * commands/cmp.c: Likewise.
39254 * commands/ls.c: Likewise.
39255 * commands/terminal.c: Likewise.
39256 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
39257 (pupa_register_command): Changed interface to match the new
39258 argument parser.
39259 (pupa_command_execute): Changed (almost rewritten) so it uses
39260 pupa_split_command. Added support for setting variables using the
39261 syntax `foo=bar'.
39262 (rescue_command): Changed to work with the new argument parser.
39263 (terminal_command): Moved from here to commands/terminal.c.
39264 (set_command): New function.
39265 (unset_command): New function.
39266 (insmod_command): New function.
39267 (rmmod_command): New function.
39268 (lsmod_command): New function.
39269 (pupa_command_init): Don't initialize the command terminal
39270 anymore. Initialize the commands set, unset, insmod, rmmod and
39271 lsmod.
39272 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
39273 (kernel_img_HEADERS): Add arg.h and env.h.
39274 (pupa_mkimage_LDFLAGS): Add kern/env.c.
39275 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
39276 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
39277 normal/arg.c.
39278 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
39279 terminal.mod.
39280 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
39281 (boot_mod_SOURCES): New variable.
39282 (terminal_mod_SOURCES): Likewise.
39283 (ls_mod_SOURCES): Likewise.
39284 (cmp_mod_SOURCES): Likewise.
39285 (cat_mod_SOURCES): Likewise.
39286
39287 * normal/arg.c: New file.
39288 * kern/env.c: Likewise.
39289 * include/pupa/arg.h: Likewise.
39290 * include/pupa/env.h: Likewise.
39291 * font/manager.c (font_command): Changed to match argument parsing
39292 interface changes.
39293 (PUPA_MOD_INIT): Likewise.
39294 * hello/hello.c (pupa_cmd_hello): Likewise.
39295 (PUPA_MOD_INIT): Likewise.
39296 * include/pupa/disk.h: Include <pupa/device.h>.
39297 (pupa_print_partinfo): New prototype.
39298 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
39299 (pupa_dl_get_prefix): Likewise.
39300 * include/pupa/misc.h: Include <pupa/err.h>.
39301 (pupa_isgraph): New prototype.
39302 (pupa_isdigit): Likewise.
39303 (pupa_split_cmdline): Likewise.
39304 * include/pupa/normal.h: Include <pupa/arg.h>.
39305 (pupa_command): Changed the prototype of the member `func' to
39306 match the argument parsing interface. Added member `options'.
39307 (pupa_register_command): Updated to match function.
39308 (pupa_arg_parse): New prototype.
39309 (pupa_hello_init) [PUPA_UTIL]: New prototype.
39310 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
39311 (pupa_ls_init) [PUPA_UTIL]: Likewise.
39312 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
39313 (pupa_cat_init) [PUPA_UTIL]: Likewise.
39314 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
39315 (pupa_boot_init) [PUPA_UTIL]: Likewise.
39316 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
39317 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
39318 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
39319 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
39320 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
39321 * kern/disk.c: Include <pupa/file.h>.
39322 (pupa_print_partinfo): New function.
39323 * kern/dl.c: Include <pupa/env.h>.
39324 (pupa_dl_dir): Variable removed.
39325 (pupa_dl_load): Use the environment variable `prefix' instead of
39326 the variable pupa_dl_dir.
39327 (pupa_dl_set_prefix): Function removed.
39328 (pupa_dl_get_prefix): Likewise.
39329 * kern/i386/pc/init.c: Include <pupa/env.h>.
39330 (pupa_machine_init): Use the environment variable `prefix' instead of
39331 using pupa_dl_set_prefix to set the prefix.
39332 * kern/main.c: Include <pupa/env.h>.
39333 (pupa_set_root_dev): Use the environment variable `prefix' instead of
39334 using pupa_dl_get_prefix to get the prefix.
39335 * kern/misc.c: Include <pupa/env.h>.
39336 (pupa_isdigit): New function.
39337 (pupa_isgraph): Likewise.
39338 (pupa_ftoa): Likewise.
39339 (pupa_vsprintf): Added support for printing values of the type
39340 `double'. Make it possible to format variable output when using
39341 formatting like `%1.2%f'.
39342 (pupa_split_cmdline): New function.
39343 * kern/rescue.c: Include <pupa/env.h>.
39344 (next_word): Removed function.
39345 (pupa_rescue_cmd_prefix): Likewise.
39346 (pupa_rescue_cmd_set): New function.
39347 (pupa_rescue_cmd_unset): New function.
39348 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
39349 split the command line instead of splitting it here. Added
39350 support for setting variables using the syntax `foo=bar'. Don't
39351 initialize the prefix command anymore. Initialized the set and
39352 unset commands.
39353 * normal/cmdline.c: Include <pupa/env.h>.
39354 (pupa_tab_complete): Added prototypes for print_simple_completion,
39355 print_partition_completion, add_completion, iterate_commands,
39356 iterate_dev, iterate_part and iterate_dir. Moved code to print
39357 partition information from here to kern/disk.c.
fe6b695a 39358 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 39359 * normal/main.c: Include <pupa/env.h>.
39360 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
39361 instead of using pupa_dl_get_prefix to get the prefix.
39362 * term/i386/pc/vga.c: Include <pupa/arg.h>.
39363 (check_vga_mem): Cast pointers to `void *' to silence a gcc
39364 warning.
39365 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
39366 (pupa_vga_setcolor): Declare unused variables with `__attribute__
39367 ((unused))' to silence a gcc warning.
39368 (pupa_vga_setcolor): Likewise.
39369 (debug_command): Changed to match argument parsing
39370 interface changes.
39371 * util/pupa-emu.c: Include <pupa/env.h>.
39372 (options): Added 0's for unused fields to silence a gcc warning.
39373 (argp): Likewise.
39374 (main): Use the environment variable `prefix' instead of using
39375 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
39376 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
39377 and terminal.
39378
39379 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
39380 * util/misc.c: Include <malloc.h>.
39381 (pupa_malloc): Rewritten so errors are correctly reported.
39382 (pupa_realloc): Likewise.
39383 (pupa_memalign): Likewise.
39384 (pupa_mm_init_region): Declare unused variables with
39385 `__attribute__ ((unused))' to silence a gcc warning.
39386 * normal/i386/setjmp.S: Remove tab at the end of the file to
39387 silence a gcc warning.
39388 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
39389 variables with `__attribute__ ((unused))' to silence a gcc
39390 warning.
39391 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
39392 local variable i unsigned to silence a gcc warning.
39393
39394 * kern/term.c: Include <pupa/misc.h>.
39395 (pupa_more_lines): New variable.
39396 (pupa_more): Likewise.
39397 (pupa_putcode): When the pager is active pause at the end of every
39398 screen.
39399 (pupa_set_more): New function.
39400 * include/pupa/term.h (pupa_set_more): New prototype.
39401
39402
3b1139cb 394032004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
39404
39405 Now this project is GRUB 2 rather than PUPA. The location of
39406 the CVS repository was moved to GRUB's.
f19dbdb7 39407
3b1139cb 39408 * configure.ac: Use bug-grub as the reporting address.
39409 Use GRUB instead of PUPA.
39410 Change the version number to 1.90.
39411
8367695c 394122004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
39413
39414 * genkernsyms.sh: Updated copyright information.
39415 * genmk.rb: Likewise.
39416 * genmodsrc.sh: Likewise.
39417 * gensymlist.sh: Likewise.
39418 * boot/i386/pc/boot.S: Likewise.
39419 * boot/i386/pc/diskboot.S: Likewise.
39420 * disk/i386/pc/biosdisk.c: Likewise.
39421 * disk/i386/pc/partition.c: Likewise.
39422 * font/manager.c: Likewise.
39423 * fs/ext2.c: Likewise.
39424 * fs/fat.c: Likewise.
39425 * include/pupa/boot.h: Likewise.
39426 * include/pupa/device.h: Likewise.
39427 * include/pupa/disk.h: Likewise.
39428 * include/pupa/dl.h: Likewise.
39429 * include/pupa/elf.h: Likewise.
39430 * include/pupa/err.h: Likewise.
39431 * include/pupa/file.h: Likewise.
39432 * include/pupa/font.h: Likewise.
39433 * include/pupa/fs.h: Likewise.
39434 * include/pupa/kernel.h: Likewise.
39435 * include/pupa/loader.h: Likewise.
39436 * include/pupa/misc.h: Likewise.
39437 * include/pupa/mm.h: Likewise.
39438 * include/pupa/net.h: Likewise.
39439 * include/pupa/normal.h: Likewise.
39440 * include/pupa/rescue.h: Likewise.
39441 * include/pupa/setjmp.h: Likewise.
39442 * include/pupa/symbol.h: Likewise.
39443 * include/pupa/term.h: Likewise.
39444 * include/pupa/types.h: Likewise.
39445 * include/pupa/i386/setjmp.h: Likewise.
39446 * include/pupa/i386/types.h: Likewise.
39447 * include/pupa/i386/pc/biosdisk.h: Likewise.
39448 * include/pupa/i386/pc/boot.h: Likewise.
39449 * include/pupa/i386/pc/console.h: Likewise.
39450 * include/pupa/i386/pc/init.h: Likewise.
39451 * include/pupa/i386/pc/kernel.h: Likewise.
39452 * include/pupa/i386/pc/linux.h: Likewise.
39453 * include/pupa/i386/pc/loader.h: Likewise.
39454 * include/pupa/i386/pc/memory.h: Likewise.
39455 * include/pupa/i386/pc/multiboot.h: Likewise.
39456 * include/pupa/i386/pc/partition.h: Likewise.
39457 * include/pupa/i386/pc/time.h: Likewise.
39458 * include/pupa/i386/pc/vga.h: Likewise.
39459 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
39460 * include/pupa/util/getroot.h: Likewise.
39461 * include/pupa/util/misc.h: Likewise.
39462 * include/pupa/util/resolve.h: Likewise.
39463 * kern/device.c: Likewise.
39464 * kern/disk.c: Likewise.
39465 * kern/dl.c: Likewise.
39466 * kern/err.c: Likewise.
39467 * kern/file.c: Likewise.
39468 * kern/fs.c: Likewise.
39469 * kern/loader.c: Likewise.
39470 * kern/main.c: Likewise.
39471 * kern/misc.c: Likewise.
39472 * kern/mm.c: Likewise.
39473 * kern/rescue.c: Likewise.
39474 * kern/term.c: Likewise.
39475 * kern/i386/dl.c: Likewise.
39476 * kern/i386/pc/init.c: Likewise.
39477 * kern/i386/pc/lzo1x.S: Likewise.
39478 * kern/i386/pc/startup.S: Likewise.
39479 * loader/i386/pc/chainloader.c: Likewise.
39480 * loader/i386/pc/linux.c: Likewise.
39481 * loader/i386/pc/multiboot.c: Likewise.
39482 * normal/cmdline.c: Likewise.
39483 * normal/command.c: Likewise.
39484 * normal/main.c: Likewise.
39485 * normal/menu.c: Likewise.
39486 * normal/i386/setjmp.S: Likewise.
39487 * term/i386/pc/console.c: Likewise.
39488 * term/i386/pc/vga.c: Likewise.
39489 * util/console.c: Likewise.
39490 * util/genmoddep.c: Likewise.
39491 * util/misc.c: Likewise.
39492 * util/pupa-emu.c: Likewise.
39493 * util/resolve.c: Likewise.
39494 * util/unifont2pff.rb: Likewise.
39495 * util/i386/pc/biosdisk.c: Likewise.
39496 * util/i386/pc/getroot.c: Likewise.
39497 * util/i386/pc/pupa-mkimage.c: Likewise.
39498 * util/i386/pc/pupa-setup.c: Likewise.
39499
e6eced71 395002004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
39501
39502 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
39503 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
39504 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
39505 reading and reset it after reading.
39506 (pupa_ext2_close): Return PUPA_ERR_NONE.
39507
39508 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
39509 Correct value.
39510 (struct linux_kernel_header): Add kernel_version and
39511 initrd_addr_max.
39512 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
39513 pupa_file_read succeeds.
39514 (pupa_rescue_cmd_initrd): Implement.
39515
5aded270 395162003-12-03 Marco Gerards <metgerards@student.han.nl>
39517
39518 * fs/ext2.c (pupa_ext2_label): New function.
39519 (pupa_ext2_fs): Added label.
39520 * fs/fat.c (pupa_fat_label): New function.
39521 (pupa_fat_fs): Added label.
39522 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
39523
39524 * kern/misc.c (pupa_strndup): New function.
39525 * include/pupa/misc.h (pupa_strndup): New prototype.
39526
39527 * include/pupa/normal.h: Include <pupa/err.h>.
39528 (pupa_set_history): New prototype.
39529 (pupa_iterate_commands): New prototype.
39530 * normal/cmdline.c: Include <pupa/machine/partition.h>,
39531 <pupa/disk.h>, <pupa/file.h>.
39532 (hist_size): New variable.
39533 (hist_lines): Likewise.
39534 (hist_end): Likewise.
39535 (hist_used): Likewise.
39536 (pupa_set_history): New function.
39537 (pupa_history_get): Likewise.
39538 (pupa_history_add): Likewise.
39539 (pupa_history_replace): Likewise.
39540 (pupa_tab_complete): Likewise.
39541 (pupa_cmdline_run): Added tab completion and history buffer. Tab
39542 completion shows partitionnames while completing partitions, this
39543 feature was suggested by Jeff Bailey.
39544 * normal/command.c (pupa_iterate_commands): New function.
39545 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
39546 (pupa_normal_init): Initialize history buffer.
39547 (PUPA_MOD_INIT): Likewise.
39548 (pupa_normal_fini): Free the history buffer.
39549 (PUPA_MOD_FINI): Likewise.
39550
39551 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
39552 key.
39553
39554 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
39555 * configure.ac [i386]: Check for regparam bug.
39556 (NESTED_FUNC_ATTR) [! i386]: Defined.
39557
1f7315a3 395582003-11-17 Marco Gerards <metgerards@student.han.nl>
39559
39560 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
39561 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
39562 (pupa_emu_SOURCES): New variable.
39563 (pupa_emu_LDFLAGS): Likewise.
39564 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
39565 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
39566 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
39567 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39568 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
39569 (pupa_jmp_buf): New typedef.
39570 (pupa_setjmp) [PUPA_UTIL]: New macro.
39571 (pupa_longjmp) [PUPA_UTIL]: Likewise.
39572 * include/pupa/term.h (struct pupa_term): New member `refresh'.
39573 (pupa_refresh): New prototype.
39574 * include/pupa/util/getroot.h: New file.
39575 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
39576 it.
39577 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
39578 (pupa_rescue_cmd_cat): Likewise.
39579 (pupa_rescue_cmd_ls): Likewise.
39580 (pupa_rescue_cmd_testload): Likewise.
39581 (pupa_rescue_cmd_lsmod): Likewise.
39582 * normal/cmdline.c (pupa_cmdline_get): Likewise.
39583 * normal/menu.c (run_menu): Likewise.
39584 * kern/term.c (pupa_cls): Likewise.
39585 (pupa_refresh): New function.
39586 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
39587 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
39588 * util/console.c: New file.
f19dbdb7 39589
1f7315a3 39590 * util/i386/pc/getroot.c: New file.
39591 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
39592 (pupa_putchar): New function.
39593 (pupa_refresh): Likewise.
39594 (xgetcwd): Function moved to ...
39595 (strip_extra_slashes): Likewise.
39596 (get_prefix): Likewise.
f19dbdb7 39597 * util/i386/pc/getroot.c: ... here.
1f7315a3 39598 (find_root_device): Function moved and renamed to...
39599 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
39600 Changed all callers.
39601 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
39602 and renamed to...
39603 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
39604 Changed all callers.
39605 * util/misc.c (pupa_memalign): New function.
39606 (pupa_mm_init_region): Likewise.
39607 (pupa_register_exported_symbols): Likewise.
39608 (pupa_putchar): Function removed.
39609 * util/pupa-emu.c: New file.
39610
9a5c1ade 396112003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
39612
39613 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
39614 (_multiboot_mod_SOURCES): New variable.
39615 (_multiboot_mod_CFLAGS): Likewise.
39616 * loader/i386/pc/multiboot.c: New file.
39617 * include/pupa/i386/pc/multiboot.h: Likewise.
39618 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
39619 (pupa_multiboot_real_boot): New function.
39620 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
39621 (pupa_multiboot_real_boot): New prototype.
39622 (pupa_rescue_cmd_multiboot): Likewise
39623 (pupa_rescue_cmd_module): Likewise.
39624
39625 * kern/loader.c (pupa_loader_set): Continue when
39626 pupa_loader_unload_func() fails.
39627 (pupa_loader_unset): New function.
39628 * include/pupa/loader.h (pupa_loader_unset): New prototype.
39629
39630 * kern/misc.c (pupa_stpcpy): New function.
39631 * include/pupa/misc.h (pupa_stpcpy): New prototype.
39632
8e72a9c0 396332003-11-12 Marco Gerards <metgerards@student.han.nl>
39634
39635 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
39636 for available extensions.
39637
39638 * include/pupa/i386/pc/time.h: New file.
39639 * kern/disk.c: Include <pupa/machine/time.h>.
39640 (PUPA_CACHE_TIMEOUT): New macro.
39641 (pupa_last_time): New variable.
39642 (pupa_disk_open): Flush the cache when there was a timeout.
39643 (pupa_disk_close): Reset the timer.
39644 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
39645 pupa_currticks.
39646 * util/misc.c: Include <sys/times.h>
39647 (pupa_get_rtc): New function.
39648
c4adbd32 396492003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
39650
39651 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
39652 as blocks.
39653 (pupa_ext2_get_file_block): Use blocks member.
39654
39655 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
39656 first block. Return -1 instead of pupa_errno on error.
39657
bfd30f06 396582003-10-27 Marco Gerards <metgerards@student.han.nl>
39659
39660 * README: In the pupa-mkimage example use _chain instead of chain
39661 and ext2 instead of fat.
39662 * TODO: Replace ext2fs with jfs as an example. Add an item for
39663 adding journal playback for ext2fs.
39664 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
39665 (pkgdata_MODULES): Added ext2.mod.
39666 (ext2_mod_SOURCES): New variable.
39667 (ext2_mod_CFLAGS): Likewise.
39668 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
39669 * include/pupa/misc.h (pupa_strncpy): New prototype.
39670 (pupa_strcat): Likewise.
39671 (pupa_strncmp): Likewise.
39672 * kern/misc.c (pupa_strcat): Enable function.
39673 (pupa_strncpy): New function.
39674 (pupa_strncmp): Likewise.
39675 * fs/ext2.c: New file.
f19dbdb7 39676
bfd30f06 39677 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
39678 when the read failed before retrying.
39679 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
39680 (_FILE_OFFSET_BITS): Likewise.
39681 * configure.ac: Added AC_SYS_LARGEFILE.
39682
98d15063 396832003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39684
39685 * genmk.rb (PModule#rule): Make sure to get only symbol names
39686 from the output of nm.
59cad637 39687 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 39688
18d9c7cd 396892003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
39690
39691 I forgot to check in these changes for a long time. This adds
39692 incomplete support for VGA console, and this is still very
39693 buggy. Also, a lot of consideration is required for I18N,
39694 UNICODE, and VGA font issues. Therefore, assume that this is
39695 such that "better than nothing".
f19dbdb7 39696
18d9c7cd 39697 * font/manager.c: New file.
39698 * include/pupa/font.h: Likewise.
39699 * include/pupa/i386/pc/vga.h: Likewise.
39700 * term/i386/pc/vga.c: Likewise.
39701 * util/unifont2pff.rb: Likewise.
39702
39703 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
39704 (pkgdata_MODULES): Added vga.mod and font.mod.
39705 (vga_mod_SOURCES): New variables.
39706 (vga_mod_CFLAGS): Likewise.
39707 (font_mod_SOURCES): Likewise.
39708 (font_mod_CFLAGS): Likewise.
39709
39710 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
39711
39712 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 39713 (struct pupa_term): Added init and fini.
18d9c7cd 39714 Changed the argument of putchar to pupa_uint32_t.
39715
39716 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
39717 (pupa_console_real_putchar): New prototype.
39718 (pupa_console_putchar): Removed.
39719 (pupa_console_checkkey): Exported.
39720 (pupa_console_getkey): Likewise.
39721
39722 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
39723 characters.
39724
39725 * kern/term.c (pupa_term_set_current): Rewritten.
39726 (pupa_putchar): Likewise.
39727 (pupa_putcode): New function.
39728
39729 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
39730 (pupa_console_real_putchar): ... this.
39731 (pupa_vga_set_mode): New function.
39732 (pupa_vga_get_font): Likewise.
39733
39734 * normal/command.c: Include pupa/term.h.
39735 (terminal_command): New function.
39736 (pupa_command_init): Register the command "terminal".
39737
39738 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
39739 (DISP_UP): Likewise.
39740 (DISP_RIGHT): Likewise.
39741 (DISP_DOWN): Likewise.
39742 (DISP_HLINE): Likewise.
39743 (DISP_VLINE): Likewise.
39744 (DISP_UL): Likewise.
39745 (DISP_UR): Likewise.
39746 (DISP_LL): Likewise.
39747 (DISP_LR): Likewise.
39748
39749 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 39750
977329f5 397512003-02-08 NIIBE Yutaka <gniibe@m17n.org>
39752
39753 * util/resolve.c (pupa_util_resolve_dependencies): BUG
39754 FIX. Reverse the path_list.
39755
39756 * include/pupa/normal.h: Export pupa_register_command and
39757 pupa_unregister_command.
39758
39759 * hello/hello.c (pupa_cmd_hello): New module.
39760 * conf/i386-pc.rmk: Added hello.mod.
39761
1f5ab428 397622003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
39763
39764 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 39765
1f5ab428 39766 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
39767 (compress_kernel): New variable.
39768 (generate_image): Heavily modified to support compressing a
39769 large part of the core image.
39770
39771 * util/misc.c (pupa_util_read_image): Fix a file descriptor
39772 leak.
39773 (pupa_util_load_image): New function.
39774
39775 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
39776 (pupa_compressed_size): New variable.
39777 (codestart): Enable Gate A20 here.
39778 Decompress the compressed part of the core image.
39779 Rearrange the code to put functions and variables which are
39780 required for initialization in the non-compressed part.
39781 Include lzo1x.S.
39782
39783 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
39784 here.
39785
39786 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
39787
f19dbdb7 39788 * include/pupa/i386/pc/kernel.h
1f5ab428 39789 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
39790 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
39791 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
39792 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
39793 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
39794
39795 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
39796
39797 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
39798 (Utility#rule): Likewise.
39799
39800 * configure.ac: Check if LZO is available.
39801
ce5bf700 398022003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
39803
39804 * include/pupa/normal.h: New file.
39805 * include/pupa/setjmp.h: Likewise.
39806 * include/pupa/i386/setjmp.h: Likewise.
39807 * normal/cmdline.c: Likewise.
39808 * normal/command.c: Likewise.
39809 * normal/main.c: Likewise.
39810 * normal/menu.c: Likewise.
39811 * normal/i386/setjmp.S: Likewise.
f19dbdb7 39812
ce5bf700 39813 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
39814 (pupa_rescue_cmd_initrd): Likewise.
39815
39816 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
39817 Likewise.
39818
39819 * kern/i386/pc/startup.S (translation_table): New variable.
39820 (translate_keycode): New function.
39821 (pupa_console_getkey): Call translate_keycode.
39822
39823 * kern/rescue.c (attempt_normal_mode): New function.
39824 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
39825 it failed, print a message.
39826
39827 * kern/mm.c (pupa_real_malloc): Print more information when a
39828 free magic is broken.
39829 (pupa_free): If the first free header is not free actually, set
39830 it to P.
39831
39832 * kern/main.c (pupa_load_normal_mode): Just load the module
39833 "normal".
39834 (pupa_main): Don't print the message
39835 "Entering into rescue mode..." here.
39836
39837 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
39838 Declared.
39839 (pupa_rescue_cmd_initrd): Likewise.
39840 (pupa_rescue_cmd_initrd): Likewise.
39841
39842 * include/pupa/symbol.h (FUNCTION): Specify the type.
39843 (VARIABLE): Likewise.
39844
39845 * include/pupa/err.h (pupa_err_t): Added
39846 PUPA_ERR_UNKNOWN_COMMAND.
39847
39848 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
39849 (pupa_dl_get_prefix): Likewise.
39850
39851 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
39852 Added _chain.mod and _linux.mod instead of chain.mod and
39853 linux.mod.
39854 (chain_mod_SOURCES): Renamed to ...
39855 (_chain_mod_SOURCES): ... this.
39856 (chain_mod_CFLAGS): Renamed to ...
39857 (_chain_mod_CFLAGS): ... this.
39858 (linux_mod_SOURCES): Renamed to ...
39859 (_linux_mod_SOURCES): ... this.
39860 (linux_mod_CFLAGS): Renamed to ...
39861 (_linux_mod_CFLAGS): ... this.
39862 (normal_mod_SOURCES): New variable.
39863 (normal_mod_CFLAGS): Likewise.
39864 (normal_mod_ASFLAGS): Likewise.
39865
398662003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
39867
39868 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
39869 possible.
39870
fe6b695a 39871 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 39872 recursively.
39873 (pupa_dl_unref): Unrefer depending modules recursively.
39874 Don't call pupa_dl_unload implicitly, because PUPA can crash if
39875 a module is unloaded before one depending on that module is
39876 unloaded.
39877 (pupa_dl_unload): Unload depending modules explicitly,
39878 if possible.
39879
c04da074 398802003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
39881
39882 * include/pupa/i386/pc/linux.h: New file.
39883 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 39884
c04da074 39885 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
39886 Removed.
39887 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
39888 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
39889 of PUPA_CHAINLOADER_BOOT_SECTOR.
39890
39891 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
39892 (pupa_linux_prot_size): New variable.
39893 (pupa_linux_tmp_addr): Likewise.
39894 (pupa_linux_real_addr): Likewise.
39895 (pupa_linux_boot_zimage): New function.
39896 (pupa_linux_boot_bzimage): Likewise.
39897
39898 * kern/i386/pc/init.c (struct mem_region): New structure.
39899 (MAX_REGIONS): New macro.
39900 (mem_regions): New variable.
39901 (num_regions): Likewise.
39902 (pupa_os_area_addr): Likewise.
39903 (pupa_os_area_size): Likewise.
39904 (pupa_lower_mem): Likewise.
39905 (pupa_upper_mem): Likewise.
39906 (add_mem_region): New function.
39907 (compact_mem_regions): Likewise.
39908 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
39909 the size of the conventional memory and that of so-called upper
39910 memory (before the first memory hole).
39911 Instead of adding each found region to free memory, use
39912 add_mem_region and add them after removing overlaps.
39913 Also, add only 1/4 of the upper memory to free memory. The rest
39914 is used for loading OS images. Maybe this is ad hoc, but this
39915 makes it much easier to relocate OS images when booting.
39916
39917 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
39918 (pupa_enter_rescue_mode): Don't register initrd and module.
39919
39920 * kern/mm.c: Include pupa/dl.h.
39921
39922 * kern/main.c: Include pupa/file.h and pupa/device.h.
39923
39924 * kern/loader.c (pupa_loader_load_module_func): Removed.
39925 (pupa_loader_load_module): Likewise.
39926
39927 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
39928 ``.o''.
39929
39930 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
39931 (pupa_linux_tmp_addr): Likewise.
39932 (pupa_linux_real_addr): Likewise.
39933 (pupa_linux_boot_zimage): Likewise.
39934 (pupa_linux_boot_bzimage): Likewise.
39935
39936 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
39937 (pupa_upper_mem): Likewise.
39938 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
39939 module is too dangerous.
39940
39941 * include/pupa/loader.h (pupa_os_area_addr): Declared.
39942 (pupa_os_area_size): Likewise.
39943 (pupa_loader_set): Remove the first argument. Loader doesn't
39944 manage modules or initrd any longer.
39945 (pupa_loader_load_module): Removed.
39946
39947 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
39948 (linux_mod_SOURCES): New variable.
39949 (linux_mod_CFLAGS): Likewise.
39950
a13f9237 399512003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
39952
39953 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
39954 the length of a blocklist correctly.
39955
39956 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
39957 Use ioctl only if the OS file is a block device.
39958 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
39959 not very useful for normal files.
39960
39961 * kern/main.c (pupa_set_root_dev): New function.
39962 (pupa_load_normal_mode): Likewise.
39963 (pupa_main): Call those above.
39964
39965 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
39966 pupa_uint16_t.
39967
39968 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
39969
a5ffe966 399702003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
39971
39972 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
39973 (setup): Configure the installed partition information and the
39974 dl prefix.
39975
39976 * loader/i386/pc/chainloader.c (my_mod): New variable.
39977 (pupa_chainloader_unload): New function.
39978 (pupa_rescue_cmd_chainloader): Refer itself.
39979 (PUPA_MOD_INIT): Save its own module in MY_MOD.
39980
39981 * kern/i386/pc/startup.S (install_partition): Removed.
39982 (version_string): Likewise.
39983 (config_file): Likewise.
39984 (pupa_install_dos_part): New variable.
39985 (pupa_install_bsd_part): Likewise.
39986 (pupa_prefix): Likewise.
39987 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
39988
39989 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
39990 and pupa/misc.h.
39991 (make_install_device): New function.
39992 (pupa_machine_init): Set the dl prefix.
39993
39994 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
39995 (buf): Renamed to ...
39996 (linebuf): ... this.
39997 (pupa_rescue_cmd_prefix): New function.
39998 (pupa_rescue_cmd_insmod): Likewise.
39999 (pupa_rescue_cmd_rmmod): Likewise.
40000 (pupa_rescue_cmd_lsmod): Likewise.
40001 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
40002 rmmod and lsmod.
40003
40004 * kern/mm.c (pupa_memalign): If failed even after invalidating
40005 disk caches, unload unneeded modules and retry.
40006
40007 * kern/misc.c (pupa_memmove): New function.
40008 (pupa_memcpy): Removed.
40009 (pupa_strcpy): New function.
40010 (pupa_itoa): Made static.
40011
40012 * kern/dl.c (pupa_dl_iterate): New function.
40013 (pupa_dl_ref): Likewise.
40014 (pupa_dl_unref): Likewise.
40015 (pupa_dl_unload): Return if succeeded or not.
40016 (pupa_dl_unload_unneeded): New function.
40017 (pupa_dl_unload_all): Likewise.
40018 (pupa_dl_init): Renamed to ...
40019 (pupa_dl_set_prefix): ... this.
40020 (pupa_dl_get_prefix): New function.
40021
40022 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
40023 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
40024 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
40025 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
40026 (pupa_install_dos_part): Declared.
40027 (pupa_install_bsd_part): Likewise.
40028 (pupa_prefix): Likewise.
40029 (pupa_boot_drive): Likewise.
40030
40031 * include/pupa/types.h: Fix a typo.
40032
40033 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
40034 pupa_memmove.
40035 (pupa_memmove): Declared.
40036 (pupa_strcpy): Likewise.
40037
40038 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
40039 pupa_mod_init takes one argument, its own module.
40040 (pupa_dl_unload_unneeded): Declared.
40041 (pupa_dl_unload_all): Likewise.
40042 (pupa_dl_ref): Likewise.
40043 (pupa_dl_unref): Likewise.
40044 (pupa_dl_iterate): Likewise.
40045 (pupa_dl_init): Renamed to ...
40046 (pupa_dl_set_prefix): ... this.
40047 (pupa_dl_get_prefix): Declared.
40048
40049 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 40050 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 40051 unloaded.
40052 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
40053 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
40054
40055 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
40056 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
40057
012d7999 400582003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40059
40060 * util/i386/pc/pupa-setup.c (setup): Define the internal
40061 function find_first_partition_start at the top level, because GCC
40062 3.0.x cannot compile internal functions in deeper scopes
40063 correctly.
40064 (find_root_device): Use lstat instead of stat.
40065 Don't follow symbolic links.
40066 Fix the path-constructing code.
40067
40068 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
40069 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
40070 by a BLKGETSIZE ioctl first, because block devices don't fill
40071 the member st_mode of the structure stat on Linux.
40072 [__linux__] (linux_find_partition): Use a temporary buffer
40073 REAL_DEV for the working space. Copy it to DEV before returning.
40074 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
40075 buffer cache consistent.
40076 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
40077 strncmp. The previous value was merely wrong.
40078 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
40079
40080 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
40081 FAT size is 12. The previous value was merely wrong.
40082
40083 * kern/main.c (pupa_main): Don't split the starting message from
40084 newlines.
40085
40086 * kern/term.c (pupa_putchar): Put CR after LF instead of before
40087 LF, because BIOS goes crazy about character attributes in this
40088 case.
40089
1cc73a62 400902003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
40091
40092 * include/i386/pc/util/biosdisk.h: New file.
40093 * util/i386/pc/biosdisk.c: Likewise.
40094 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 40095
1cc73a62 40096 * Makefile.in (INCLUDE_DISTFILES): Added
40097 include/pupa/i386/pc/util/biosdisk.h.
40098 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
40099 directory util/i386/pc.
40100 (install-local): Added a rule for sbin_UTILITIES.
40101 (uninstall): Likewise.
40102
40103 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
40104
40105 * util/misc.c (xrealloc): New function.
40106 (pupa_malloc): Likewise.
40107 (pupa_free): Likewise.
40108 (pupa_realloc): Likewise.
40109 (pupa_stop): Likewise.
40110 (pupa_putchar): Likewise.
40111
40112 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
40113
40114 * include/pupa/util/misc.h (xrealloc): Declared.
40115
40116 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
40117 macro.
40118 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
40119 (PUPA_BOOT_MACHINE_BPB_END): ... this.
40120
40121 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
40122 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40123
40124 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
40125 way should be implemented.
40126 [PUPA_UTIL] (pupa_fat_fini): Likewise.
40127
40128 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
40129 the size of NAME for safety.
40130 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
40131 0x88.
40132
40133 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
40134 (pupa_setup_SOURCES): Likewise.
40135
40136 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
40137
08b70fe8 401382002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40139
40140 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
40141 bunch of pushl's from pusha, because this destroys the return
40142 value.
40143
62ddcc8f 401442002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
40145
40146 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
40147 This means that any missing prototypes could be fatal. Also, you
40148 must take care when writing assembly code. See the comments at
40149 the beginning of startup.S, for more details.
f19dbdb7 40150
62ddcc8f 40151 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
40152 compilation mechanism.
40153 (pupa_chainloader_real_boot): Likewise.
40154 (pupa_biosdisk_rw_int13_extensions): Likewise.
40155 (pupa_biosdisk_rw_standard): Likewise.
40156 (pupa_biosdisk_check_int13_extensions): Likewise.
40157 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
40158 (pupa_biosdisk_get_diskinfo_standard): Likewise.
40159 (pupa_get_memsize): Likewise.
40160 (pupa_get_mmap_entry): Likewise.
40161 (pupa_console_putchar): Likewise.
40162 (pupa_console_setcursor): Likewise.
40163 (pupa_getrtsecs): Use pushl instead of push.
40164
40165 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
40166 memory instead of the stack for a mmap entry, because some
40167 BIOSes may ignore the maximum size and overflow.
40168
40169 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
40170
40171 * genmk.rb (PModule#rule): Compile automatically generated
40172 sources with module-specific CFLAGS as well as other sources.
40173
9962ed99 401742002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40175
40176 * configure.ac: Check ld.
40177 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
40178 respectively, before checking endianness and sizes.
40179
40180 * Makefile.in (LD): New variable.
f19dbdb7 40181
abdfc3c5 401822002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40183
40184 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
40185
6a161fa9 401862002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
40187
40188 * Changelog: New file.
40189